Answers:
您是否加载了mod_cgi模块?您可以查看目录/ etc / apache2 / mods-enabled /是否具有符号链接cgi.load
。如果没有这样的符号链接,则可以通过运行来创建它
sudo a2enmod cgi
然后重新启动Apache:
sudo service apache2 restart
您可以运行man a2enmod
以查看a2enmod
功能。
在安装apache 2.4时,我要解决很多问题,并且在显示文本而不是运行cgi方面也遇到了同样的问题。解决方案与上述不同,这是针对Apache 2.2的解决方案
首先,您将下载2.4 gz文件并解压缩。如果尝试编译,它将抱怨找不到APR,因为不再包含它。您需要从apache下载apr和apr-util文件,并将它们解压缩到将apache编译到名为srclib的子目录中的目录中,因此您的路径将是./httpd/srclib/apr和./httpd/srclib/apr -util。您还必须从目录名称中删除所有版本号。
cd到/ path / httpd目录并使用
$ ./configure --with-included-apr
您的配置将默认为PREFIX = / usr / local / apache2
$使
$进行安装
$ vi PREFIX / conf / httpd.conf
您将需要编辑httpd.conf文件,以使cgi可以运行
就我而言,我执行了以下操作:
将监听80更改为监听127.0.0.1:80
激活以下行:LoadModule cgid_module modules / mod_cgid.so
将SeverName更改为:ServerName 127.0.0.1:80
更改了DocumentRoot和Directory中的路径以适合我的系统
更改了ScriptAlias中的路径
启用Scriptsock cgisock行
在ScriptAlias之后更改Directory中的路径以适合我的系统
启用行AddHandler cgi-script .cgi
保存更改并通过以下命令开始使用Apache:
$ / usr / local / apache2 / bin / apachectl -k开始
希望这可以帮助任何为此苦苦挣扎的人;)