Esta é uma caixa do CentOS, então parte do layout é diferente do Ubuntu.
Se olharmos para o arquivo httpd.conf, ele espera obter os arquivos de configuração definidos localmente (hosts virtuais, etc.) de /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 ~]$
Agoraos documentos do Apachesugiro usar um diretório separado para configurações específicas para hosts virtuais,
IncludeOptional conf/vhosts/*/*.conf
mas não quero editar o arquivo httpd.conf caso ele seja substituído durante uma atualização ou algum outro evento. Então, qual seria a melhor maneira de falsificar isso sem modificar os arquivos originais? O melhor que consegui é um arquivo /etc/httpd/conf.d/zvirtualhosts.conf (nomeado para que seja lido apenas o mais próximo possível do final) que contém apenas a instrução include acima, mas parece um pouco confuso. Existem soluções mais elegantes/limpas?
Responder1
Além de usar um ou mais links simbólicos (o que honestamente parece menos preferível para mim), acho que sua solução proposta é tão elegante quanto você provavelmente conseguirá (pelo menos se você não estiver disposto a editar nenhum arquivo de configuração).
Responder2
Os documentos do RHEL/Centos sugerem usar arquivos de configuração diferentes do Ubuntu/Debian: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-web_servers#s2-apache-virtualhosts
Se você se preocupa com a substituição de arquivos de configuração, você sempre pode usar alguma ferramenta de gerenciamento de configuração como o Puppet.