上次,我询问了这些(在/etc/sudoers中)的风险:
user_name ALL=(ALL) /usr/bin/vim /etc/httpd/confs/httpd.conf
%group_name ALL=(ALL) /usr/bin/vim /etc/httpd/confs/httpd.conf
Run Code Online (Sandbox Code Playgroud)
在思考这个问题的时候,我找到了/etc/sudoers.d目录。目录下的文件应该和/etc/sudoers有类似的功能(也就是说上面的脚本在/etc/sudoers.d里还是有问题的),但是有一篇文章说我们不应该使用这个目录,因为我们不能用它visudo来编辑文件它。也就是说,sudo如果我们在目录中出错,我们将失去使用权。
如果这是真的,为什么我们有/etc/sudoers.d?或者我们有没有好的方法来编辑/etc/sudoers.d 中的文件?
我将 OS X El Capitan 与配置为允许我通过 VPN 访问我的家庭网络的服务器(应用程序)一起使用。不幸的是,服务器应用程序已经决定开始一堆的httpd进程,现在被监听端口80,443和其他人,即使在服务器设置网站为OFF,没有服务应该在这些端口上启动。
我不想或不需要这些服务处于活动状态,并希望 httpd 被关闭(或不开始)。不幸的是,我既不能杀死这些进程(它们只是立即重新启动),也不能通过launchctl控制它们。
sudo lsof -i :80
httpd 422 root 5u IPv6 0x7... 0t0 TCP *:http (LISTEN)
httpd 425 _www 5u IPv6 0x7... 0t0 TCP *:http (LISTEN)
ps u 422
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 422 0.0 0.0 2457156 6136 ?? Ss 5:55PM 0:00.07 /usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf -E /private/var/log
Run Code Online (Sandbox Code Playgroud)
尝试时:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist …Run Code Online (Sandbox Code Playgroud) 我有几个httpd在我的 Mac上运行的实例。不需要运行网络服务器,想全部结束它们,因为它们加起来大约有 100mb 的不必要的 RAM。设置它们运行的配置是什么?我怎样才能禁用它?
我正在查看安装了 webframework 的 CentOS 6.5 服务器,多年来,该服务器已被许多人添加。/conf 中有 5 个活动的 .conf 文件,包括 httpd.conf。
在 httpd.conf 中包含读取
Include conf.d/*.conf
Run Code Online (Sandbox Code Playgroud)
并抓取该目录中的所有文件,但没有应用我所知道的任何特定顺序,那么 /conf(无 .d)目录呢?
是否有说明加载顺序的设置还是它们只是从 az 中获取的?
我不是服务器管理员,我是开发人员,问题在于将文件上传到 /Temp 目录的路径,在那里我检查了指定的路径对于我自己关心的文件是否正确。
所以,第一个问题是:
Apache 是否从 /conf加载所有内容,或者是否在某处指定了列表?
第二个问题是:
Apache 按字母顺序加载文件的顺序是什么?
最后:
是否包含不以.conf结尾的文件?例如,如果我将某些内容命名为 myconfig.conf.old,Apache 会跳过它吗?
我通过在 VMware 中创建 Web 服务器来学习服务器安装,我不知道我对httpd.conf.
有没有办法将所有配置重置为httpd.conf默认值?
使用的命令:
vi /etc/httpd/conf/httpd.confServerName为localhostservice httpd restartchkconfig httpd onservice httpd restart如果我有:
redirect 301 /users/foo http://www.example.com/profiles/foo
redirect 301 /users/bar http://www.example.com/profiles/bar
Run Code Online (Sandbox Code Playgroud)
我可以做类似的事情吗?
redirect 301 ^\/users/(.+)$ http://www.example.com/profiles/$1
Run Code Online (Sandbox Code Playgroud)
找到了解决办法:
RedirectMatch users/(.+) http://www.exapmles.com/profiles/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
这实际上是重定向而不是重写。
请参阅@Darth Android 的解决方案,RewriteEngine该解决方案也同样适用:)
我正在做一些应用程序监控,我的要求是查看 Apache Web 服务器和 Apache HTTPD 的区别。我知道 Apache Web Server 是一个“服务器”,而 Apache httpd 是一个“程序”。
我需要在 Linux 上运行两者。两者的可执行文件名或完整命令行或包名有什么不同吗?
部署方式有什么不同吗?
我在网上搜索过,但到处都可以互换使用 Apache Web 服务器和 HTTPD。
升级到 Yosemite 后,我的 Mac 网络服务器将无法工作。当我输入apachectl终端时,我得到这个:
httpd: Syntax error on line 527 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _unixd_config\n Referenced from: /usr/local/php5/libphp5.so\n Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so
Run Code Online (Sandbox Code Playgroud)
如果我输入sudo apachectl [re]start什么都没有发生,就好像它已经启动,然后我再次输入它,它说它已经在运行。此外,我安装了 Web 共享首选项窗格(http://clickontyler.com/web-sharing/),当我将开关从关闭轻弹到开启时,它仍然说它已关闭,即使开关处于开启位置.
你们想要/需要查看哪些文件?真的需要尽快解决这个问题。
我想在我的 Apache 配置文件 - httpd.conf 中换行。是否可以?如果是,表示这种换行符的特殊字符是什么?
到目前为止,我尝试使用反斜杠,在检查 configtest 时总是导致“无效的命令错误”。
我正在尝试在 RHEL 7 上启动 httpd 服务。
当我运行时systemctl start httpd,它失败了。
这是 的输出journalctl -xe。httpd 没有明显的错误消息,polkitd 的错误会影响 apache 吗?我将如何解决这些问题?
Jun 10 10:59:50 localhost.localdomain polkitd[850]: Registered Authentication Agent for unix-process:4462:116143 (system bus name :1.57 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Jun 10 10:59:50 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
-- Subject: Unit httpd.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has begun starting up.
Jun 10 10:59:50 localhost.localdomain systemd[1]: httpd.service: …Run Code Online (Sandbox Code Playgroud) 当我进入时在 centos
service httpd start 或者 restart
服务器给
Starting httpd: httpd: bad user name apache
[FAILED]
Run Code Online (Sandbox Code Playgroud)
我尝试添加 apache 用户和组,重新安装 httpd 很多次,但它也不起作用。
在 MAMP PRO (os x lion) 中添加本地虚拟主机后,一切正常。出于好奇,我查看了放置在 MAMP/conf/apache/extra 中的 httpd-vhosts.conf 文件,令我惊讶的是,这就是我所能看到的:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/Applications/MAMP/Library/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/Applications/MAMP/Library/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
它没有将我的虚拟主机添加到文件中,我什至没有看到 localhost 的路径(但它有效!)这是否与 MAMP 使用 httpd.conf 模板的事实有关?关于我的虚拟主机的信息存储在哪里?我可以手动添加虚拟主机吗?
如何配置 apache 来记录请求 URL 中与特定正则表达式模式匹配的请求?