Por que colocar algumas informações de configuração em conf / httpd.conf e outras em arquivos na pasta conf.d?

11

O principal arquivo de configuração do apache está no /etc/httpd/conf/httpd.confmeu sistema CentOS e existe uma linha:

Include conf.d/*.conf

Dentro do conf.d são principalmente arquivos que fazem algo assim:

LoadModule auth_kerb_module modules/mod_auth_kerb.so

Mas também existem outros sites que são configurados lá e têm seus próprios arquivos de configuração. Isso não foi bem pensado ou estou faltando alguma coisa?

tooshel
fonte

Respostas:

8

Separar arquivos de configuração é uma maneira de gerenciá-los. Ao colocar linhas de configuração específicas de um módulo em seus próprios arquivos, fica muito mais fácil habilitar e desabilitar os módulos. Também ajuda a gerenciá-los, porque agora você tem apenas um pequeno arquivo de configuração para editar. (Imagine abrir um httpd.conf de 500 linhas e procurar uma opção incorreta.)

Sistemas diferentes parecem ter maneiras diferentes de separar os arquivos de configuração do apache. Por exemplo no meu Gentoo existem modules.d/e vhosts.d/, enquanto no meu Ubuntu existem conf.d/, mods-available/, mods-enabled/, sites-available/e sites-enabled/. Você pode adivinhar o que eles fazem pelo nome ou procurar Includelinhas em httpd.conf .

phunehehe
fonte
3

Como existem vários pacotes que podem fornecer funcionalidade ao HTTPd do Apache, o pacote base instala um httpd.conf que fornece a maioria das configurações básicas, e outros pacotes, como mod_ssl, nagios e php, têm arquivos de configuração que precisam ser incluídos. pacote. Os empacotadores da Red Hat usam o diretório conf.d para incluir a configuração desses pacotes, caso contrário, eles precisam modificar o httpd.conf para cada pacote, o que é algo difícil de automatizar durante a instalação do pacote.

jsbillings
fonte
0

Descobri que não há uma especificação muito bem documentada sobre onde exatamente quais arquivos de configuração vão no apache. Especialmente porque eles mudaram recentemente como o padrão o faz. Você instalou da fonte ou de um pacote? Pacotes, especialmente pacotes debian, parecem não seguir a fonte do apache.

Já faz um tempo desde que eu fiz muito com o apache, mas se bem me lembro, conf.d / é onde você colocaria o carregamento dos módulos daemon como o que você postou, ou ffi ou coisas assim.

Enquanto conf / é onde os arquivos de configuração específicos do site vão.

É assim que é o meu, é instalado a partir da fonte.

 % 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

Mas observe também que este não é um servidor ativo e eu construí esta instalação do apache especificamente para testar o Wt

Falmarri
fonte
Dê uma olhada neste documento no wiki do Apache: DistrosDefaultLayout
nozimica