Пример конфигурации VH Apache для работы mod_perl-сайта

Статьи  Пример VH

Первым шагом по внедрению и использованию mod_perl (кроме установки всего этого), является настройка virtual host для сайта, который будет использовать технологию mod_perl.

Пример virtual host для сайта с mod_perl

Listen 8008

ServerAdmin webmaster@site ServerName test.ru DocumentRoot /home/httpd/site/htdocs
Options Indexes Includes FollowSymLinks MultiViews AllowOverride None
ErrorLog /home/httpd/logs/site-error_log ScriptAlias /cgi-bin/ /home/httpd/site/pcgi/ Alias /pcgi/ /home/httpd/site/pcgi/ PerlOptions +Parent PerlSwitches -I/home/httpd/site/pcgi
SetHandler perl-script PerlResponseHandler ModPerl::RegistryPrefork PerlOptions +ParseHeaders Options +ExecCGI

Давайте последовательно разберем этот пример. Первая директива Listen 8008 включает прослушивание порта 8008 сервером Apache на компьютере, где он установлен. Это используется для простого обращения к разным сайтам на сервере с одним IP без использования DNS.

Далее описываем, к какому адресу мы привязываем VH. В нашем случае это 192.168.0.1:8008. Директивы ServerAdmin и ServerName можно назначить произвольно, сейчас они не важны.

Директива DocumentRoot определяет путь к корню сервера. Далее идет стандартная секция настройки опций для папки с документами. Директива ErrorLog устанавливает отдельный лог ошибок для VH, что необходимо для отладки приложений.

Директива ScriptAlias выполняет сразу две функции: установку опции на выполнение скриптов из директории и создает псевдоним для папки.

С директивы Alias начинается секция, непосредственно относящаяся к mod_perl. Alias дает псевдоним для пути /pcgi/, который мы будем использовать для обращения к скриптам с mod_perl.

Инструкция PerlOptions дает возможность использовать отдельный компилятор со своей средой (для этого требуется multi-threaded версия perl). Следующая инструкция PerlSwitches добавляет указанную папку в @INC компилятора (отдельного для этого VH).

Далее определяем опции для спевдонима /pcgi (для mod_perl-скриптов). Первые три инструкции стандартны для mod_perl директорий: мы указываем handler (обработчик) как perl-script, PerlResponseHandler как ModPerl::RegistryPrefork (собственно, это главная инструкция, мы используем именно RegistryPrefork), PerlOptions добавляет опцию автоматической обработки заголовков скриптов (теоретически, их можно не печатать). Еще разрешаем выполнение скриптов в по этому пути.

На этом все, можно перезапустить сервер и попробовать выполение скрипта printenv из стандартной поставки Apache, если вы видите переменную окружения с именем MOD_PERL, значит настроили правильно.

В случае ошибок при запуске сервера, просмотрите error_log Apache — обычно там указана причина проблемы.

Авторизация

Логин
Пароль
 

Регистрация

Забыли пароль?

Новые темы на форуме

Все темы

Работает на 4Site CMS

© 2006, ООО «Метод Лаб»

Сделано в Method Lab

На главную Modperl
Поиск по сайту: 
Главная страница сайта ModperlПосмотреть карту сайта Modperl

Новости

Ча. во.

Форум

Статьи