“Webserver正在提取而不是执行CGI文件”当试图运行Bugzilla时

时间:2013-03-04 10:17:26

标签: webserver cgi bugzilla bitnami

免责声明:我知道这些问题听起来很蹩脚。但我不是 n00b 我做了我所知的任何事情,我可以找到帮助。我已经在论坛上搜索了这个并尝试了所有修复,但没有一个帮助我这个问题。

我访问过的帖子

现在有了

我的确切问题

我已经在bitnamil lampstack上安装了bugzilla。 lampstack已经有两个其他应用程序启动并成功运行。在我尝试访问页面后安装bugzilla后,我可以在borwser上看到我的整个perl脚本。 运行它自己的服务器检查会显示以下内容

  

TEST-OK Webserver在$ webservergroup中的组ID下运行。

     

TEST-OK获得了挂锁图片。

     

TEST-FAILED Webserver正在获取而不是执行CGI文件。

我在设置中所做的工作

  1. bugzilla.conf文件(在httpd.conf中被拉入)有     启用以下设置

    > AddHandler cgi-script .cgi .pl
    >
    >    Options +MultiViews +ExecCGI
    >
    >    DirectoryIndex index.cgi
    >
    >    AllowOverride All
    
  2. 我的httpd.conf文件中已启用“AddHandler cgi-script .cgi .pl”。

  3. 我没有为httpd.conf中的所有目录单独启用+ ExecCGI,但即使这样也无法解决问题
  4. 我在这里做错了什么?

3 个答案:

答案 0 :(得分:2)

你的bugzilla.conf中应该有一个目录块,如下所示:

<Directory "/usr/local/apache2/htdocs/bugzilla">
    AddHandler cgi-script .cgi
    Options +ExecCGI +FollowSymLinks
    DirectoryIndex index.cgi index.html
    AllowOverride Limit FileInfo Indexes Options
    AddType application/vnd.mozilla.xul+xml .xul
    AddType application/rdf+xml .rdf
</Directory>

我相信你不希望.pl被'处理'。拥有All for AllowOverride是一个安全问题。 FollowSymLinks之一是因为我的htdocs中的bugzilla目录是系统中其他地方的符号链接。

你运行了checksetup.pl吗?它应该已经为您调整了所有权限,但请检查您的Web服务器运行的组是否具有读取和执行权限。

答案 1 :(得分:1)

我在下载CGI文件的另一个包中遇到了类似的问题,而不是在服务器上执行它们。我的问题的答案是在Ubuntu服务器14.04上,apache上的模块CGI被禁用。 修复:

sudo a2enmod cgi 

sudo service apache2 restart

在Ubuntu上检查模块是否已加载:

apache2ctl -M | grep cgi
 cgi_module (shared)

答案 2 :(得分:1)

yellavon的回答解决了我的问题: cgi script is not executing

这是他答案的副本:

确保在httpd.conf文件中加载CGI模块: LoadModule cgi_module modules/mod_cgi.soLoadModule cgi_module modules/mod_cgid.so,具体取决于您运行的Apache版本。 您还可以阅读有关使用CGI的动态内容的其他解决方案。