如何让 apache 运行 ./www 下的所有目录中的 cgi 文件?

如何让 apache 运行 ./www 下的所有目录中的 cgi 文件?

我的朋友和我正在开发一个艺术网站,我们的一个脚本在 ./www 的大多数上层目录中运行良好,但是一旦我们进入 ./www/testing/project2/cgi-bin/.. cgi 文件似乎只返回 500 个错误。完全相同的脚本在目录的上层目录中运行良好。有什么方法可以诱使 apache 让我们在这些下层目录中运行这个 cgi 文件吗?

答案1

Ubuntu 中的默认 apache2 配置将仅对主目录 (cgi-bin) 下的特定目录启用 ExecCGI 选项。不过,您可以将此选项添加到您喜欢的任何目录,包括主目录。

找到该站点的 Apache 配置。查找相关<Directory>部分,该部分可能位于您的某个虚拟主机配置文件中,或者如果是站点范围的,则位于 中/etc/apache2/sites-available/default。您可以在此处编辑它,也可以将新配置放入 下的单独文件中/etc/apache2/conf.d/

您需要添加ExecCGI到您的Options指令(或创建一个添加的新Options参数+ExecCGI)。

编辑现有选项指令的示例:

<Directory /usr/home/joe/www>
    Options Indexes FollowSymLinks Includes ExecCGI
    Order allow,deny
    Allow from all
</Directory>

为目录创建新的 Options 指令以覆盖 Apache 范围的默认指令的示例:

<Directory /usr/home/joe/www>
    Options +ExecCGI
</Directory>

相关内容