有没有列出所有启用的Apache模块的命令?

#1 楼

要列出apache加载的模块,请使用:

apachectl -M


或:

apachectl -t -D DUMP_MODULES 


或在RHEL,CentoS,Fedora上:

httpd -M


更多选项man apachectl。所有这些答案都可以通过少量的Google搜索找到。

评论


-M也可以。

–安德鲁(Andrew B)
13年2月4日在12:07

我喜欢有关Google搜索的评论(通过Google找到了此答案)

– Pawelmhm
2013年9月25日19:41



服务器信息的使用更难通过Google找到,并且提供了更多的详细信息和&&的功能,使那些没有外壳访问权限的人(例如,客户,Web开发人员,项目经理等)可以访问信息。

–user130370
13年11月6日在12:44

Ubuntu 20.04上的man apachectl不包含此选项(或其他),但是该命令仍然有效。手册页在这里没有帮助

–Rory
20-11-18在12:15

#2 楼

您还可以使用server-info从远程服务器获取信息。

<Location /server-info>
   SetHandler server-info
   Order allow,deny
   Allow from 127.0.0.1 xxx.xxx.xxx.xxx
</Location>


您可以从http://your.host.example获取所有已启用的Apache模块的列表。 com / server-info?list

#3 楼

您需要启用信息模块:

sudo a2enmod info.load
sudo a2enmod info.conf
sudo service apache2 restart


重新启动后:

http://localhost/server-info


将提供一长串模块和配置信息。

要从远程服务器查看,可以更改/etc/apache2/mods-available/info.conf中的'Requires'选项,以允许远程服务器查看信息。

评论


为什么不使用a2enmod命令来启用{installed}模块,而不是手动“符号链接”它?

– Flo Schild
15年6月8日在8:37

是的,a2enmod更正确。当我编辑配置文件时,我通常会留在文件中,而不会想到我很少使用的特殊命令。

– rickfoosusa
2015年6月9日14:02

好的,无论如何它都能双向工作,在2.4中(也许还早一些?),您还可以使用a2enconf将文件从“ conf-available”目录符号链接到“ conf-enabled” :)

– Flo Schild
2015年6月9日14:19

#4 楼

这也适用:

apache2ctl -M


#5 楼

上面的答案已经过时,不再适用于我的现代Fedora Server 31/32和Apache 2.4。
这是做什么的:
httpd -t -D DUMP_MODULES

但是有一个警告,只有在以下情况下才可以使用:您已经正确配置了/etc/httpd/conf/httpd.conf,因此,如果您正在编辑LogLevel设置,则如果正在进行的编辑并且无效,则LogLevel将不起作用!