免责声明:我知道这些问题听起来很蹩脚。但我不是 n00b 我做了我所知的任何事情,我可以找到帮助。我已经在论坛上搜索了这个并尝试了所有修复,但没有一个帮助我这个问题。
我访问过的帖子
现在有了
我的确切问题
我已经在bitnamil lampstack上安装了bugzilla。 lampstack已经有两个其他应用程序启动并成功运行。在我尝试访问页面后安装bugzilla后,我可以在borwser上看到我的整个perl脚本。 运行它自己的服务器检查会显示以下内容
TEST-OK Webserver在$ webservergroup中的组ID下运行。
TEST-OK获得了挂锁图片。
TEST-FAILED Webserver正在获取而不是执行CGI文件。
我在设置中所做的工作
bugzilla.conf文件(在httpd.conf中被拉入)有 启用以下设置
> AddHandler cgi-script .cgi .pl
>
> Options +MultiViews +ExecCGI
>
> DirectoryIndex index.cgi
>
> AllowOverride All
我的httpd.conf文件中已启用“AddHandler cgi-script .cgi .pl”。
我在这里做错了什么?
答案 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)
这是他答案的副本:
确保在httpd.conf文件中加载CGI模块:
LoadModule cgi_module modules/mod_cgi.so
或LoadModule cgi_module modules/mod_cgid.so
,具体取决于您运行的Apache版本。
您还可以阅读有关使用CGI的动态内容的其他解决方案。