Estoy tratando de configurar hosts virtuales en Mac OS X. He estado modificando httpd.conf y reiniciando el servidor, pero no he tenido la suerte de hacerlo funcionar. Además, noto que no está sirviendo archivos en DocumentRoot mencionado en httpd.conf (Libraries / WebServer / Documents), sino en un directorio diferente (/ usr / local / apache2 / htdocs). No veo esta carpeta mencionada en ninguna parte de httpd.conf. Además, PHP funciona, pero la línea "LoadModule php5_module" está comentada. Esto me hace pensar que está usando otro archivo .conf. ¿Cómo puedo averiguar qué configuración se está cargando realmente?
Actualización: acabo de eliminar que httpd.conf y apache se comportan igual después del reinicio, ¡así que definitivamente no lo estaba usando!
fuente
/usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/apache2/httpd_server_app.conf -D WEBSERVICE_ON
Hay otra pregunta por defecto del servidor con respecto a esto . Si está usando un servidor basado en Debian, puede usarlo
apache2ctl
para determinar qué archivo de configuración se está usando:Más sobre esto:
Cómo averiguar qué httpd.conf apache está usando en tiempo de ejecución
fuente
Tratar
y deberías (podría) obtener resultados como
Además, ¿cómo exactamente está reiniciando el servidor? Sólo por curiosidad, en caso de que por alguna razón no está en realidad volver a leer el archivo de configuración.
fuente
-f
banderaDebido a que algunas configuraciones usan la aplicación del servidor, brew o lo que sea, y porque uno contiene FTW:
Este comando hace lo siguiente:
Probado en Sierra y El Capitan
fuente
$
es importante (no es la línea de comandos en este caso). Si convierte la declaración en parens en un comando, al que le pasamos la-V
bandera. Dejarlo fuera da como resultado: "error de sintaxis cerca del token inesperado` -V '".Primero, verifique cuál es el script de inicio para Apache. Para macOS, debería ser / Library / LaunchDaemons. Eso podría incluir un directorio de trabajo o información similar.
También puede depurar el proceso en ejecución con dtruss. Puede conectarse al proceso en ejecución usando
dtruss -p <pid>
. Luego, si lo HUP, probablemente pueda examinar la salida para ver de dónde está tomando su configuración. Alternativamente, simplemente inicie Apache llamando a dtruss directamente condtruss start_apache_command
.Siempre puede hacer una búsqueda en todo el sistema de httpd.conf con
find / -name httpd.conf
.fuente