Pourquoi mettre des informations de configuration dans conf / httpd.conf et d'autres dans des fichiers dans le dossier conf.d?

11

Le fichier de configuration principal d'Apache est /etc/httpd/conf/httpd.confsur mon système CentOS et il y a une ligne:

Include conf.d/*.conf

À l'intérieur de conf.d se trouvent principalement des fichiers qui font quelque chose comme ceci:

LoadModule auth_kerb_module modules/mod_auth_kerb.so

Mais il existe également d'autres sites qui y sont installés et qui ont leurs propres fichiers de configuration. N'était-ce pas bien pensé ou est-ce que je manque quelque chose?

tooshel
la source

Réponses:

8

La séparation des fichiers de configuration est un moyen de les gérer. En mettant des lignes de configuration spécifiques à un module dans leurs propres fichiers, il devient beaucoup plus facile d'activer et de désactiver les modules. Cela permet également de les gérer, car vous n'avez désormais qu'un petit fichier de configuration à modifier. (Imaginez ouvrir un httpd.conf de 500 lignes et rechercher une option incorrecte.)

Différents systèmes semblent avoir différentes manières de séparer les fichiers de configuration d'apache. Par exemple sur mon Gentoo il y a modules.d/et vhosts.d/, alors que sur mon Ubuntu il y a conf.d/, mods-available/, mods-enabled/, sites-available/et sites-enabled/. Vous pouvez deviner ce qu'ils font par leur nom, ou regarder à l'intérieur de httpd.conf pour les Includelignes.

phunehehe
la source
3

Puisqu'il existe plusieurs packages qui peuvent fournir des fonctionnalités à HTTPd d'Apache, le package de base installe un httpd.conf qui fournit la plupart des paramètres de base, et d'autres packages, tels que mod_ssl, nagios et php ont des fichiers de configuration qui doivent être inclus par- paquet. Les packagers Red Hat utilisent le répertoire conf.d pour supprimer la configuration de ces packages, sinon ils devraient modifier le httpd.conf pour chaque package, ce qui est difficile à automatiser lors de l'installation du package.

jsbillings
la source
0

J'ai trouvé qu'il n'y a pas de spécification très bien documentée sur l'endroit où vont exactement les fichiers de configuration dans Apache. Surtout depuis qu'ils ont récemment changé la façon dont le défaut le fait. Avez-vous installé à partir de la source ou d'un package? Les paquets, en particulier les paquets Debian, ne semblent pas du tout suivre la source Apache.

Cela fait un moment que je n'ai pas fait grand chose avec apache, mais si je me souviens bien, conf.d / est l'endroit où vous mettriez le chargement des modules du démon comme ce que vous avez posté, ou ffi ou des trucs comme ça.

Alors que conf / est l'endroit où les fichiers de configuration spécifiques au site vont.

Voici à quoi ressemble le mien, il est installé depuis la source.

 % 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

Mais notez également que ce n'est pas un serveur en direct et j'ai construit cette installation apache spécifiquement pour tester Wt

Falmarri
la source
Jetez un oeil à ce document dans le wiki d'Apache: DistrosDefaultLayout
nozimica