我正在尝试使用 mod_fcgid 和 libapache2-mod-perl2 设置 Apache2.2,但没有成功。
我在fcgi-bin
网站的根目录中创建了一个目录,并在其中放置了一个test.fcgi
包含以下内容的文件:
#!/usr/bin/perl
use CGI;
print "This is test.fcgi!\n";
尝试通过http://www.website.dom/fcgi-bin/test.fcgi
我访问它时收到错误 500(内部服务器错误)。
这是我的虚拟主机配置:
<VirtualHost 95.131.29.226:8080>
ServerName website.com
DocumentRoot /var/www/data/website.com
SuexecUserGroup user group
ServerAlias www.website.com
AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
<Directory "/var/www/data/website.com/fcgi-bin/">
Options +ExecCGI
Allow from all
Order allow,deny
AddHandler fcgid-script .fcgi
</Directory>
</VirtualHost>
fcgid.conf:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
SocketPath /var/lib/apache2/fcgid/sock
IdleTimeout 3600
ProcessLifeTime 7200
MaxProcessCount 8
DefaultMaxClassProcessCount 2
IPCConnectTimeout 8
IPCCommTimeout 60
</IfModule>
SuExec 日志:
[2010-04-06 03:02:47]: uid: (500/equ) gid: (502/equ) cmd: test.fcgi
阿帕奇错误日志:
test!
test!
[Tue Apr 06 03:02:51 2010] [notice] mod_fcgid: process /var/www/data/website.com/fcgi-bin/test.fcgi(26267) exit(communication error), terminated by calling exit(), return code: 0
[Tue Apr 06 03:02:53 2010] [notice] mod_fcgid: process /var/www/data/website.com/fcgi-bin/test.fcgi(26261) exit(server exited), terminated by calling exit(), return code: 0
我不知道为什么会收到错误 500,但是当我尝试使用控制台($ perl /var/www/data/website.com/fcgin-bin/test.fcgi
)访问此文件时,一切正常,没有任何错误...
任何有关如何解决此问题的建议将不胜感激。
谢谢!
问题是我必须使用以下命令为 FastCGI 安装 Perl 模块: