Полное и детальное описание ОС LINUX

Меню

 
Главная
Cамоучитель
Гостевая книга

Наши партнеры

 

Реклама

 

 

 
 

 

Конфигурационный файл 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-запросов, будет учтен только один запрос

# при анализе превышения данного предела .

#

MaxRequestsPerChild 100

#

# Listen: Позволяет привязать Apache к конкретным IP-адресам

# и/или портам, в дополнение к принятым по умолчанию значениям.

# См. также команду VirtualHost.

#

#Listen 3000

#Listen 12.34.56.78:80

Listen 80

#

# BindAddress: Эту сйщию можно использовать для поддержки виртуальных

# хостов. Эта опция указывает серверу IP-адрес для прослушивания. Он

# может содержать либо "*", либо IP-адрес, либо полное квалифицированное

# имя Internet-домена. См. также команду VirtualHost.

#

# BindAddress *



# Поддержка 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

<If Define HAVE_PERL>

LoadModule perl_module modules /libperl .so

</lfDefine>

<If Define HAVE_PHP>

LoadModule php_module modules /mod_php. so

</IfDefine>

<IfDefine HAVE_PHP3>

LoadModule php3_module modules /libphpS . so

</IfDefine>

<IfDefine HAVE_PHP4>

LoadModule php4_module modules/ Iibphp4. so

</IfDefine>

<IfDefine HAVE_DAV>

LoadModule dav_module modules /libdav. so

</IfDefine>

<If Define HAVE_ROAMING>

LoadModule roaming_module modules /mod_roaming. so

</IfDefine>

<IfDefine HAVE_SSL>

LoadModule ssl_module modules/libssl .so

</IfDef ine>

# Реконструкция полного списка модулей из всех доступных модулей

# (статических и совместных) для обеспечения правильного порядка

# выполнения модулей.

# [ВСЯКИЙ РАЗ ПОСЛЕ ПОПРАВОК В СЕКЦИИ LOADMODULE (см. выше)

# ТАКЖЕ ОТКОРРЕКТИРУЙТЕ И ЭТУ СЕКЦИЮ]

ClearModuleList

#AddModule mod_mmap_static.c

AddModule mod_vhost_alias.c

AddModule mod__env.с

AddModule mod_log_conf ig.c

AddModule mod_log_agent.c

AddModule mod_log_referer.c

#AddModule mod_mime_magic . с

AddModule mod_mime . с

AddModule mod_negotiation.c

AddModule mod_status.c

AddModule mod_info.c

AddModule mod_include.c

AddModule mod_auto index . с

AddModule mod_dir.c

AddModule mod_cgi.c

AddModule mod_asis.c

AddModule mod_imap.c

AddModule mod_actions.c

#AddModule mod_spel ing . с

AddModule mod_userdir . с

AddModule mod_alias.c

AddModule mod_rewrite .c

AddModule mod_access . с

AddModule mod_auth.c

AddModule mod_auth_anon . с

AddModule mod_auth_db . с

#AddModule mod_digest.c

#AddModule mod_proxy.c

#AddModule mod_cern_meta . с

AddModule mod_expires . с

AddModule mod_headers . с

#AddModule mocLuser track _e

#AddModule mod_example.c

#AddModule mod_unique_id . с

AddModule mod_so.c

AddModule mod_setenvif .c

#AddModule mod__bandwidth . с

#AddModule mod_put.c

< If Define HAVE_PERL>

AddModule mod_perl.с

</IfDefine>

<IfDefine HAVE_PHP>

AddModule mod_php.c

</IfDefine>

<IfDefine HAVE_PHP3>

AddModule mod_php3 . с

</IfDef ine>

<If Define HAVE_PHP4>

AddModule mod_php4.c

</IfDefine>

<If Define HAVE_DAV>

AddModule mod_dav . с

</IfDefine>

<IfDefine HAVE_ROAMING>

AddModule mod_roaming . с

</IfDef ine>

<IfDefine HAVE_SSL>

AddModule mod_ssl . с

</IfDef ine>

# ExtendedStatus : определяет, будет ли Apache генерировать

# информацию о состоянии в полном объеме (ExtendedStatus On)

# или только базисную информацию (ExtendedStatus Off) ,

# когда вызывается обработчик "server-status". По умолчанию

# используется значение Off.

#

#ExtendedStatus On

#

### Раздел 2: 'Main' конфигурация сервера

#

# Директивы этого раздела устанавливают значения, используемые

# 'main' сервером, который отвечает на любой запрос, не

# обработанный хостом <VirtualHost>.

# Эти значения также задают величины по умолчанию для любых

# контейнеров <VirtualHost>, которые вы можете

# определить позже.

#

# Все эти директивы могут возникать внутри контейнеров

# <VirtualHost>. В этом случае значения по умолчанию будут

# заменены этими величинами для виртуальных хостов.

#

#

# Если ваша директива ServerType (см. выше в разделе

# 'Global Environment') устанавливает значение "inetd",

# следующие несколько директив не оказывают никакого эффекта,

# поскольку их значения определены inetd-конфигурацией.

#

# Переходите к директиве ServerAdmin.

#

# Port: порт, который прослушивает сервер в режиме standalone.

# Если номер порта < 1023, то при загрузке httpd нужно запускать с

# привилегиями root .

# Port 80

# Чтобы запустить httpd как другого пользователя или группу

# пользователей, необходимо вначале запустить httpd как root, a

# он затем сам выполнит переключение.

#

# User/Group: Имя (или #номер) пользователя/группы, под которым

# запустить httpd.

# На 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".

AllowOverride None

# Указывает, кто может брать файлы на этом сервере


Order a How, deny

Allow from all

</Directory>

#

# UserDir: Имя каталога, которое добавляется к домашнему каталогу

# пользователя, если получен запрос типа ~user.

#

UserDir public_html

#

# Управление доступом к каталогам UserDir. Ниже приведен пример

# для узла, на котором каталоги объявлены доступными только для чтения.

#

#<Directory /home/*/public_html>

# AllowOverride Filelnfo AuthConfig Limit

# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

# <Limit GET POST OPTIONS PROPFIND>

# Order allow, deny

# Allow from all

# </Limit>

# <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>

# Order" deny, allow

# Deny from all

# </Limit>

#< /Directory>

#

# Directorylndex: Имя или имена файлов, которые будут использоваться как

# индексные файлы HTML. Разделяйте имена пробелами, если их несколько.

#

Directorylndex index.html index.htm index. shtml index. php index. php4

-> index . php3 index . cgi