我在许多服务器上运行各种版本的apache 2.2.15和2.4(.6和.7)(一些ubuntu一些centos)具有相似的配置(处理2.4和2.2差异),但是每个不同的网站。
我有一个脚本使用apachectl -t -D DUMP_VHOSTS来获取在特定服务器上配置的虚拟主机的列表,它可以很好地为我提供一个虚拟主机列表,我的脚本很乐意处理与输出2.2和2.4
但是,我需要在脚本的输出中包含别名。在互联网上搜索告诉我,上面应该列出每个虚拟主机下的别名。它不在我的任何服务器上。 https://bz.apache.org/bugzilla/show_bug.cgi?id=51680甚至表示它已包含在2.4.1的主要来源中。 https://ma.ttias.be/apachectl-linux-get-entire-apache-vhost-configuration-one-output/显示带有别名的2.2输出
谁能告诉我如何使这项工作?
由于
编辑: -
ezra-s询问了我所看到的一个例子,这是典型的,来自Ubuntu 14运行2.4.7/var/www/html$ apachectl -t -D DUMP_VHOSTS VirtualHost configuration: *:80 <host>.simon.uk (/etc/apache2/sites-enabled/simon.uk.conf:1) *:8080 <host>.simon.uk (/etc/apache2/sites-enabled/simon.uk.conf:42) *:443 ubuntu.<domain removed> (/etc/apache2/sites-enabled/ssl_proxy.conf:12)
正如评论中所提到的,我在apache源中将输出跟踪到server/vhost.c:dump_a_vhost()
。在没有定义aliases
的情况下,代码最终显示上述摘要,而不是NameVirtualHosts
的详细输出。猜猜看,它们在2.4中被折旧了,所以不能再定义了。