Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как установить модуль Apache::Registry к Perl?  (Прочитано 2824 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tеma

  • Автор темы
  • Активист
  • *
  • Сообщений: 306
    • Просмотр профиля
Вобщем, поставил я себе на комп lamp. Появилась необходимость использовать perl скрипты. Поставил mod_perl, в файл httpd.conf занёс следующие строки:
<Files ~ "\.pl$">
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
</Files>
Как результат, при попытке открыть localhost/index.pl появляется ошибка 500. Когда выполняю tail /var/log/apache2/error.log у меня появляются следующие результаты:
[Wed Jul 24 10:16:00 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Wed Jul 24 10:16:04 2013] [error] [client 127.0.0.1] failed to resolve handler `Apache::Registry': Can't locate Apache/Registry.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . /etc/apache2) at (eval 2) line 2.\n
[Wed Jul 24 10:16:04 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Wed Jul 24 10:16:05 2013] [error] [client 127.0.0.1] failed to resolve handler `Apache::Registry': Can't locate Apache/Registry.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . /etc/apache2) at (eval 2) line 2.\n
[Wed Jul 24 10:16:05 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Wed Jul 24 10:16:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/index.hp
[Wed Jul 24 10:16:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Wed Jul 24 10:16:21 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Wed Jul 24 10:35:15 2013] [error] [client 127.0.0.1] failed to resolve handler `Apache::Registry': Can't locate Apache/Registry.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . /etc/apache2) at (eval 2) line 2.\n
[Wed Jul 24 10:35:15 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
Если я правильно понял, то не хватает модуля Apache::Registry. Подскажите пожалуйста, как его установить?

P.S. lamp я ставил вот такой командой:
sudo apt-get install lamp-server^

Оффлайн andrew_bye

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2698
    • Просмотр профиля
Re: Как установить модуль Apache::Registry к Perl?
« Ответ #1 : 24 Июля 2013, 16:02:59 »
Попробуй для начала установить пакет libapache2-mod-perl2

Оффлайн tеma

  • Автор темы
  • Активист
  • *
  • Сообщений: 306
    • Просмотр профиля
Re: Как установить модуль Apache::Registry к Perl?
« Ответ #2 : 24 Июля 2013, 17:09:36 »
andrew_bye, он уже установлен.

Оффлайн andrew_bye

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2698
    • Просмотр профиля

Оффлайн tеma

  • Автор темы
  • Активист
  • *
  • Сообщений: 306
    • Просмотр профиля
Re: Как установить модуль Apache::Registry к Perl?
« Ответ #4 : 24 Июля 2013, 20:10:27 »
andrew_bye, файла .htaccess нет. Perl я включал по совету на каком-то сайте добавлением в httpd.conf строк:
<Files ~ "\.pl$">
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
</Files>
Это единственное, что я менял. Соответственно, при замене Apache::Registry на ModPerl::Registry файлы *.pl просто предлагается сохранить. ModPerl::Registry я до этого поставил через cpan. Пытался и Apache::Registry так поставить, ничего не получилось. Может я что-то неверно делаю, но такой модуль просто не находиться.
Собственно в apache я нечего не понимаю, ставлю его только первый раз, хотелось бы настроить пёрл.

Пользователь решил продолжить мысль 24 Июля 2013, 23:17:23:
Ура, заработало. Надо было в apache2.conf прописать
AddHandler cgi-script .cgi .pl
<Files ~ "\.pl$">
Options +ExecCGI
</Files>
<Files ~ "\.cgi$">
Options +ExecCGI
</Files>
После этого скрипты заработали.
« Последнее редактирование: 24 Июля 2013, 23:17:23 от tеma »

 

Страница сгенерирована за 0.09 секунд. Запросов: 25.