Я пытаюсь добавить AWStats на свой рабочий сайт Apache. Но когда я перехожу к своему сценарию perl, он терпит неудачу:
http://localhost/awstats/awstats.pl?config=my.domain.here
Я получаю эту ошибку 500 в браузере:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
У меня есть следующие записи журнала ошибок
[Mon Feb 01 19:59:48 2010] [error] [client 127.0.0.1] (OS 2)The system cannot find the file specified. : couldn't create child process: 720002: awstats.pl
[Mon Feb 01 19:59:48 2010] [error] [client 127.0.0.1] (OS 2)The system cannot find the file specified. : couldn't spawn child process: C:/Program Files/AWStats/wwwroot/cgi-bin/awstats.pl
Я подумал, что это может быть из-за того, что cgi не включен, поэтому я добавил это в свой файл конфигурации:
ScriptAlias /cgi-bin/ "C:/Program Files/AWStats/wwwroot/cgi-bin/"
<Directory "C:/Program Files/AWStats/wwwroot/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Но это, похоже, не помогло. Обратите внимание, что AWStats вставила следующее в конец файла конфигурации:
Alias /awstatsclasses "C:/Program Files/AWStats/wwwroot/classes/"
Alias /awstatscss "C:/Program Files/AWStats/wwwroot/css/"
Alias /awstatsicons "C:/Program Files/AWStats/wwwroot/icon/"
ScriptAlias /awstats/ "C:/Program Files/AWStats/wwwroot/cgi-bin/"
Обратите внимание, что localhost, похоже, переходит к моей первой виртуальной записи:
<VirtualHost *:80>
DocumentRoot "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\myDomain"
ServerName my.domain.here
Redirect /index.html http://my.domain.here/myDirectory
Пожалуйста, подскажите, что может пойти не так.
Спасибо.
Чтобы это заработало, мне пришлось сделать следующие дополнительные вещи:
1) Активируйте CGI, добавив в мой файл Apache httpd.conf следующие параметры:
Options ExecCGI
AddHandler cgi-script .cgi .pl
2) Отредактируйте мои сценарии Perl, чтобы заменить расположение по умолчанию #! / Usr / bin / perl на расположение для моей установки perl для Windows: #! C: /Perl/bin/perl.exe
Тогда это сработало!
У вас установлен Perl? Насколько мне известно ActivePerl тот, который все используют.