|
Конфигурационный
файл Apache
Хотя подкаталог /etc/httpd/conf
включает все три оригинальных конфигурационных файла, собственно конфигурируется
только файл httpd. conf. Остальные CONF-файлы оставлены для совместимости с
предыдущими версиями.
Структура файла httpd.
conf довольно проста. Ниже приведен его листинг по умолчанию:
##
## httpd.conf
- конфигурационный файл HTTP-сервера Apache
##
#
# Построил Rob
McCool на основе конфигурационных файлов NCSA-сервера. #
# Это основной
конфигурационный файл сервера. QH содержит
# конфигурационные
директивы для сервера. За дополнительными
# инструкциями
обращайтесь по адресу <URL:
http://www.apache.org/docs/
>
#
# Если не понятно,
о чем речь - лучше не читать. Если в чем-то
# не уверены -
обращайтесь к документации в on-line. Вас предупредили. #
# После обработки
этого файла, сервер ищет и обрабатывает файлы
# /usr/conf/srm.conf
и /usr/conf/access.conf, если вы не заблокировали
# их здесь директивами
ResourceConfig и/или AccessConfig.#
# Директивы конфигурирования
разбиты на три раздела:
# 1. Директивы,
управляющие работой сервера Apache в целом
# (раздел 'global
environment') .
# 2. Директивы,
определяющие параметры 'сервера 'main' или 'default',
# соответствующие
запросам, не обрабатываемы виртуальным хостом.
# Эти директивы
также обеспечивают значения по умолчанию для всех
# виртуальных
хостов.
# 3. Установки
для виртуальных хостов, позволяющие отправлять
# Web-запросы
на другие IP-адреса или хосты в расчете на обработку # аналогичным Apache-сервером.
#
# Имена файлов
конфигурации и протокола: Если заданные имена файлов
# управления сервером
начинаются с "/" (или "drive:/ " для Win32),
# сервер будет
использовать явный путь. Если имена не начинаются
# с "/",
значение ServerRoot интерпретируется так: "logs/foo.log"
# для ServerRoot,
установленного на "/usr/local/apache" будет
# интерпретироваться
сервером как "/usr/local/apache/logs/foo.log".
### Раздел 1:
Global Environment #
# Директивы этого
раздела определяют поведение Apaohe в целом,
# например, задают
число параллельно обрабатываемых запросов, # или местоположение конфигурационных
файлов.
# #
# ServerType либо
inetd, либо standalone. Inetd режим поддерживается
# только на платформе
Unix. #
ServerType standalone
#
# ServerRoot:
Корень дерева каталогов, в котором сервер хранит # файлы конфигурации, ошибок
и протоколов.
#
# Внимание! Если
вы хотите разместить его в NFS (или сети), смонтируйте
# файловую систему,
затем прочитайте документацию LockFile (доступную
# по адресу <URL:
http://www.apache.org/docs/mod/core.htmlflockfile
>),
# и вы избавите
себя от массы забот. #
# Не добавляйте
косую черту в конце пути каталога. ServerRoot "/etc/httpd"
#
# Команда LockFile
устанавливает путь к файлу блокировки, использующемуся
# если Apache
откомпилирован либо с USE_FCNTL_SERIALIZED_ACCEPT, либо с
# USE_FLOCK_SERIALIZED_ACCEPT.
Обычно эта команда должна иметь значение
# по умолчанию.
Основной причиной, по которой нужно изменять эту
# переменную,
является установка каталога протоколов на смонтированной
# NFS, так как
файл-блокировки ДОЛЖЕН НАХОДИТЬСЯ НА ЛОКАЛЬНОМ ДИСКЕ.
# PID главного
процесса сервера автоматически добавляется к имени файла. #
LockFile /var/lock/httpd.lock
# PidFile: Файл
для протоколирования pid сервера PidFile /var/run/httpd.pid
# ScoreBoardFile:
Файл для хранения сервером внутренней информации о
# процессе. Требуется
не на всех архитектурах. Но если у Вас требуется
# (файл будет
создан после запуска Apache), то Вы *должны* убедиться в # том, что ни одна
из запускаемых копий Apache не разделяет один и тот # же файл для этой цели.
#
ScoreBoardFile
/var/run/httpd.Scoreboard
#
# В стандартной
конфигурации сервер обработает этот файл,
# файл srm.conf
и access.conf в указанном порядке. Два последних файла
# в этом дистрибутиве
пусты, а все директивы объединены в один
# файл для простоты.
Ниже приведены закомментированные
# значения по
умолчанию. Можно заставить сервер проигнорировать
# эти файлы, задав
"/dev/null" (для Unix) или
# "mil"
(для Win32) в качестве аргументов директив. #
# ResourceConfig
conf/srm.conf
#AccessConfig
conf/access.conf
#
# Timeout: Количество
секунд перед приемом и посылкой тайм-аута. Timeout 300
# KeepAlive: Разрешить
или не разрешить устойчивые соединения (более
# одного запроса
на каждое соединение). Для запрещения установите в "Off". KeepAlive
On
# MaxKeepAliveRequests:
Максимальное количество разрешенных запросов при
# устойчивом соединении.
Значение 0 устанавливает неограниченное
#количество. Для
обеспечения максимальной производительности рекомендуем
# установить это
число большим. # MaxKeepAliveReguests 100
#
# KeepAliveTimeout:
Количество секунд для ожидания следующего запроса.
#
KeepAliveTimeout
15
#
# Правила размера
серверного пула. Чтобы Вы не гадали, сколько Вам нужно
# процессов для
сервера, Apache динамически подстраивается к текущей
# нагрузке — он
пытается запустить необходимое количество процессов для # оперирования текущей
нагрузкой, плюс несколько резервных серверов для
# обслуживания
временных пиков (т.е. нескольких одновременных запросов,
# исходящих из
одного браузера Netscape). #
# Делает он это
при помощи периодической проверки количества
# серверов, ожидающих
запросов. Если их меньше, чем MinSpareServers,
# то он создает
дополнительный резерв. Если
больше,
чем
# MaxSpareServers,
то он уничтожает некоторые из них.
# Эти значения,
вероятно, подходят для многих сайтов #
MinSpareServers
5 MaxSpareServers 20
#
# Количество запускаемых
серверов — должно быть умеренное
# приблизительное
число. #
StartServers 8
# Предел на общее
количество запускаемых серверов, т.е. предел на число
# одновременно
соединяющихся клиентов - если этот предел когда-либо
# будет достигнут,
клиенты будут ЗАБЛОКИРОВАНЫ, поэтому он НЕ ДОЛЖЕН
# БЫТЬ СЛИШКОМ
МАЛЕНЬКИМ. Этот параметр главным образом используется
# как тормоз,
чтобы необузданный сервер не потянул за собой Unix,
# который в это
время начнет тормозить... #
MaxClients 150
# MaxRequestsPerChild:
максимальное количество запросов, разрешенных
# для обработки
каждому дочернему процессу перед его удалением.
|
|
|
|
|
|
# После
этого дочерний процесс будет завершен, чтобы избежать
|
|
|
|
# неприятностей
связанных с продолжительным использованием из-за
|
|
|
|
# изъянов
Apache (а может и используемых им библиотек) . На многих
|
|
|
|
# системах
этот параметр не очень нужен, но некоторые (такие как
|
|
|
|
# Solaris)
действительно имеют изъяны в библиотеках. Для таких систем
|
|
|
|
# задайте
значение, наподобие 10000;
|
|
|
|
# значение
0 означает "неограниченный".
#
|
|
|
|
# Внимание:
Это значение не включает keepalive-запросы после .соединения.
|
|
|
|
# Например,
если дочерний процесс обрабатывает начальный запрос и 10
|
|
|
|
# последующих
keptalive-запросов, будет учтен только один запрос
|
|
|
|
# при
анализе превышения данного предела .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Listen:
Позволяет привязать Apache к конкретным IP-адресам
|
|
|
|
# и/или
портам, в дополнение к принятым по умолчанию значениям.
|
|
|
|
# См.
также команду VirtualHost.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# BindAddress:
Эту сйщию можно использовать для поддержки виртуальных
|
|
|
|
# хостов.
Эта опция указывает серверу IP-адрес для прослушивания. Он
|
|
|
|
# может
содержать либо "*", либо IP-адрес, либо полное квалифицированное
|
|
|
|
# имя
Internet-домена. См. также команду VirtualHost.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Поддержка
Dynamic Shared Object (DSO - Динамические
|
|
|
|
|
|
|
|
|
|
|
|
# Чтобы
использовать функциональность модулей, построенных как DSO,
|
|
|
|
# поместите
соответствующие строчки 'LoadModule' в этом месте, чтобы
|
|
|
|
# содержащиеся
в них команды были доступны до того, как они будут
|
|
|
|
# использованы.
Для дополнительной информации о механизме DSO,
|
|
|
|
# пожалуйста,
прочтите файл README. DSO из дистрибутива Apache Д. 3 и
|
|
|
|
# запустите
'httpd -1' для получения списка уже встроенных модулей
|
|
|
|
# (они
Скомпонованы статически и, таким образом, всегда доступны)
|
|
|
|
# в исполняемом
модуле httpd.
|
|
|
|
# # Внимание
: Порядок загрузки модулей существенен. Не меняйте
|
|
|
|
# приведенный
ниже порядок без консультации со специалистом.
|
|
|
|
|
|
|
|
# LoadModule
foo_module libexec/mod_foo.so
|
|
|
|
|
|
|
|
# LoadModule
imiap_static_module modules /mod_mmap_static. so
|
|
|
|
LoadModule
vhost_alias_module modules/mod_vhost_alias.so
|
|
|
|
LoadModule
env_module modules /mod_env. so
|
|
|
|
LoadModule
conf ig_log_module modules /mod_log_config. so
|
|
|
|
LoadModule
agent_log_module modules /mod_log_agent .so
|
|
|
|
|
|
|
|
|
|
|
|
LoadModule
referer_log_module modules /mod_log_referer .so
|
|
|
|
#LoadModule
mime_magic_module modules /mod_mime_magic .so
|
|
|
|
LoadModule
mime_module modules /mod_mime. so
|
|
|
|
LoadModule
negotiation_module modules /mod_negotiation. so
|
|
|
|
LoadModule
status_module modules /mod_status. so
|
|
|
|
LoadModule
info_module modules /mod_info. so
|
|
|
|
LoadModule
includes_module modules/mod_include.so
|
|
|
|
LoadModule
autoindex_module modules/mod_autoindex.so
|
|
|
|
LoadModule
dir_module modules /mod_dir .so
|
|
|
|
LoadModule
cgi_module modules /mod_cgi .so
|
|
|
|
LoadModule
asis_module modules/mod_asis . so
|
|
|
|
LoadModule
imap_module modules /mod_imap. so
|
|
|
|
LoadModule
action_module modules /mod_actions . so
|
|
|
|
tLoadModule
speling_module modules /mod_speling. so
|
|
|
|
LoadModule
userdir_module modules /mod_userdir. so
|
|
|
|
LoadModule
alias_module modules/mod_alias .so
|
|
|
|
LoadModule
rewrite_module modules /mod_rewrite. so
|
|
|
|
LoadModule
access_module modules /mocLaccess. so
|
|
|
|
LuaJWuUule
auUuuuQule modules/mod_auth.so
|
|
|
|
LoadModule
anon_auth_module modules /mocLauth_anon. so
|
|
|
|
LoadModule
db_auth_module modules /mod_auth_db. so
|
|
|
|
#LoadModule
digest module modules /mod_dige'st. so
|
|
|
|
#LoadModule
proxy_module modules /libproxy. so
|
|
|
|
#LoadModule
cern_meta_moduie modules /mod cern_meta.so
|
|
|
|
LoadModule
expires_module modules /mod_expires. so
|
|
|
|
LoadModule
headers_module modules/mod_headers.so
|
|
|
|
#LoadModule
usertrack_module modules /mod_user track. so
|
|
|
|
#LoadMnHn1e
example_modul modules /mod_example. so
|
|
|
|
#LoadModule
unique_id_module modules /mod_unique_id. so
|
|
|
|
LoadModule
setenvif_module moauies/mod_secenvit.so
|
|
|
|
#LoadModule
bandwidth_module modules /mod_bandwidth . so
|
|
|
|
ILoadModule
put_module modules/mod_put.so
|
|
|
|
|
|
|
|
LoadModule
perl_module modules /libperl .so
|
|
|
|
|
|
|
|
|
|
|
|
LoadModule
php_module modules /mod_php. so
|
|
|
|
|
|
|
|
|
|
|
|
LoadModule
php3_module modules /libphpS . so
|
|
|
|
|
|
|
|
|
|
|
|
LoadModule
php4_module modules/ Iibphp4. so
|
|
|
|
|
|
|
|
|
|
|
|
LoadModule
dav_module modules /libdav. so
|
|
|
|
|
|
|
|
|
|
|
|
LoadModule
roaming_module modules /mod_roaming. so
|
|
|
|
|
|
|
|
|
|
|
|
LoadModule
ssl_module modules/libssl .so
|
|
|
|
|
|
|
|
# Реконструкция
полного списка модулей из всех доступных модулей
|
|
|
|
# (статических
и совместных) для обеспечения правильного порядка
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# [ВСЯКИЙ
РАЗ ПОСЛЕ ПОПРАВОК В СЕКЦИИ LOADMODULE (см. выше)
|
|
|
|
# ТАКЖЕ
ОТКОРРЕКТИРУЙТЕ И ЭТУ СЕКЦИЮ]
|
|
|
|
|
|
|
|
#AddModule
mod_mmap_static.c
|
|
|
|
AddModule
mod_vhost_alias.c
|
|
|
|
|
|
|
|
AddModule
mod_log_conf ig.c
|
|
|
|
AddModule
mod_log_agent.c
|
|
|
|
AddModule
mod_log_referer.c
|
|
|
|
#AddModule
mod_mime_magic . с
|
|
|
|
|
|
|
|
AddModule
mod_negotiation.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AddModule
mod_auto index . с
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#AddModule
mod_spel ing . с
|
|
|
|
AddModule
mod_userdir . с
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AddModule
mod_auth_anon . с
|
|
|
|
AddModule
mod_auth_db . с
|
|
|
|
|
|
|
|
|
|
|
|
#AddModule
mod_cern_meta . с
|
|
|
|
AddModule
mod_expires . с
|
|
|
|
AddModule
mod_headers . с
|
|
|
|
#AddModule
mocLuser track _e
|
|
|
|
|
|
|
|
#AddModule
mod_unique_id . с
|
|
|
|
|
|
|
|
AddModule
mod_setenvif .c
|
|
|
|
#AddModule
mod__bandwidth . с
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AddModule
mod_roaming . с
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ExtendedStatus
: определяет, будет ли Apache генерировать
|
|
|
|
# информацию
о состоянии в полном объеме (ExtendedStatus On)
|
|
|
|
# или
только базисную информацию (ExtendedStatus Off) ,
|
|
|
|
# когда
вызывается обработчик "server-status". По умолчанию
|
|
|
|
# используется
значение Off.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Раздел
2: 'Main' конфигурация сервера
|
|
|
|
|
|
|
|
# Директивы
этого раздела устанавливают значения, используемые
|
|
|
|
# 'main'
сервером, который отвечает на любой запрос, не
|
|
|
|
# обработанный
хостом <VirtualHost>.
|
|
|
|
# Эти
значения также задают величины по умолчанию для любых
|
|
|
|
# контейнеров
<VirtualHost>, которые вы можете
|
|
|
|
|
|
|
|
|
|
|
|
# Все
эти директивы могут возникать внутри контейнеров
|
|
|
|
# <VirtualHost>.
В этом случае значения по умолчанию будут
|
|
|
|
# заменены
этими величинами для виртуальных хостов.
|
|
|
|
|
|
|
|
|
|
|
|
# Если
ваша директива ServerType (см. выше в разделе
|
|
|
|
# 'Global
Environment') устанавливает значение "inetd",
|
|
|
|
# следующие
несколько директив не оказывают никакого эффекта,
|
|
|
|
# поскольку
их значения определены inetd-конфигурацией.
|
|
|
|
|
|
|
|
# Переходите
к директиве ServerAdmin.
|
|
|
|
|
|
|
|
# Port:
порт, который прослушивает сервер в режиме standalone.
|
|
|
|
# Если
номер порта < 1023, то при загрузке httpd нужно запускать с
|
|
|
|
|
|
|
|
|
|
|
|
# Чтобы
запустить httpd как другого пользователя или группу
|
|
|
|
# пользователей,
необходимо вначале запустить httpd как root, a
|
|
|
|
# он затем
сам выполнит переключение.
|
|
|
|
|
|
|
|
# User/Group:
Имя (или #номер) пользователя/группы, под которым
|
|
|
|
|
|
|
|
# На SCO
(ОПТ 3) используйте User nouser и Group nogroup
|
|
|
|
# Если
на HPUX указать nobody, то нельзя будет использовать
|
|
|
|
# разделяемую
память и выходом из положения может быть
|
|
|
|
# создание
пользователя www и его использование.
|
|
|
|
|
|
|
|
# ПРИМЕЧАНИЕ
: в некоторых системах ядро отвергает запросы на
|
|
|
|
|
|
# setgid(Group)
или semctl(IPC_SET), если величина (unsigned)
# Group больше
60000;
# не используйте
группу nobody на таких системах!
User apache Group
apache
# ServerAdmin:
Адрес, куда направлять электронную почту
# для решения
проблем с сервером.
#
ServerAdmin root@localhost
# ServerName позволяет
установить имя хоста, которое будет возвращаться
# клиентам сервера,
если оно отличается от имени, получаемого
# программой (т.е.
используется "www" вместо настоящего имени хоста). #
# Примечание:
Нельзя просто придумать имя хоста и надеяться, что оно
# будет работать.
Имя, которое здесь определяется, должно быть
# допустимым DNS-именем
для хоста. Если это не понятно -.
# проконсультируйтесь
с вашим сетевым администратором.
# Если ваш хост
не имеет зарегистрированного DNS-имени, # введите здесь его IP-адрес.
# Вы в любом случае
получите доступ к хосту по его адресу
# (например,
http://123.45.67.89/)
и эта директива позволит
# выполнить переадресацию.
ServerName localhost
#
# DocumentRoot:
Каталог, из которого будут предоставляться документы.
# По умолчанию
на все запросы файлы предоставляются из этого каталога,
# но могут использоваться
символические ссылки и псевдонимы
# для указания
других источников, #
DocumentRoot "/var/www/html"
#
# Каждый каталог,
к которому Apache имеет доступ, может быть настроен
# с учетом того,
какие сервисы и свойства разрешены и/или запрещены
# в этом каталоге
(и его подкаталогах).
# Вначале установим
для "default" очень ограниченный набор прав доступа.
#
<Directory
/>
Options FollowSymLinks
AllowOverride None </Directory>
#
# Заметьте: начиная
с этого места, необходимо конкретно разрешать
# каждое действие.
Если что-то работает не так, как ожидалось,
# убедитесь, что
соответствующее действие разрешено.
# Эта строчка
должна содержать то же, что и элемент.DocumentRoot.
#
<Directory
"/var/www/html">
|
|
|
|
|
|
# Здесь
допустимы также значения "None", "All" и любые комбинации
|
|
|
|
# "Indexes",
"Includes", "FollowSymLinks", "ExecCGI"
и "MultiViews".
|
|
|
|
# Заметьте:
"MultiViews" должно быть указано *явно* - "Options All"
|
|
|
|
# не устанавливает
эту опцию.
|
|
|
|
Options
Indexes Includes FollowSymLinks
|
|
|
|
|
|
|
|
# Здесь
указывается, какие опции могут переопределить файлы .htaccess,
|
|
|
|
# находящиеся
в каталогах. Значение может быть "All" или любой
|
|
|
|
# комбинацией
"Options", "Filelnfo", "AuthConfig" и
"Limit".
|
|
|
|
|
|
|
|
# Указывает,
кто может брать файлы на этом сервере
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# UserDir:
Имя каталога, которое добавляется к домашнему каталогу
|
|
|
|
# пользователя,
если получен запрос типа ~user.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Управление
доступом к каталогам UserDir. Ниже приведен пример
|
|
|
|
# для
узла, на котором каталоги объявлены доступными только для чтения.
|
|
|
|
|
|
|
|
#<Directory
/home/*/public_html>
|
|
|
|
# AllowOverride
Filelnfo AuthConfig Limit
|
|
|
|
# Options
MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
|
|
|
|
# <Limit
GET POST OPTIONS PROPFIND>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# <Limit
PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Directorylndex:
Имя или имена файлов, которые будут использоваться как
|
|
|
|
# индексные
файлы HTML. Разделяйте имена пробелами, если их несколько.
|
|
|
|
|
|
|
|
Directorylndex
index.html index.htm index. shtml index. php index. php4
|
|
|
|
->
index . php3 index . cgi
|
|
| |