Директивы конфигурации web-сервера Apache. Контексты использования директив конфигурации

Запуск и остановка Apache

 

Для запуска Web-сервера Apache выполните команду service httpd start или /etc/rc.d/init.d/httpd start. Если будет выдано сообщение об ошибке, то нужно устранить неправильные установки в файле httpd.conf и запустить команду заново. Вы должны запустить Apache как суперпользователь. Apache после запуска будет порождать дочерние процессы, использующие UID и GID, указанные в директивах User и Group.

Для перезапуска Apache выполните команду service httpd restart или /etc/rc.d/init.d/httpd restart. При перезапуске родительский процесс Apache (запущенный суперпользователем) уничтожает всех наследников, читает файл конфигурации и перезапускает новое поколение дочерних процессов. Этот тип перезапуска прерывает обслуживание Web-клиентов, которые продолжают ожидать ответа от дочерних процессов сервера. Родительский процесс Apache укажет дочерним процессам закончить обслуживание текущего запроса и затем закончить свою работу, так что родительский процесс сможет перечитать файл конфигурации и перезапустить новый набор дочерних процессов.

Для остановки Apache выполните команду service httpd stop или /etc/rc.d/init.d/httpd stop.

Cервер Apache предоставляет удобный способ поиска PID основного процесса Web-сервера. PID записан в файл, указанный в директиве PidFile. Это PID основного процесса httpd. Не пытайтесь удалить дочерние процессы вручную один за другим, поскольку основной процесс будет воссоздавать их по мере надобности.

Директивы конфигурации web-сервера Apache. Контексты использования директив конфигурации

 

Директивы – это команды для web-сервера, которые сообщают ему, что необходимо выполнить определенную задачу определенным образом. Они содержатся в конфигурационном файле /etc/httpd/conf/httpd.conf.

Перед применением любой из директив настройки Apache важно понять, в каком контексте они используются. Другими словами, нужно уточнить область применения директив.

Основные контексты использования директив:

· контекст конфигурации сервера – директива может находиться в файле конфигурации сервера вне любого контейнера, который выглядит как пара HTML-тегов. Эти директивы можно считать глобальными, они не влияют на все остальные.

· контекст контейнера – директивы, находящиеся внутри контейнера и выглядящие следующим образом:

 

<имя_контейнера>

директива

</имя_контейнера>

 

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

· контекст каталога – директивы хранятся в файле внутри каталога. Обычно такой файл имеет имя .htaccess. Это текстовый файл, содержащий одну или несколько директив, которые применяются только к текущему каталогу. Эти директивы можно также заключать в контейнер <Limit>или <Files>. Имя файла, содержащего директивы конфигурации для каталога, можно переопределить с помощью директивы AccessFileName имя_файла.

Директива AllowOverride сообщает серверу, какие директивы, объявленные в файле .htaccess, могут изменять значения, определенные директивами в файле конфигурации сервера или принятые по умолчанию. Если директива AllowOverride установлена в None, то сервер не читает файл конфигурации каталога, что ускоряет работу сервера.

Если нужно разрешить управление с помощью файла конфигурации каталога, следует указать одну или несколько следующих опций:

· AuthConfig – разрешает использование директив аутентификации и управления доступом;

· FileInfo – разрешает использование директив, управляющих типами документов;

· Indexes – разрешает использование директив, управляющих индексами каталогов;

· Limit – разрешает использование директив, управляющих доступом к узлам;

· Options – разрешает использование директив, управляющих определенными свойствами каталогов.