题 如何列出启用Apache的模块?


是否有列出所有已启用的Apache模块的命令?


73
2018-02-04 11:59






答案:


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

apachectl -M

要么:

apachectl -t -D DUMP_MODULES 

或者在RHEL,CentoS,Fedora上:

httpd -M

有更多选择 man apachectl。所有这些答案都可以通过谷歌搜索找到。


107
2018-02-04 12:04



-M 也会工作。 - Andrew B
我喜欢这篇关于谷歌搜索的评论(通过谷歌找到这个答案) - Pawelmhm
使用server-info更难以通过谷歌找到并提供更多细节&&能够向没有shell访问权限的人提供信息访问权限(例如客户端,Web开发人员,项目经理......)


你也可以使用 服务器信息 从远程服务器获取信息

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

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


8
2017-10-04 11:42





您需要启用信息模块:

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

重启后:

http://localhost/server-info

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

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


6
2018-04-07 21:47



为什么不使用 a2enmod 命令启用{installed}模块,而不是手动“symlinking”它? - Flo-Schield-Bobby
是的a2enmod更正确。当我编辑配置时,我通常会保留文件,并且不会想到我很少使用的专业命令。 - rickfoosusa
好吧,无论如何,它在两个方面都有效,在2.4(也许早些时候也已经?)你也有 a2enconf 符号链接文件从“conf-available”目录到“conf-enabled”:) - Flo-Schield-Bobby


这也有效:

apache2ctl -M

1
2017-12-11 12:12