Понимание конфигурационных файлов веб-сервера Apache

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

Расположение основного файла конфигурации Apache задается во время компиляции и в разных дистрибутивах устанавливается по-разному. Для удобства управления и разделения задач конфигурация обычно разбивается на несколько файлов. Затем он вызывается из основного конфигурационного файла с помощью директив Include и IncludeOptional.

Вы всегда можете проверить расположение основного файла конфигурации, запустив бинарный файл Apache для вашего дистрибутива с опцией -V, а затем посмотрев значение SERVER_CONFIG_FILE.

Пример вывода:

Объедините вывод для HTTPD_ROOT и SERVER_CONFIG_FILE Если в выводе не указан абсолютный полный путь к файлу конфигурации.

Расположение конфигурации Apache по умолчанию

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

Опция Debian, Ubuntu openSUSE и SLES Fedora Core, CentOS, RHEL macOS homebrew xampp
Основной каталог /etc/apache2/ /etc/apache2/ /etc/httpd/ /private/etc/apache2/ /usr/local/etc/httpd/ {installation directory}/apache/conf/
Основная конфигурация apache2.conf httpd.conf conf/httpd.conf httpd.conf httpd.conf httpd.conf
ServerRoot apache2.conf n/a conf/httpd.conf httpd.conf httpd.conf httpd.conf
DocumentRoot sites-enabled/*.conf default-server.conf conf/httpd.conf httpd.conf httpd.conf httpd.conf, extra/httpd-ssl.conf
VirtualHost sites-enabled/*.conf vhosts.d/*.conf conf/httpd.conf httpd.conf, other/*.conf httpd.conf httpd.conf, extra/httpd-ssl.conf
LoadModule mods-enabled/*.load loadmodule.conf conf.modules.d/*.conf httpd.conf, extra/*.conf httpd.conf httpd.conf, extra/*.conf
Журнал apache2.conf, sites-enabled/*.conf httpd.conf, vhosts.d/*.conf conf/httpd.conf httpd.conf httpd.conf httpd.conf
Пользователь / Группа apache2.conf, envvars uid.conf conf/httpd.conf httpd.conf httpd.conf httpd.conf

Путь к файлам и каталогам указывается относительно базового каталога, если он не начинается с /; например, conf/httpd.conf для главного конфигурационного файла CentOS переводится как /etc/httpd/conf/httpd.conf.

Значение конфигурации Apache по умолчанию

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

В таблице ниже перечислены некоторые значения конфигурации Apache по умолчанию в различных дистрибутивах.

Опция Debian, Ubuntu openSUSE и SLES Fedora Core, CentOS, RHEL macOS homebrew xampp
ServerRoot /etc/apache2/ n/a /etc/httpd /usr/ /usr/local/opt/httpd/ {installation directory}/apache/
DocumentRoot /var/www/html/ /srv/www/ /var/www/html /Library/WebServer/Documents/ /usr/local/var/www/ {installation directory}/htdocs/
Module Location /usr/lib/apache2/modules/ /usr/lib64/apache2-prefork/ modules/ libexec/apache2/ lib/httpd/modules/ modules/
Access / Error log /var/log/apache2 /var/log/apache2/ logs/ /private/var/log/apache2/ /usr/local/var/log/httpd/ logs/
Пользователь www-data wwwrun apache _www _www daemon
Группа www-data www apache _www _www daemon
Двоичное имя apache2 httpd httpd httpd httpd httpd

Пути для файлов и каталогов относительны к базовому каталогу, если он не начинается с /; например, modules/ для каталога модулей CentOS переводится как /etc/httpd/modules/.

Абсолютные пути, начинающиеся с /, такие как расположение модулей в Ubuntu, основываются на корневом каталоге.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий