Зачем помещать некоторую информацию о конфигурации в conf / httpd.conf, а некоторые в файлы в папке conf.d?


11

Основной файл конфигурации apache находится в /etc/httpd/conf/httpd.confмоей системе CentOS и там есть строка:

Include conf.d/*.conf

Внутри conf.d в основном файлы, которые делают что-то вроде этого:

LoadModule auth_kerb_module modules/mod_auth_kerb.so

Но есть и другие сайты, которые настроены там и имеют свои собственные файлы конфигурации. Было ли это плохо продумано или я что-то упустил?

Ответы:


8

Разделение файлов конфигурации - это способ управления ими. Поместив строки конфигурации, специфичные для модуля, в свои собственные файлы, стало намного проще включать и отключать модули. Это также помогает управлять ими, потому что теперь у вас есть только небольшой файл конфигурации для редактирования. (Представьте, что вы открываете 500-строчный httpd.conf и ищете неправильную опцию.)

Похоже, что разные системы имеют разные способы разделения файлов конфигурации Apache. Например на моем Gentoo есть modules.d/и vhosts.d/, в то время как на моем Ubuntu есть conf.d/, mods-available/, mods-enabled/, sites-available/и sites-enabled/. Вы можете угадать, что они делают по имени, или заглянуть внутрь httpd.conf для поиска Includeстрок.


3

Поскольку есть несколько пакетов, которые могут обеспечить функциональность для HTTPd Apache, базовый пакет устанавливает httpd.conf, который предоставляет большинство основных настроек, а другие пакеты, такие как mod_ssl, nagios и php, имеют файлы конфигурации, которые необходимо включить для пакет. Упаковщики Red Hat используют каталог conf.d для сброса конфигурации этих пакетов, в противном случае им потребуется изменить httpd.conf для каждого пакета, что сложно автоматизировать во время установки пакета.


0

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

Прошло много времени с тех пор, как я многое сделал с apache, но, если я помню, в conf.d / вы бы поместили загрузку модулей демона, например, то, что вы опубликовали, или ffi или тому подобное.

В то время как conf / - это то, куда направляются файлы конфигурации для конкретного сайта

Вот как выглядит моя, она установлена ​​из исходного кода.

 % ll /opt/apache2
drwxr-xr-x  2 root 4.0K 2010-10-25 14:14 bin/
drwxr-xr-x  2 root 4.0K 2010-10-25 14:14 build/
drwxr-xr-x  2 root 4.0K 2010-10-25 14:14 cgi-bin/
drwxr-xr-x  4 root 4.0K 2010-10-28 15:54 conf/
drwxr-xr-x  3 root 4.0K 2010-10-25 14:14 error/
drwsrwxrwx  3 www  4.0K 2010-10-28 13:06 htdocs/
drwxr-xr-x  3 root 4.0K 2010-10-25 14:14 icons/
drwxr-xr-x  2 root 4.0K 2010-10-25 14:14 include/
drwxr-xr-x  3 root 4.0K 2010-10-25 14:14 lib/
drwxr-xr-x  3 root 4.0K 2010-10-28 16:11 logs/
drwxr-xr-x  4 root 4.0K 2010-10-25 14:14 man/
drwxr-xr-x 14 root  12K 2010-10-14 11:45 manual/
drwxr-xr-x  2 root 4.0K 2010-10-25 14:20 modules/
 % ll /opt/apache2/conf
total 88K
drwxr-xr-x 2 root 4.0K 2010-10-28 15:55 extra/
drwxr-xr-x 3 root 4.0K 2010-10-25 14:14 original/
-rw-r--r-- 1 root  14K 2010-10-28 15:54 httpd.conf
-rw-r--r-- 1 root  13K 2010-10-25 14:14 magic
-rw-r--r-- 1 root  45K 2010-10-25 14:14 mime.types



% ll /opt/apache2/conf/extra
total 60K
-rw-r--r-- 1 root  179 2010-10-28 15:31 20_mod_fastcgi.conf
-rw-r--r-- 1 root 2.8K 2010-10-25 14:14 httpd-autoindex.conf
-rw-r--r-- 1 root 1.7K 2010-10-25 14:14 httpd-dav.conf
-rw-r--r-- 1 root 2.3K 2010-10-25 14:14 httpd-default.conf
-rw-r--r-- 1 root 1.1K 2010-10-25 14:14 httpd-info.conf
-rw-r--r-- 1 root 5.0K 2010-10-25 14:14 httpd-languages.conf
-rw-r--r-- 1 root  906 2010-10-25 14:14 httpd-manual.conf
-rw-r--r-- 1 root 3.8K 2010-10-25 14:14 httpd-mpm.conf
-rw-r--r-- 1 root 2.2K 2010-10-25 14:14 httpd-multilang-errordoc.conf
-rw-r--r-- 1 root  10K 2010-10-25 14:14 httpd-ssl.conf
-rw-r--r-- 1 root  817 2010-10-25 14:14 httpd-userdir.conf
-rw-r--r-- 1 root 1.8K 2010-10-28 15:55 httpd-vhosts.conf

Но также обратите внимание, что это не живой сервер, и я собрал эту установку apache специально для тестирования Wt


Посмотрите на этот документ в вики Apache: DistrosDefaultLayout
nozimica
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.