Answers:
这些不是您唯一的选择。在Ubuntu / Debian上,Apache还处理其中的所有文件/etc/apache2/sites-enabled/
(应该是sites-available/
目录中文件的符号链接,由a2ensite
和a2dissite
程序管理)
您打算将这些目录用于VirtualHost
。
apache2.conf包含httpd.conf:
a@test$:/etc/apache2$ cat apache2.conf | grep httpd.conf
Include /etc/apache2/httpd.conf
我认为不建议使用httpd.conf,但只留在那里供保守派人士使用,以使他们发现自己处于困境... :)
编辑:
阅读Rob的答案后,我做了一个更好的grep:
a@test:/etc/apache2$ grep -C 1 httpd.conf apache2.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
用户配置是...
Apache Software Foundation发布了许多软件,其中之一是名为的Web服务器httpd
。httpd项目源代码包括一个httpd.conf
示例配置文件,该文件默认安装在/usr/local/etc/httpd
或中/etc/httpd
。在大多数系统上,您会发现httpd这样命名。
但是,很久很久以前,Debian GNU / Linux发行版中的某人决定将发行版中的软件名称从httpd
更改为apache2
。因此,在Debian系统上,您会在名为apache2.conf
的目录中找到名为的配置文件/etc/apache2
。我不知道是谁做的,还是为什么做的,但是与调用Windows“ Microsoft”或ESXi“ VMware”相比,这是一个长期的困惑源。基于Debian的发行版(例如Ubuntu)继承了这种奇怪之处。更奇怪的是,他们则包括文件/etc/apache2/httpd.conf
被Include
从D apache2.conf
到哪些用户可以将自定义配置。
因此,答案是,如果您使用的是基于Debian的系统,则您会全神贯注地按照Debian希望您的方式进行操作。否则,您通常会像上游httpd项目那样以正常方式进行操作。
阿帕奇2.4
使用:
将所有自定义配置放在 /etc/apache2/conf-available/{name}.conf
使用sudo a2enconf {name}
或启用/禁用您的配置sudo a2disconf {name}
。
(然后重新启动apache2服务。)
不要使用:
httpd.conf
已弃用,并且您不应再看到它-如果这样做,请在安装后将其保留为空。
apache2.conf
仍然安装,但是如果您希望干净/轻松地升级Apache,请不要理会它。
--
您可以按照上述自定义配置在“全局” Apache配置中看到或添加的任何内容。
如果apache2.conf
不为空,并且httpd.conf
为空,则可能应使用apache2.conf
;-)
但是我想其中一个包含另一个(并且纯粹出于向后兼容的原因保留其中一个) -因此,它应该不会有太大变化。
但是,如果您想添加一些内容,例如新建一个VirtualHost
:是否还有另一个子目录可以放入文件并将其包含在其中?
这可能是一个更好的解决方案:您不会修改默认文件-这样可以简化更新。
要查找配置文件的名称和位置,您必须:
1)在过程调用时进行搜索,在这种情况下,请使用apache用户:
ps -ef | grep apache
(在这个例子中,返回:httpd
)
2)显示二进制使用的变量:
httpd -V | grep 'HTTPD_ROOT' && httpd -V | grep 'SERVER_CONFIG_FILE'
摘录和屏幕截图位于:http : //www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html