일부 구성 정보를 conf/httpd.conf에 저장하고 일부는 conf.d 폴더의 파일에 저장하는 이유는 무엇입니까?

일부 구성 정보를 conf/httpd.conf에 저장하고 일부는 conf.d 폴더의 파일에 저장하는 이유는 무엇입니까?

기본 Apache 구성 파일은 /etc/httpd/conf/httpd.conf내 CentOS 시스템에 있으며 다음 줄이 있습니다.

Include conf.d/*.conf

conf.d 내부에는 주로 다음 작업을 수행하는 파일이 있습니다:

LoadModule auth_kerb_module modules/mod_auth_kerb.so

그러나 거기에는 다른 사이트가 설정되어 있고 자체 프로필이 있습니다. 이것은 잘 생각되지 않은 것입니까, 아니면 제가 뭔가를 놓치고 있는 것입니까?

답변1

구성 파일을 분리하는 것은 구성 파일을 관리하는 한 가지 방법입니다. 모듈별 구성 줄을 자체 파일에 넣으면 모듈을 활성화하고 비활성화하는 것이 더 쉬워집니다. 이제 작은 구성 파일만 편집하면 되므로 관리에도 도움이 됩니다. (500줄의 httpd.conf를 열고 잘못된 옵션을 찾는다고 상상해 보십시오.)

시스템마다 아파치 구성 파일을 분리하는 방법이 다른 것 같습니다. 예를 들어, Gentoo에는 modules.d/and 가 vhosts.d/있고 Ubuntu에는 conf.d/, mods-available/, 및 가 mods-enabled/있습니다 . 이름이나 httpd.conf 의 행을 보면 그들이 무엇을 하는지 추측할 수 있습니다 .sites-available/sites-enabled/Include

답변2

Apache의 HTTPd에 대한 기능을 제공하는 여러 패키지가 있으므로 기본 패키지는 대부분의 기본 설정을 제공하는 httpd.conf를 설치하는 반면 다른 패키지(예: mod_ssl, nagios 및 php)에는 구성에 포함되어야 하는 기능이 있습니다. 각 패키지의 파일. 팩. Red Hat 패키저는 conf.d 디렉토리를 사용하여 이러한 패키지에 대한 구성을 배치합니다. 그렇지 않으면 각 패키지의 httpd.conf를 수정해야 하며, 이는 패키지 설치 중에 자동화하기 어렵습니다.

답변3

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

그러나 이것은 실제 서버가 아니라는 점에 유의하십시오. 저는 테스트용으로 특별히 아파치 설치를 구축했습니다.무게

관련 정보