Конфигурационный файл Apache
Apache — это целое семейство различных проектов, первым из которых был Web-сервер. Web-сервер представлен демоном httpd, поэтому проект Apache по разработке Web-сервера называется httpd.
Конфигурационные файлы Web-сервера httpd в GNU/Linux в различных дист- рибутивах размещаются в разных каталогах: /etc/httpd/conf/, или /etc/apache2, или ином. Главный конфигурационный файл называется httpd.conf, причем часто выделенные для каких-либо групп настроек индивидуальные конфигура- ционные файлы подключаются к httpd.conf с помощью директивы include.
В целом, настройки httpd можно разделить на три основные категории:
r секция глобальных настроек;
r настройки для главного сервера;
r настройки для виртуальных узлов.
Кроме этих секций можно выделить настройки для обработки заданных ти- пов файлов, MIME-расширений и спецификаций обработки национальных языков.
К глобальным настройкам сервера относятся те из них, которые влияют на работу сервера Apache в целом. Далее приводятся основные глобальные настройки:
r ServerRoot — базовый каталог установки, относительно которого в фай- ловой системе GNU/Linux размещаются конфигурационные файлы Apache, а также некоторые файлы, необходимые в его работе;
r PidFile — файл, в который при запуске сервера Apache заносится PID
главного процесса сервера;
r LoadModule — команда загрузить модуль расширения Apache, скомпили- рованный в виде разделяемой библиотеки;
r Timeout — количество секунд перед посылкой сигнала о потере соединения;
r KeepAlive — разрешение или запрет поддержки долгоживущих соедине- ний, доступных в рамках протокола HTTP/1.1, позволяющих оставлять со- единение в неразорванном состоянии после отправки сервером требуемой информации;
r KeepAliveTimeOut — количество секунд ожидания следующего запроса, по прошествии которого долгоживущее соединение будет разорвано;
r MaxKeepAliveRequests — максимально возможное количество запросов, разрешенное для долгоживущих соединений;
r StartServers — количество дочерних процессов httpd, которые стартуют при запуске сервера Apache;
r MinSpareServers — минимальное количество ждущих соединения дочер- них процессов httpd (при появлении соединений запускается столько ко- пий httpd, чтобы количество ожидающих соединения дочерних процессов было не меньше этой величины);
r MaxSpareServers — максимальное количество ждущих соединения до- черних процессов httpd (лишние процессы останавливаются);
r MaxClients — ограничение на максимальное количество дочерних про- цессов httpd, определяющее возможное количество соединений;
r MaxRequestsPerChild — максимальное количество запросов, которое раз- решено обслуживать одному дочернему процессу httpd, при достижении которого он гарантированно останавливается для исключения возможных утечек памяти.
Далее приведен пример 28.1 секции глобальных настроек файла httpd.conf (с сокращениями строк LoadModule).
| Пример 28.1. Секция глобальных настроек httpd.conf |
ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 120
KeepAlive Off MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule prefork.c>
| StartServers | |
| MinSpareServers | |
| MaxSpareServers | |
| ServerLimit | |
| MaxClients |
MaxRequestsPerChild 4000
</IfModule> Listen 80
LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so
...
User apache Group apache
Следует отметить, что модули могут быть не только подключены с помощью директивы LoadModule, но и установлены непосредственно в код Apache на стадии его компиляции и сборки. Для определения, какие модули были уста- новлены в код на стадии компиляции, выполните команду httpd –l (при- мер 28.2).
| Пример 28.2. Статически собранные с httpd модули |
$ /usr/sbin/httpd -l Compiled in modules:
core.c prefork.c http_core.c mod_so.c
Обратите внимание на модуль prefork.c — это один из нескольких различ- ных модулей MPM (Multi-Processing Modules), имеющихся для Apache v2. Эти модули ориентированы на разные операционные системы или на раз- личные модели многозадачной обработки. Например, модуль prefork.c ори- ентирован на традиционную для UNIX модель порождения дочерних про- цессов, а worker.c — на работу с потоками.
Среди настроек главного сервера наиболее важны следующие:
r Listen — заставляет Apache слушать только указанный порт;
r User — пользователь, от имени которого будут запущены процессы httpd;
r Group — группа, от имени которой будут запущены дочерние процессы
httpd;
r DocumentRoot — каталог размещения файлов Web-сайта;
r UserDir — имя каталога для размещения личных Web-страниц пользова- телей;
r DirectoryIndex — список имен файлов, который будет просмотрен при попытке доступа к корневому документу каталога;
r AccessFileName — имя файла, содержащего директивы управлением до- ступом к каталогу;
r TypesConfig — задает местонахождение файла конфигурации MIME;
r DefaultType — задает MIME-тип документа по умолчанию;
r MimeMagicFile — задает местонахождение файла магических чисел для определения MIME-типа документа;
r HostnameLookups — задает тип занесения информации о запросах клиен- тов либо по IP-адресу, либо по имени узла;
r ErrorLog — файл журнала, в который будут записываться любые ошибки
(сообщения), встретившиеся в процессе работы Apache;
r LogLevel — уровень информативности журналирования;
r LogFormat — директива, определяющая формат вывода информации в жур- нал;
r CustomLog — указывает местонахождение файла журнала;
r ServerSignature — разрешает выводить в страницах, сгенерированных сервером Apache, информацию о версии, виртуальном узле и т. п.;
r Alias — устанавливает псевдонимы для путей доступа к каталогам серве- ра (длина строки псевдонима меньше, чем длина строки пути доступа);
r ScriptAlias — делает то же, что и Alias, но для каталогов с CGI-
сценариями;
r IndexOptions — определяет тип индексирования каталогов;
r AddIcon — указывает файл значка для отображения в конкретных ситуа- циях, например, при выводе страницы с содержимым каталога разным ти- пам файлов сопоставляются разные значки;
r AddIconByEncoding — задает значки для конкретных MIME-кодировок;
r AddIconByType — задает значки для определенных MIME-видов документов;
r DefaultIcon — значок по умолчанию;
r AddDescription — добавляет строку комментария к определенным типам документов (например, .gz - gzipped document);
r ReadmeName — задает имя файла README, добавляемого в конец списка файлов в каталоге (directory index);
r HeaderName — задает имя файла HEADER, добавляемого в начало списка файлов в каталоге (directory index);
r IndexIgnore — имена файлов, которые будут игнорироваться при индек- сации;
r AddEncoding — позволяет браузерам заданным образом обрабатывать ин- формацию на лету (например, отображать содержимое сжатых gzip- файлов);
r AddLanguage — отображает заданные расширения имен файлов на опреде- ленный язык документа (например, AddLanguage ru .ru);
r AddCharset — задает отображение определенного расширения имен фай- лов на конкретную кодировку;
r LanguagePriority — порядок следования языков;
r AddType — задает отображение расширения имен файлов на тип MIME;
r AddHandler — задает тип обработки по расширению имен файлов;
r ErrorDocument — позволяет настраивать сообщения об ошибках;
r BrowserMatch — задает особенности вывода информации для браузеров.
В файле конфигурации httpd.conf часто встречаются условные директивы вида <IfModule>. С их помощью устанавливают такие настройки Apache, ко- торые возможны, если присутствует данный модуль (пример 28.3).
| Пример 28.3. Проверка наличия модуля |
<IfModule mod_alias.c>
Alias /doc /usr/share/doc
</IfModule>
В этом примере установлен псевдоним doc для каталога /usr/share/doc. Одна- ко такой псевдоним будет установлен только в случае наличия модуля mod_alias.c. Имея такой псевдоним (при наличии соответствующих разреше- ний), можно будет обращаться с помощью Web-браузера к содержимому ка- талога /usr/share/doc, используя URL http://localhost/doc.
Другим видом условных директив является <IfDefine>. Эти директивы со- держат в себе блоки настроек Apache, которые работают только при условии определения некоторого дополнительного параметра. Этот параметр может быть задан при помощи опции -D исполняемого файла httpd.
Часто Apache поставляется с весьма обширной документацией в HTML- формате. Например, в дистрибутивах Fedora традиционно документация на Apache доступна после запуска Apache по URL http://localhost/manual.
Дата добавления: 2015-06-12; просмотров: 1705;
