информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяСетевые кракеры и правда о деле ЛевинаГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Простое пробивание рабочего/провайдерского... 
 400 уязвимостей в процессорах Snapdragon 
 Яндекс неуклюже оправдался за установку... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / web building
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Проще, думаю, будет разобраться на примере. Как написано в... 29.01.05 22:27  Число просмотров: 3790
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
Проще, думаю, будет разобраться на примере. Как написано в статье:

Alias /perl/ /home/httpd/perl/
PerlModule Apache::Registry
<Location /perl>
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
PerlSendHeader On
allow from all
</Location>

Там есть несколько таких типовых "конфигураций" - для остальных рассуждения аналогичные.

Разбираем по строчкам:

Alias /perl/ /home/httpd/perl/
Создание алиаса, то есть "синонима". Другими словами http://127.0.0.1/perl/ - тоже самое что и file:///home/httpd/perl/. Честно, не знаю как объяснить по-человечески, но, думаю, всё понятно. Эту строчку можно смело удалять - она нам не нужна.

PerlModule Apache::Registry
Подключение mod_perl - без этого никуда, оставляем, только лучше перенести это повыше - в самое начало второй секции.

<Location /perl>
...
</Location>
Внутри этой конструкции указываются настройки, которые будут действовать для директории сервера /perl. Что бы они начали действовать везде, необходимо "то что внутри" прописать для стандартной директории, то есть внутри конструкции
<Directory />
...
</Directory>

Теперь разберёмся с "внутренними" настройками "/perl" и изменим что надо.

SetHandler perl-script
Эта строчка указывает, что в "/perl" лежат perl-скрипты. Если мы хотим использовать их где угодно наряду с другими обработчиками, а не отдельно в одной папке, то нам выгоднее будет использование конструкции
AddHandler perl-script .pl
за пределами
<Directory />
...
</Directory>
(там ниже будет отдельная "подсекция" для AddHander'ов). Эта конструкция заставляет Апач воспринимать .pl-файлы как Перл-скрипты независимо от местоположения (однако сама по себе без PerlModule ничего не значит)

PerlHandler Apache::Registry
PerlSendHeader On
По логике вещей задают тоже обработчики Perl - я не вникал. Попробуй перенести эти строчки опять же для стандартной папки - должно сработать. Если нет, то тогда надо будет дополнительно почитать про эти директивы, хотя проблем возникнуть не должно.

Options ExecCGI
Эта директива говорит о том, что для папки разрешено выполнять CGI-сценарии (Perl к ним относится). Там есть много различных значений, но скорее всего пригодятся только Includes и Indexes - первая для включения SSI, вторая для поддержки "индексных" файлов типа index.html, которые прописываются в DirectoryIndex. То есть должно быть (в общем случае) так:
Options ExecCGI Incdexes Includes

allow from all
Эта директива говорит о том, что доступ до данной папки доступен всем желающим - стоит оставить без изменений. Полезна только тогда, когда есть желание перекрыть доспуп до сайта отдельным пользователям или странам.

Итого должно получиться следующее:

PerlModule Apache::Registry
<Directory />
PerlHandler Apache::Registry
Options ExecCGI Includes Indexes
PerlSendHeader On
allow from all
</Directory>
AddHandler perl-script .pl

Несколько заключительных комментариев.

Указанное выше надо не дополнительно прописывать в httpd.conf, а изменять уже существующие записи для стандартной директории (в начале второй секции уже стоят настройки по умолчанию).

Options и Allow выставляются вообще говоря исключительно по желанию - непосредственно на perl-сценарии они никак не влияют. Однако если есть желание использовать SSI, то для первого Apache должна быть добавлена директива AddHandler server-parsed, а для второго Апача AddOutputFilter, однако если вы уже использовали SSI, то они должны быть и без того настроены как надо.

Как уже говорил, в директивах PerlSendHeader и PerlHandler я не разбирался и возможно где-то наврал. Если это так, то надо будет просто поискать о них информацию - Яндекс, думаю, про них много знает.
<web building> Поиск 








Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2020 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach