Конфигурационный файл 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; просмотров: 1592;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.013 сек.