[mdk-re] Re: Problems with apache-mod_perl configuration

Ivan Adzhubei =?iso-8859-1?q?ivan_=CE=C1_protein=2Ebio=2Emsu=2Esu?=
Чт Ноя 15 00:39:01 MSK 2001


Приветствую!

Я разобрался в чем проблемы. Конфигурация по умолчанию поставляемая с
apache-1.3.22rusPL30.9-alt1 не совсем корректна.

> > Запрос на http://localhost/ выдает головную HTML страничку в виде plain
> > text, судя по всему - не настроен сотв. MIME type. Файлы в /var/www/html
> > лежат вида index.shtml.ru(en|de|...), при загрузке они все показываются
> > в plain text, а русские варианты еще и в неправильной кодировке. Раньше,
> > например для apache_rus-1.3.12_PL29.4, ничего специального указывать для
> > .shtml файлов не требовалось и все работало из коробки. Что и где
> > сломалось в 1.3.22 я пока не могу определить.

/etc/httpd/conf/http-perl.conf:

    #
    # To use server-parsed HTML files
    #
    #AddType text/html .shtml
    #AddHandler server-parsed .shtml

Две последние строчки надо раскомментировать чтобы правильно
обрабатывались .shtml файлы которые устанавливаются в корень сервера
(домашняя страничка по умолчанию и пр.)

> > Многие линки в Apache Manual не работают, проверка показала что линки
> > ссылаются на документы вида doc_name.html, а на самом деле присутствуют
> > только документы вида doc_name.html.en.

Надо включить опцию MultiViews, хотя бы для иерархии документов
/var/www/html/manual, например добавив следующую секцию в
/etc/httpd/conf/http-perl.conf:

    <Directory /var/www/html/manual>
        Options MultiViews Indexes Includes FollowSymLinks
        AllowOverride None
        order allow,deny
        allow from all
    </Directory>

Без этого многоязычная документация не будет нормально обрабатываться.
Можно включить MultiViews и для всего дерева /var/www/html.

Кроме того наткнулся на странную секцию в /etc/rc.d/init.d/httpd-perl,
там определена функция moduleargs(), которая нигде не используется? В
ней однако имеется ошибка, первой строкой там прописано:

       moduledir=/usr/lib/perl-apache

а правильно:

       moduledir=/usr/lib/apache-perl

Впрочем, если функция действительно не нужна, то лучше бы ее убрать
вообще.


-- 
Иван




Подробная информация о списке рассылки community