2014-09-05 2 views
0

Я под Apache 2.4.7 и Ubuntu 14.04.ModPerl :: Registry - Не удается запустить скрипт Perl CGI

Я пытаюсь запустить следующий базовый скрипт perl (/home/fred/workspace/portfolio/cgi/fred.pl) под ModPerl::Registry, но он не будет выполнен (браузер рассматривает его как файл для загрузки, не сценарий Perl)

#!/usr/bin/perl 

print "Content-type: text/html\n\n"; 
print "Hi Fred !"; 

Это мои виртуальные конфигурации хоста:

<VirtualHost 127.0.0.1:80> 
     ServerAdmin [email protected] 
     DocumentRoot /home/fred/workspace/portfolio/html 

AddHandler perl-script .cgi .pl 
PerlModule ModPerl::Registry 
Alias//home/fred/workspace/portfolio/cgi/ 
<Location /> 
     SetHandler perl-script 
     PerlHandler ModPerl::Registry 
     Require all granted 
     Options +ExecCGI 
</Location> 

ранее я бег

sudo a2enmod cgi 

, который на самом деле включен cgid (мой apache нарезается резьбой), отлично.

, когда я печатаю 127.0.0.1/fred.pl, не исполнение (fred.pl имеет права 777)

Любая идея?

Благодаря

+0

Вы проверили журнал ошибок? –

+0

Да, ничего неправильного в error.log. У этого есть в access.log: 127.0.0.1 - - [05/Sep/2014: 14: 58: 06 +0200] "GET /fred.pl HTTP/1.1" 200 249 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv: 32.0) Gecko/20100101 Firefox/32.0 " –

+1

Помогает ли я сказать, что curl http: //localhost/fred.pl работает? –

ответ

0

Первое, что я бы проверить, что у вас есть правильный апачский конфигурационный файл. (Простой способ проверить: поставить синтаксическую ошибку и посмотреть, не жалуется ли она при перезапуске сервера.)

Если это нужный файл, у вас возникла проблема с вашими конфигурационными директивами. Трудно отладить их, не видя весь файл. Вы можете попробовать начать с очень простой секции конфигурации, такой как here.

Я бы, вероятно, отключил cgid, пока вы не добьетесь этого.

+0

ОК спасибо, я попробую. –

0

Fist, PerlHandler handler - mod_perl1 директива. mod_perl2 имеет PerlResponseHandler обработчик альтернатива.

Так следующие права:

PerlResponseHandler ModPerl::Registry 

И вы нагрузить mod_perl.so? При использовании Ubuntu, введите:

sudo a2enmod perl 

или написать подходящую LoadModule строку и перезапустите сервер.

Возможно, есть и другие проблемы. Однако у меня недостаточно информации.

В заключение я советую, чтобы mod_perl2 не поддерживал официальную поддержку Apache 2.4 сейчас (декабрь 2014 г.).

Смежные вопросы