Директивы конфигурации основного узла Apache

Переходим ко второму разделу файла httpd.conf. В нем несравненно больше директив, нежели в первой секции, поэтому рассматривать их будем по частям.
Начинается второй раздел файла конфигурации сервера следующими общими директивами:
Port 80
ServerAdmin spam@sudmed.ru
ServerName 127.0.0.1
DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs"
Директива Port устанавливает номер TCP-порта, который будет «прослушивать» сервер при обслуживании запросов.
Директивой ServerAdmin устанавливается адрес электронной почты администратора сервера. Он запрашивается при установке Apache из MSI-пакета.
Директива ServerName задает имя сервера. Происхождение параметра этой директивы аналогично предыдущему случаю.
Параметры директив Port, ServerAdmin и ServerName отображаются во всех служебных сообщениях или уведомлениях об ошибках, генерируемых сервером.

Директива DocumentRoot устанавливает корневой каталог дерева документов веб-сервера.
Далее при помощи блочной директивы Directory определяются настройки сервера для различных каталогов, например:
<Directory "C:/Program Files/Apache Group/Apache/htdocs">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
...
</Directory>
В данном случае описываются параметры для корневого каталога дерева документов веб-сервера.
Мы не будем подробно разбирать каждую директиву.
Директива Options управляет самыми различными функциями сервера и имеет множество возможных параметров. В конфигурации по умолчанию ее использование не слишком рационально — скажем, в данном случае не разрешается использовать SSI. Мы обсудим пути решения типовых задач конфигурирования сервера далее в этой главе, пока же ограничимся беглым экскурсом по изначальным настройкам.
Директива AllowOverride задает, в какой степени директивы, применяемые в файлах управления доступом, могут переопределять настройки общей конфигурации сервера. Эта директива, как и Options, имеет множество возможных параметров. В данном конкретном случае использование файлов управления доступом запрещено, что тоже не является оптимальным решением.
Далее по тексту файла httpd.conf встречается блок:
<IfModule mod_dir.c>
DirectoryIndex index.html
</IfModule>
Блочная директива IfModule создает разделы для директив, подразумевающих использование сервером тех или иных дополнительных модулей, в данном случае — mod_dir. Этот модуль скомпилирован вместе с основным исполняемым модулем сервера Apache.exe и предполагает только лишь одну директиву.
Директива DirectoryIndex модуля mod_dir определяет список индексных страниц при обращении к тому или иному каталогу сервера. В данном случае используется одно имя index.html.
Ниже встречаем:
AccessFileName .htaccess
Директива AccessFileName определяет имя, используемое файлами управления доступом.
Далее мы видим такую конструкцию:
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
Смысл ее заключается в том, чтобы запретить доступ клиентов ко всем файлам, имена которых начинаются на .ht.
Файлы .ht* (например, .htaccess, .htpasswd) рекомендуется использовать для служебных целей.
Дальнейший фрагмент содержимого файла httpd.conf представляет директиву ScriptAlias:
<IfModule mod_alias.c>
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"
<Directory "C:/Program Files/Apache Group/Apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</IfModule>
Эта директива устанавливает алиас (виртуальное имя) директории, предназначенной для хранения CGI-скриптов, и разрешает исполнение скриптов в этом каталоге. Алиасом в нашем случае является виртуальный путь /cgi-bin, а сопоставляемым реальным путем — C:\Program Files\Apache Group\Apache\cgi-bin.
Остальное в этом фрагменте, полагаю, читателям очевидно.
Ниже встречаем две закомментированные, но очень важные строки:
<IfModule mod_mime.c>
...
#AddType text/html .shtml
#AddHandler server-parsed .shtml
...
</IfModule>
Разумеется, действовать они начнут только после того, как их раскомментируют. Директива AddType сопоставляет некоему расширению файла (в нашем случае shtml) некоторый MIME-тип (в данном случае text/html). Директива AddHandler устанавливает соответствие между некоторым расширением файла (в нашем случае, опять же, shtml) и определенным обработчиком на сервере. Смысл двух вышеприведенных директив состоит в том, чтобы файлы с расширением shtml расценивались сервером как веб-страницы, и чтобы в них при помощи модуля mod_include обрабатывались директивы SSI (см. главу 3).
Подчеркиваю, для того, чтобы заставить работать SSI на сервере, нужно раскомментировать эти две строки. Это необходимое, но не достаточное условие — чуть позже мы уточним, почему.


© 2008-2018 ОптимизацияВебСайтов.ру


Любое использование текстового и графического контента сайта без активной ссылки на источник не доскается.