1. ¿Cómo configura sus vhosts?
La "manera León" de hacerlo sería no comentar la siguiente línea en su httpd.conf.
#Include /private/etc/apache2/extra/httpd-vhosts.conf
Ahora puede editar /private/etc/apache2/extra/httpd-vhosts.conf y poner sus vhosts allí. Es una buena idea comenzar con uno predeterminado que coincida con todos los hosts no calificados, por ejemplo:
<VirtualHost *:80>
DocumentRoot /Library/WebServer/Documents
</VirtualHost>
A continuación, puede agregar todos los vhost al mismo archivo, o puede configurar un sistema similar como Debian incluyendo todos los archivos en un directorio específico a continuación, de este modo:
Include /etc/apache2/sites-enabled/*
Ahora, si los archivos de enlaces simbólicos que existen en otro lugar (sitios disponibles) o los archivos reales no importan. Personalmente, creo que los sitios disponibles son excesivos para un cuadro de desarrollo (y realmente nunca quiero "deshabilitar" un vhost), así que simplemente creo un archivo para cada host virtual directamente en sitios habilitados o equivalentes (de hecho, nombré el directorio / etc / apache / sites para evitar confusiones).
2. ¿Dónde coloca el código y docroot para sus vhosts?
Mis sitios reales que puse en / Usuarios / nombre de usuario / Sitios. Prefiero ponerlos en mi directorio de inicio para facilitar el acceso en el Finder, etc. Dicho esto, es bueno notar que este directorio está expuesto de manera predeterminada por el módulo userdir. Ya que no necesito userdir hosting, y voy a configurar webroots a continuación, lo deshabilité comentando la siguiente línea:
Include /private/etc/apache2/extra/httpd-userdir.conf
3. ¿Dónde colocas los archivos de registro?
Los archivos de registro mantengo lo mismo (por ejemplo, / var / log / apache / *). Nuevamente, para un cuadro de desarrollo local, creo que los archivos de registro individuales para cada vhost son excesivos. Solo puedo hacer muchas tareas múltiples :) Si quiere archivos de registro separados, por supuesto, puede configurarlo de esa manera dentro de la directiva VirtualHost (por ejemplo, /var/log/apache/my.project.dev-error.log) .
4. ¿Dónde coloca la configuración de la aplicación local?
¿A qué aplicaciones te refieres? Si es una aplicación web, los guardo junto con todos los demás archivos de proyecto. Dependiendo de su arquitectura, sus archivos de configuración no necesitan estar bajo su webroot si eso es un problema, de hecho, normalmente mi webroot para cualquier proyecto dado será / Users / username / Sites / someproject / web, por lo que los archivos de configuración podrían estar en / Usuarios / nombre de usuario / Sitios / someproject / config sin exponerlos a través de Apache.
5. ¿Cómo resuelves el servicio de nombres?
Lo más directo sería agregar cada nombre de host a / etc / hosts. Desafortunadamente, esto no hace comodines. Si te sientes cómodo configurando un servidor DNS como enlace, puedes configurar uno localmente o en tu red para resolver * .dev a 127.0.0.1, por ejemplo. La desventaja de hacer eso en su red es, por supuesto, que dejará de funcionar en una ubicación diferente. Personalmente, uso / etc / hosts.