Я безуспешно пытаюсь настроить Apache2.2 с помощью mod_fcgid и libapache2-mod-perl2.
Я создал fcgi-bin
в корневом каталоге моего веб-сайта и поместите туда test.fcgi
файл со следующим содержанием:
#!/usr/bin/perl
use CGI;
print "This is test.fcgi!\n";
При попытке получить к нему доступ через http://www.website.dom/fcgi-bin/test.fcgi
Я получаю ошибку 500 (внутренняя ошибка сервера).
Вот мой конфигурация vhost:
<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
Журнал ошибок Apache:
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
) все нормально работает без ошибок ...
Мы будем очень благодарны за любые предложения о том, как решить эту проблему.
Спасибо!
Проблема заключалась в том, что мне пришлось установить модуль Perl для FastCGI с помощью следующей команды:
perl -MCPAN -e 'install FCGI'