15 votos

Apache2 (Httpd) no funciona tras la actualización a High Sierra

Tengo un problema en el que Apache no se inicia después de actualizar a High Sierra 10.13.1. No hay nada que se muestre en los registros de error, pero cuando intento apachectl start no pasa nada. Si ejecuto apachectl configtest Recibo "Sintaxis OK

He utilizado comandos como sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist en vano. Apache no se inicia. Puedo ejecutar sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.httpd.plist y eso tampoco funciona.

He echado un vistazo a la lista de servicios de brew y httpd aparece en la lista junto con otro proceso (mysql) pero el estado de httpd está mostrando un "iniciado" amarillo en lugar de verde.

He probado muchas cosas diferentes, y lo que estoy encontrando es que si miro en el archivo system.log encuentro com.apple.xpc.launchctl[1] (homebrew.mxcl.httpd24[11780]): Service exited with abnormal code:1

Si ejecuto apachectl start, el comando parece funcionar, pero cuando ejecuto el comando stop obtengo "httpd (no pid file) not running.
También estoy recibiendo la salida de com.;apple.xpc.launchd[1] (org.apache.httpd): Por favor, cambie de OnDemand a KeepAlive.

¿Hay algo con High Sierra que está impidiendo que Apache se ejecute cuando funcionaba bien en Sierra?

1 votos

Estás mezclando el Apache httpd de Brew y el Apache httpd de Apple (cuyos demonios de lanzamiento inician binarios diferentes). ¿De dónde obtienes el estado de httpd (es decir, el indicador amarillo frente al verde)? ¿Qué guía de configuración inicial ha utilizado?

0 votos

No los estoy mezclando, estaba siguiendo los pasos de uso probando tanto el brew como el apache de Apple, Cuando realizo un brew services list' I receive a yellow indicator, I checked with all of the available users and ran brew services list` y todos muestran el mismo indicador. En cuanto a una guía de configuración, se utilizó Ansible para configurar apache. Esto se ha hecho en otros 5 MacBooks, todavía están ejecutando Sierra. Este MacBook tuvo un problema y un Apple ejecutó un diagnóstico y reinició el sistema operativo, mientras que la actualización del sistema operativo a High Sierra

0 votos

Con mezclar me refiero a: tener al menos dos binarios apachectl y httpd instalados (y dos archivos de configuración). Normalmente se prefiere el apachectl de brew (por el contenido por defecto de la variable PATH, aunque el tuyo puede ser diferente). AFAIR apachectl de brew no iniciará el httpd de Apple con la opción de inicio por defecto (es decir apachectl start ). Lo mismo ocurre con ... configtest ¡!

0voto

Sebastian Puntos 31

Yo sugeriría en contra de lo que dice HomeBrew siempre ejecutar httpd por sudo. Si hace ps -aef |grep httpd, verá que se está ejecutando. Hacerlo sin sudo no produce ninguna salida ps que puede dar la impresión errónea de que httpd no está funcionando.

Tampoco estoy seguro de si hay configuraciones diferentes o las mismas cargadas en ambos casos. He instalado PHP y he creado el archivo test.php con phpinfo en el directorio DocumentRoot. Si inicias apache con sudo puedes ver phpinfo con localhost/test.php mientras que usando brew services start httpd te dará error si DocumentRoot está en el área donde se requiere acceso Root.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X