Я установил через синаптический пакет 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".