Конфигурационные файлы Режимы работы сервера
Главный файл конфигурации (ГКФ) сервера содержит все параметры,
необходимые серверу для начала работы, а также пути других конфигурационных
файлов. По умолчанию, главный файл конфигурации сервера находится
в подкаталоге conf/ каталога и имеет имя httpd.conf.
При запуске серверу можно указать другой путь, используя ключ
-f.
Например:
/usr/local/sbin/httpd -f /etc/httpd.config
Ниже приведены параметры, указываемые в главном файле конфигурации
сервера, с необходимыми пояснениями. Значения параметров отделяются
от названия одним или несколькими пробелами или табуляциями. Если
одному параметру соответствуют несколько значений, они разделяются
запятыми.
Параметры запуска серверных процессов
ServerType
Определяет способ запуска сервера:
ServerType inetd
серверный процесс запускается в ответ на каждое обращение клиента
через механизм inetd. После обработки запроса, сервер прекращает
свою работу.
ServerType standalone
серверный процесс запускается один раз и находится в состоянии
ожидания запросов клиентов. После обработки запроса, сервер остается
запущенным.
Port
Определяет порт tcp, по которому сервер принимает запросы клиентов.
Этот параметр используется только для сервера типа standalone.
При механизме старта inetd порт определяется конфигурационным
файлом сервера inetd - inetd.conf.
Стандартный порт для WWW - сервера - 80.
Пример:
Port 80
StartServers и MaxServers
Для режима standalone определяют количество процессов сервера
при многопоточной обработке. StartServers - указывает
число процессов сервера, создаваемых при запуске httpd. MaxServers
определяет максимальное число одновременно работающих процессов
сервера.
Пример:
StartServers 3
MaxServers 5
TimeOut
Определяет время (в секундах), которое серверный процесс, запущенный
в режиме standalone, будет
ожидать повторного обращения клиента. По умолчанию используется
1200 секунд.
Пример:
TimeOut 3600
User и Group
Определяют имя пользователя и группу, права которого получает
сервер при запуске в режиме standalone. Изменение прав сервера
производится с целью предотвращения доступа WWW - клиентов к файлам
операционной системы, не являющимися общедоступными. Например:
User nobody
Group nobody
Информационные параметры для WWW - клиентов
ServerName
Определяет имя сервера, которое пересылается клиенту вместе с
другими параметрами запроса. Используется в случае, если сервер
имеет несколько имен (синонимов).
Например:
ServerName Indy.cnit.nsu.ru
ServerAdmin
Определяет адрес электронной
почты администратора сервера. При возникновении каких - либо ошибок
в работе сервера, он выдает клиенту сообщение с просьбой проинформировать
о них администратора сервера по указанному Email.
Например:
ServerAdmin fancy@nsu.ru
Расположение необходимых файлов и каталогов
ServerRoot
Определяет местоположение каталога ServerRoot. По
умолчанию, это /usr/local/etc/httpd
или измененное значение параметра HTTPD_ROOT файла src/config.h.
Например:
ServerRoot /var/httpd
ErrorLog
Определяет местоположение файла - журнала ошибок, в который заносятся
все сообщения об ошибках, возникающих в процессе работы сервера.
Если значение не начинается со slash (/), подразумевается путь
относительно ServerRoot.
Например:
ErrorLog logs/errlog
Журналом ошибок является файл /var/httpd/logs/errlog
TransferLog
Определяет местоположение файла - журнала доступа, в который заносятся
данные обо всех передачах данных между WWW - клиентом и WWW -
сервером. Если значение не начинается со slash (/), подразумевается
путь относительно ServerRoot.
Например:
TransferLog logs/translog
Журналом доступа является файл /var/httpd/logs/translog
AgentLog
Определяет местоположение файла - журнала клиентов, в который
заносятся данные о программном обеспечении, используемом WWW клиентами
при доступе к данному серверу. Если значение не начинается со
slash (/), подразумевается путь относительно ServerRoot.
Например:
TransferLog logs/agentlog
Журналом клиентского программного обеспечения является файл /var/httpd/logs/agentlog
RefererLog
Определяет местоположение файла в который записываются все факты
обращений к данным сервера в виде ссылок от клиентов к данным.
Если значение не начинается со slash (/), подразумевается путь
относительно ServerRoot.
Например:
RefererLog logs/reflog
Журналом ссылок является файл /var/httpd/logs/reflog
PidFile
Определяет местоположение файла, хранящего номер процесса запущенного
WWW - сервера. Используется для остановки работы сервера путем
посылки сигнала командой kill. Если значение не
начинается со slash (/), подразумевается путь относительно ServerRoot.
Например:
PidFile logs/httpd.pid
Номер процесса - сервера записывается при старте в файл /var/httpd/logs/httpd.pid
AccessConfig
Определяет местоположение файла управления доступом. Если значение
не начинается со slash (/), подразумевается путь относительно
ServerRoot.
Например:
AccessConfig conf/access.conf
TypesConfig
Определяет местоположение файла, содержащего список соответствий
расширений файлов ОС типам MIME. По умолчанию используется файл
conf/mime.types в каталоге, определяемом ServerRoot. Если не начинается
с backslash (/), подразумевается путь относительно ServerRoot.
Например:
TypesConfig /etc/mime.types
CoreDirectory
Определяет местоположение каталога, в который записывается файл
дампа памяти при возникновении сбоя.
Например:
CoreDirectory /tmp
Параметры протоколирования
LogOptions
Определяет, будут ли несколько протоколов записываться в один
файл (Combined) или каждый будет записан в свой
файл (Separate).
Например:
LogOptions Separate
RefererIgnore
Определяет имена серверов, обращения от которых не будут протоколироваться.
Например:
RefererIgnore Indy.cnit.nsu.ru
Другие режимы работы
DNSMode
Определяет интенсивность обращений WWW сервера к серверу имен
Интернет. Minimum означает,
что сервер будет обращаться к DNS только при необходимости проверить
ограничения доступа по домену. Standard означает,
что сервер будет обращаться к серверу имен каждый раз при обработке
запроса клиента. Maximum означает, что сервер будет
дважды обращаться к серверу имен при каждой обработке запроса.
Например:
DNSMode Standard
Процедура определения конфигурации сервера
После запуска основного серверного процесса сервер пытается открыть
главный конфигурационный файл. Этот файл ищется по умолчанию в
каталоге /usr/local/etc/http/conf с именем httpd.conf.
Умолчание можно изменить при сборке системы редактированием файла
src/config.h. За каталог отвечает параметр HTTPD_ROOT,
за имя файла - параметр SERVER_CONFIG_FILE. Изменить значения
по умолчанию можно при запуске сервера, указав ключи -h
и-f (см. выше).
Местоположение файлов конфигурации доступа, документов, типов
MIME, а также файлов журналов сервер получает из главного конфигурационного
файла. Если каких - либо параметров там нет, их значения берутся
по умолчанию (см. src/config.h).
Конфигурация ресурсов
Расположение файлов данных, их интерпретация сервером и поведение
сервера при обращении к разным типам файлов определяются параметрами
файла конфигурации ресурсов. Ниже приведен список основных параметров
с пояснениями.
DocumentRoot
Определяет каталог локальной файловой системы,
от которого начинается отсчет виртуального пути URL.
Например:
DocumentRoot /apply/www
UserDir
Определяет название публичного подкаталога пользователей. ПО WWW
- сервера позволяет обеспечить внешний доступ к гипертекстовым
документам пользователей базовой операционной системы. Для этого
пользователям необходимо создать в своем домашнем каталоге подкаталог
с именем, определяемым параметром UserDir. После
этого все обращения по URL:
http://<имя_сервера>/~<имя_пользователя_ОС>
будут транслироваться в реальный путь до подкаталога, определенного
параметром UserDir в домашнем каталоге пользователя <имя_пользователя_ОС>.
Например:
UserDir public_html
при этом при обращении по URL
http://www.nsu.ru/~fancy/index.html
сервер будет искать файл Index.html в подкаталоге
public_html/ домашнего каталога пользователя fancy.
Redirect
Переадресует запрос к одной иерархии в запрос к другой иерархии,
возможно расположенной на другом сервере.
Например:
Redirect /HTTPd/ http://hoohoo.ncsa.uiuc.edu/
Alias
Определяет синоним для документа или каталога на локальном сервере.
Пример:
Alias /icons /var/opt/images
ScriptAlias
Определяет синоним для каталогов, содержащих CGI - программы.
Пример:
ScriptAlias /hrv-cgi /var/opt/cgi
DirectoryIndex
Определяет имена файлов, трактующихся сервером как индексные.
Их содержимое выдается сервером при обращении к данному каталогу.
Пример:
DirectoryIndex index.html index.htm index.cgi
AccessFileName
Определяет имя файла, трактующегося сервером как файл управления
доступом (см. раздел ).
Пример:
AccessFileName .htaccess