我如何查看完整的httpdconfiguration?

我试图找出什么是完整的httpd设置configuration。

所有的configuration文件分散在不同的文件(/etc/httpd/conf.d,httpd.conf,各种modconfiguration)

有没有办法列出最终的httpdconfiguration?
像在单个文件中的整个运行安assembly置?

正如arco444指出的那样,您可以使用apachectl -S来显示当前从configuration中运行的VirtualHosts的概况, apachectl -M显示所有当前加载的模块 – 我不知道显示所有详细输出的工具configsparsing(以及它们被parsing的顺序),但是我build议你熟悉一下httpdconfiguration文件一般结构

  • Apache 2.2 – httpdconfiguration文件的一般结构
  • Apache 2.4 – httpdconfiguration文件的一般结构

特别要注意你的问题:'main'apacheconfiguration文件位于/etc/httpd/conf/httpd.conf (位于第221行的区域,默认httpd安装来自CentOS 6中包含的Repos,我假设它你使用的是基于你的post标签),'补充'configuration文件位于/etc/httpd/conf.d并且需要明确包含在主configuration文件中。 例如,如果在httpd.conf文件中search术语' Include ',你会发现Include conf.d/*.conf .conf这一行, Include conf.d/*.conf子目录conf.d的扩展名为.conf所有文件 – 按字母顺序排列顺序,因此如果可能的话,您将希望熟悉configuration文件parsing的重要性。

另外,如果您使用的是基于shell的文本编辑器(如vim),我build议您默认启用行编号和语法突出显示,以便这样冗长的configuration文件更容易parsing和导航 – 在vim ,你可以在你的主目录中创build一个名为.vimrc的文件(或附加到现有的文件)并添加下面几行:

 set nu syntax on 

请为此使用mod_info: http ://httpd.apache.org/docs/2.2/mod/mod_info.html

唯一不好的一面是,如果你需要它来恢复一个已删除的configuration,而且还没有加载模块,它不会帮助你很多

由于BE77Y说这样的工具不存在,我做了一个python程序,将这些包含的文件组合成主要的configuration文件。 也删除了评论。

请检查程序在: http : //benincampus.blogspot.com/2015/10/show-complete-apache-config-file.html