Esta es una caja de CentOS, por lo que parte del diseño es diferente al de Ubuntu.
Si miramos el archivo httpd.conf, espera obtener los archivos de configuración definidos localmente (hosts virtuales, 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 ~]$
Ahoralos documentos de apachesugerimos utilizar un directorio separado para configuraciones específicas de hosts virtuales,
IncludeOptional conf/vhosts/*/*.conf
pero no quiero editar el archivo httpd.conf en caso de que se sobrescriba durante una actualización o algún otro evento. Entonces, ¿cuál sería la mejor manera de falsificar eso sin modificar los archivos originales? Lo mejor que se me ocurrió es un archivo /etc/httpd/conf.d/zvirtualhosts.conf (llamado así solo se lee lo más cerca posible del final) que solo tiene la declaración de inclusión anterior, pero se siente un poco complicado. ¿Existen soluciones más elegantes/limpias?
Respuesta1
Aparte de usar uno o más enlaces simbólicos (lo que honestamente me parece menos preferible), creo que la solución propuesta es tan elegante como probablemente sea (al menos si no está dispuesto a editar ningún archivo de configuración).
Respuesta2
Los documentos de RHEL/Centos sugieren usar diferentes archivos de configuración que Ubuntu/Debian: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-web_servers#s2-apache-virtualhosts
Si le preocupa la sobrescritura de archivos de configuración, siempre puede utilizar alguna herramienta de gestión de configuración como Puppet.