ModPerl::Registry - Не удается запустить Perl-скрипт CGI

Я нахожусь под Apache 2.4.7 и Ubuntu 14.04.

Я пытаюсь запустить следующий базовый скрипт на 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 webmaster@localhost
        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)

Любая идея?

Спасибо

3 ответа

В ваш файл httpd.conf вам нужно добавить следующую строку

      LoadModule cgid_module modules/mod_cgid.so

Это позволяет выполнять сценарии CGI на сервере apache httpd.

Вам также необходимо добавить следующую строку perl разрешения на выполнение CGI.

      PerlSwitches -w

Кулак, PerlHandler обработчик - это директива mod_perl1. mod_perl2 имеет PerlResponseHandler Альтернатива обработчика.

Так что следующее правильно:

PerlResponseHandler ModPerl::Registry

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

sudo a2enmod perl

или напишите подходящий LoadModule линия и перезагрузите сервер.

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

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

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

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

Я бы, наверное, отключил cgid, пока вы не получите эту работу.

Другие вопросы по тегам