Apache. Документация на русском


Разделы:   1      2      3    4    5    6    7    8    9    10    11    12    13    14    15    16  

Раздел 2. Использование HTTP-сервера Apache

Пункты:   6    7    8      9      10    11    12    13    14    15    16    17    18    19    20    21    22    23    24    25    26  

 <         > 
  RU            EN  

Пункт 9. Файлы конфигурации

В этом документе описываются файлы, используемые для настройки HTTP-сервера Apache.

Основные файлы конфигурации

HTTP-сервер Apache настраивается путем размещения директив в текстовых файлах конфигурации. Основной файл конфигурации обычно называется apache2.conf . Расположение этого файла устанавливается во время компиляции, но может быть переопределено флагом -f командной строки. Кроме того, с помощью этой директивы можно добавить другие файлы конфигурации Include , а для включения многих файлов конфигурации можно использовать подстановочные знаки. Любая директива может быть помещена в любой из этих конфигурационных файлов. Изменения в основных файлах конфигурации распознаются httpd только при его запуске или перезапуске.

Сервер также считывает файл, содержащий типы MIME-документов; имя файла задается директивой TypesConfig и используется mime.types по умолчанию.

Синтаксис файлов конфигурации

Файлы конфигурации httpd содержат по одной директиве в каждой строке. Обратная косая черта «\» может использоваться в качестве последнего символа в строке, чтобы указать, что директива продолжается на следующей строке. Между обратной косой чертой и концом строки не должно быть других символов или пробелов.

Аргументы директив разделяются пробелом. Если аргумент содержит пробелы, вы должны заключить этот аргумент в кавычки.

Директивы в файлах конфигурации нечувствительны к регистру, но аргументы директив часто чувствительны к регистру. Строки, начинающиеся с символа решетки "#", считаются комментариями и игнорируются. Комментарии не могут быть включены в ту же строку, что и директива конфигурации. Пробел перед директивой игнорируется, поэтому для ясности можно сделать отступ директивы. Пустые строки также игнорируются.

Значения переменных, определенных с помощью Define переменных среды of или оболочки, можно использовать в строках конфигурационного файла с использованием синтаксиса ${VAR} . Если "VAR" является именем допустимой переменной, значение этой переменной подставляется в это место в строке файла конфигурации, и обработка продолжается, как если бы этот текст был найден непосредственно в файле конфигурации. Переменные, определенные с помощью, Define имеют приоритет над переменными среды оболочки. Если переменная "VAR" не найдена, символы ${VAR} остаются без изменений и записывается предупреждение. Имена переменных не могут содержать двоеточия ":", чтобы избежать конфликтов с RewriteMap синтаксисом .

В расширениях можно использовать только переменные среды оболочки, определенные до запуска сервера. Переменные среды, определенные в самом файле конфигурации, например, с помощью SetEnv , вступают в силу слишком поздно, чтобы их можно было использовать для расширений в файле конфигурации.

Максимальная длина строки в обычных файлах конфигурации после подстановки переменных и соединения любых продолжающихся строк составляет примерно 16 МБ. В файлах .htaccess максимальная длина составляет 8190 символов.

Вы можете проверить файлы конфигурации на наличие синтаксических ошибок, не запуская сервер, с помощью параметра командной строки apache2ctl configtest или . -t

Вы можете использовать mod_info , -DDUMP_CONFIG чтобы сбросить конфигурацию со всеми включенными файлами и переменными среды, а также удалить все комментарии, несоответствия <IfDefine> и <IfModule> разделы. Однако выходные данные не отражают слияние или переопределение, которое может произойти для повторяющихся директив.

Модули

httpd — модульный сервер. Это означает, что в главный сервер включены только самые основные функции. Расширенные функции доступны через модули, которые можно загрузить в httpd. По умолчанию базовый набор модулей включается в сервер во время компиляции. Если сервер скомпилирован для использования динамически загружаемых модулей, то модули можно скомпилировать отдельно и добавить в любой момент с помощью директивы LoadModule . В противном случае httpd необходимо перекомпилировать для добавления или удаления модулей. Директивы конфигурации могут быть включены в зависимости от наличия конкретного модуля, заключая их в <IfModule> блок. Однако <IfModule> блоки не обязательны и в некоторых случаях могут маскировать отсутствие важного модуля.

Чтобы увидеть, какие модули в данный момент скомпилированы на сервере, вы можете использовать -l параметр командной строки. Вы также можете увидеть, какие модули загружаются динамически, используя -M параметр командной строки.

Сфера применения директив

Директивы, размещенные в основных конфигурационных файлах, применяются ко всему серверу. Если вы хотите изменить конфигурацию только части сервера, вы можете ограничить свои директивы, поместив их в разделы <Directory> , <DirectoryMatch> , <Files> , <FilesMatch> , <Location> и . <LocationMatch> Эти разделы ограничивают применение директив, которые они содержат, определенными местоположениями файловой системы или URL-адресами. Они также могут быть вложены друг в друга, что позволяет создавать очень детализированные конфигурации.

httpd может обслуживать множество разных веб-сайтов одновременно. Это называется виртуальный хостинг. Директивы также можно ограничить, поместив их внутри <VirtualHost> разделов, чтобы они применялись только к запросам для определенного веб-сайта.

Хотя большинство директив можно поместить в любой из этих разделов, некоторые директивы не имеют смысла в некоторых контекстах. Например, директивы, управляющие созданием процессов, можно размещать только в контексте основного сервера. Чтобы узнать, какие директивы можно разместить в каких разделах, проверьте контекст директивы. Для получения дополнительной информации мы предоставляем подробную информацию о том, как работают разделы «Каталог», «Местоположение» и «Файлы».

.htaccess файлы

httpd позволяет децентрализованно управлять конфигурацией с помощью специальных файлов, размещенных внутри веб-дерева. Специальные файлы обычно называются .htaccess , но в директиве можно указать любое имя AccessFileName . Директивы, размещенные в .htaccess файлах, применяются к каталогу, в который вы помещаете файл, и ко всем подкаталогам. Файлы .htaccess имеют тот же синтаксис, что и основные файлы конфигурации. Поскольку .htaccess файлы считываются при каждом запросе, изменения, сделанные в этих файлах, вступают в силу немедленно.

Чтобы узнать, какие директивы можно поместить в .htaccess файлы, проверьте контекст директивы. Администратор сервера дополнительно контролирует, какие директивы могут быть помещены в .htaccess файлы, настраивая AllowOverride директиву в основных файлах конфигурации.

Дополнительные сведения о .htaccess файлах см. в руководстве по .htaccess.



 <         > 

Пункты:   6    7    8      9      10    11    12    13    14    15    16    17    18    19    20    21    22    23    24    25    26  

Рейтинг@Mail.ru