이것은 CentOS 상자이므로 일부 레이아웃이 Ubuntu와 다릅니다.
httpd.conf 파일을 보면 /etc/httpd/conf.d에서 로컬로 정의된 구성 파일(가상 호스트 등)을 가져올 것으로 예상됩니다.
[raub@webbie ~]$ fgrep Include /etc/httpd/conf/httpd.conf
Include conf.modules.d/*.conf
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# (You will also need to add "Includes" to the "Options" directive.)
IncludeOptional conf.d/*.conf
[raub@webbie ~]$
지금아파치 문서가상 호스트와 관련된 구성에는 별도의 디렉토리를 사용하는 것이 좋습니다.
IncludeOptional conf/vhosts/*/*.conf
하지만 업그레이드나 기타 이벤트 중에 httpd.conf 파일을 덮어쓰는 경우를 대비해 httpd.conf 파일을 편집하고 싶지 않습니다. 그렇다면 원본 파일을 수정하지 않고 이를 위조하는 가장 좋은 방법은 무엇일까요? 내가 생각해 낼 수 있는 가장 좋은 것은 위의 include 문만 있는 /etc/httpd/conf.d/zvirtualhosts.conf 파일(가능한 한 끝까지만 읽을 수 있도록 이름이 지정됨)이지만 약간 어색한 느낌이 듭니다. 더 우아하고 깔끔한 솔루션이 있습니까?
답변1
하나 이상의 기호 링크를 사용하지 않는 경우(솔직히 저에게는 덜 선호되는 것 같습니다) 귀하가 제안한 솔루션은 귀하가 얻을 수 있는 것만큼 우아하다고 생각합니다(적어도 귀하가 구성 파일을 편집할 의사가 없는 경우).
답변2
RHEL/Centos 문서에서는 Ubuntu/Debian과 다른 구성 파일을 사용하도록 제안합니다. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-web_servers#s2-apache-virtualhosts
구성 파일 덮어쓰기가 걱정된다면 언제든지 Puppet과 같은 일부 구성 관리 도구를 사용할 수 있습니다.