Некоторые моменты при конфигурировании таких вещей как apache приходится делать снова и снова. Вот только перерыв между этим снова может быть 1 год. Буду дополнять эту запись при появлении новых моментов..
Прописывание директории для запуска скриптов perl
В httpd.conf добавить код. Директорию и путь подставить свой..
<Directory "/usr/local/apache/htdocs/lgtstat/ipstat"> SetHandler cgi-script AllowOverride All Options Includes FollowSymLinks ExecCGI Order allow,deny Allow from all </Directory>
Перезапускаем apache
Создание виртуальных хостов с отдельными ip
Делаем alias на сетевой карте с новым ip (как конфигурировать alias в этой статье), затем в конфиг апача добавляем со своими путями следующие строки
NameVirtualHost 62.152.xx.xx <VirtualHost 62.152.xx.xx> ServerName www.domain.ltd ServerPath /www.domain.ltd DocumentRoot /usr/local/www/domain CustomLog /usr/local/www/logs/domain/access_log combined ErrorLog /usr/local/www/logs/domain/error_log </VirtualHost>
Перезапускаем apache.
Создание виртуальных хостов на одном ip
Очень полезно на одном сервере на разных доменах держать кучу сайтов. Сайты лежат в разных директориях, логи для каждого сайта ведутся свои. Добавляем в конец httpd.conf.
NameVirtualHost * <VirtualHost *> DocumentRoot "/usr/local/apache2/htdocs/domain.ltd" ServerName "domain.ltd" ServerAlias "www.domain.ltd" ErrorLog logs/domain.ltd/error_log CustomLog logs/domain.ltd/access_log combined </VirtualHost> <VirtualHost *> DocumentRoot "/usr/local/apache2/htdocs/domain2.ltd" ServerName "domain2.ltd" ServerAlias "www.domain2.ltd" ErrorLog logs/domain2/error_log CustomLog logs/domain2/access_log combined </VirtualHost>
Сначала создать все необходимые директории сайтов и директории для логов, а потом перезапуск apache.
Установка модуля perl (mod_perl)
Легче всего установить из репозитария CPAN
root@mik# perl -MCPAN -e shell cpan[1]> install ModPerl::Registry
Установщик попросит набрать полный путь до файла apxs. Затем два раза набрать yes при тестировании модулей.
При установке важно смотреть на вывод компиляции, чтобы ошибок не было. Модуль называется mod_perl.so и должен установиться в каталог /usr/local/apache/modules
Выход из cpan – quit
Затем в конфиге апача дописываем
LoadModule perl_module modules/mod_perl.so
Перезапускаем apache.
Просмотр списка модулей perl установленных в системе
Создать скрипт .pl с таким содержимым
#!/usr/bin/perl use ExtUtils::Installed; $installed = ExtUtils::Installed->new(); foreach $module ($installed->modules()){ printf "Module: %s\t\tVersion: %s\n", $module, $installed->version($module); }
Выполнив данный скрипт можно проанализировать какие perl скрипты стоят в системе.