Po co umieszczać niektóre informacje o konfiguracji w conf / httpd.conf, a niektóre w plikach w folderze conf.d?

11

Główny plik konfiguracyjny Apache znajduje się w /etc/httpd/conf/httpd.confmoim systemie CentOS, a tam jest wiersz:

Include conf.d/*.conf

Wewnątrz conf.d znajdują się głównie pliki, które robią coś takiego:

LoadModule auth_kerb_module modules/mod_auth_kerb.so

Ale są też inne witryny, które są tam skonfigurowane i mają własne pliki konfiguracyjne. Czy to nie było dobrze przemyślane, czy coś mi umknęło?

Tooshel
źródło

Odpowiedzi:

8

Rozdzielanie plików konfiguracyjnych jest sposobem na zarządzanie nimi. Umieszczając wiersze konfiguracji specyficzne dla modułu we własnych plikach, znacznie łatwiej jest włączać i wyłączać moduły. Pomaga także zarządzać nimi, ponieważ teraz masz tylko mały plik konfiguracyjny do edycji. (Wyobraź sobie otwarcie httpd.conf 500 linii i szukanie niepoprawnej opcji).

Różne systemy wydają się mieć różne sposoby oddzielania plików konfiguracyjnych Apache. Na przykład w moim Gentoo istnieje modules.d/i vhosts.d/, podczas gdy na moim Ubuntu istnieje conf.d/, mods-available/, mods-enabled/, sites-available/i sites-enabled/. Możesz zgadnąć, co robią po nazwie, lub poszukać Includelinii w httpd.conf .

phunehehe
źródło
3

Ponieważ istnieje kilka pakietów, które mogą zapewnić funkcjonalność HTTPd Apache, pakiet podstawowy instaluje httpd.conf, który zapewnia większość podstawowych ustawień, a inne pakiety, takie jak mod_ssl, nagios i php mają pliki konfiguracyjne, które należy dołączyć pakiet. Pakowacze Red Hat używają katalogu conf.d do upuszczenia konfiguracji dla tych pakietów, w przeciwnym razie musieliby zmodyfikować httpd.conf dla każdego pakietu, co jest trudne do zautomatyzowania podczas instalacji pakietu.

jsbillings
źródło
0

Odkryłem, że nie ma bardzo dobrze udokumentowanej specyfikacji, gdzie dokładnie są pliki konfiguracyjne w apache. Zwłaszcza, że ​​ostatnio zmienili domyślną metodę. Czy instalowałeś ze źródła czy z pakietu? Pakiety, szczególnie pakiety debian, wydają się wcale nie podążać za źródłem apache.

Minęło trochę czasu, odkąd wiele zrobiłem z Apache, ale jeśli pamiętam, conf.d / to miejsce, w którym należy umieścić ładowanie modułów demona, takich jak to, co opublikowałeś, ffi lub coś w tym rodzaju.

Podczas gdy conf / to tam, gdzie idą pliki konfiguracyjne specyficzne dla strony.

Tak wygląda moja, jest instalowana ze źródła.

 % 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

Ale zauważ też, że to nie jest serwer na żywo i zbudowałem tę instalację apache specjalnie do testowania wt

Falmarri
źródło
Spójrz na ten dokument na wiki Apache: DistrosDefaultLayout
nozimica