При каждом запуске веб-сервер Apache считывает свои конфигурационные файлы. Конфигурационные файлы имеют формат обычного текста, и Apache необходимо перезапускать каждый раз, когда в конфигурационном файле происходят изменения, чтобы они вступили в силу.
Расположение основного файла конфигурации Apache задается во время компиляции и в разных дистрибутивах устанавливается по-разному. Для удобства управления и разделения задач конфигурация обычно разбивается на несколько файлов. Затем он вызывается из основного конфигурационного файла с помощью директив Include и IncludeOptional.
Вы всегда можете проверить расположение основного файла конфигурации, запустив бинарный файл Apache для вашего дистрибутива с опцией -V, а затем посмотрев значение SERVER_CONFIG_FILE.
1 | apachectl -V |
Пример вывода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Server version: Apache/2.4.41 (Unix) Server built: Nov 9 2019 07:53:54 Server's Module Magic Number: 20120211:88 Server loaded: APR 1.5.2, APR-UTIL 1.5.4 Compiled using: APR 1.5.2, APR-UTIL 1.5.4 Architecture: 64-bit Server MPM: prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_FLOCK_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=256 -D HTTPD_ROOT="/usr" -D SUEXEC_BIN="/usr/bin/suexec" -D DEFAULT_PIDLOG="/private/var/run/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types" -D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf" |
Объедините вывод для 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, основываются на корневом каталоге.