Apache 2.2->2.4 升级,cgi 不再起作用

Apache 2.2->2.4 升级,cgi 不再起作用

我正在运行 ArchLinux,最近将 Apache 从 2.2 升级到 2.4,并更新了我的配置(通过手动合并来自新默认配置文件的更改)。我之前运行的 CGI 脚本现在无法运行 - 我可以看到 CGI 脚本的源代码。该脚本是全球可执行的,而且 - 更确切地说 - 自从已知它可以正常工作以来,权限没有改变。

脚本所在的根文件夹在 httpd.conf 中启用了 CGI:

DocumentRoot "/srv/http"
<Directory "/srv/http">
    Options Indexes FollowSymLinks ExecCGI Includes

MIME 设置的 .cgi 配置如下:

<IfModule mime_module>
    AddHandler cgi-script .cgi

并且 mime_module 正在被加载。

如何让我的 CGI 脚本再次运行?

答案1

你看过了吗http://httpd.apache.org/docs/2.4/upgrading.html

当我前段时间做同样的事情时,我发现对我来说主要的变化是访问控制,例如:

在此示例中,所有请求都被允许。

2.2配置:

    Order allow,deny
    Allow from all

2.4配置:

    Require all granted

您可能会发现您可以在配置文件中更改此类访问控制。

答案2

显然,当我合并配置时,我设法禁用了 mod_cgi。取消注释以下行:

LoadModule cgid_module modules/mod_cgid.so

成功了。

相关内容