Назад | Перейти на главную страницу

Установите mod_perl2 на Apache 2.2.14 (Ubuntu 10.04)

Я установил через синаптический пакет ibapache2-mod-perl2. Я пробовал эту строку в httpd.conf: "LoadModule perl_module modules/mod_perl.so«Apache сообщает мне, когда я перезагружаю сервер:»[warn] module perl_module is already loaded, skipping". Хорошо, но когда я пытаюсь посмотреть в браузере репертуар, у меня нет доступа. Apache отправляет мне сообщение об ошибке:

Forbidden
You don't have permission to access /cgi-bin/ on this server.
Apache/2.2.14 (Ubuntu) Server at 192.168.0.10 Port 90

Но это должно показать, что modperl установлен, а это не так ...

Я бы хотел, чтобы мой виртуальный хост работал с mod_perl2

<VirtualHost v1:80>
    ServerAdmin webmaster@localhost
    ServerName v1

    DocumentRoot /var/www/v1
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/v1/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /var/www/v1/cgi-bin/
    <Directory "/var/www/v1/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

Я хотел бы знать, как настроить mod_perl2. Нужно ли мне что-то изменить в файле конфигурации apache, чтобы мой репертуар cgi работал с mod_perl2? Спасибо любой помощи!

Похоже, ваша проблема связана с разрешениями пользователей. УБЕДИТЕСЬ, что сценарии, которые вы пытаетесь запустить как сценарии CGI, ВЫПОЛНЯЮТСЯ всеми пользователями или пользователями, которые должны их выполнять, т.е.

chmod a+x /var/www/v1/cgi-bin/test.pl

Важно понимать, что сценарии, которые вы хотите запустить, должны иметь установленный бит разрешения «x» вместе с «r» (чтение).

Нужно ли мне что-то изменить в файле конфигурации apache, чтобы мой репертуар cgi работал с mod_perl2?

mod_perl2 работает хорошо. Apache не может вызывать каталог как скрипт.

Чтобы протестировать создание (/var/www/v1/cgi-bin/test.pl):

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Test";

И попробуйте "/cgi-bin/test.pl".