3 votos

Errores de Apache de Homebrew después de actualizar a Monterey, cómo resolver el error 256

Entonces, parece ser un problema relativamente común, pero seguir los pasos que otros usuarios utilizaron para resolver el problema no parecen estar funcionando para mí.

Recientemente actualicé OSX a Monterey en mi MBP de principios de 2015. Actualmente, al ejecutar brew services stop, start, and restart httpd recibo mensajes de éxito, pero al navegar a localhost o a mis hosts virtuales resulta en conexiones rechazadas.

Al ejecutar which httpd apunta al camino de Homebrew en /usr/local/bin/httpd

Actualmente, ejecutar brew services devuelve

Nombre    Estado     Usuario   Archivo
httpd   error  256 root   ~/Library/LaunchAgents/homebrew.mxcl.httpd.plist
mysql   started    Nizz0k ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
php@7.4 ninguno      

Brew doctor se queja de un paquete obsoleto proj@7, pero está instalado como dependencia de algunos paquetes espaciales con los que estoy trabajando. También se queja de mis archivos de configuración de Ansible y Postgres, pero no han causado ningún problema antes de esta actualización.

apachectl configtest se queja del servidor pero devuelve sintaxis ok

He intentado reinstalar, pero después de completar el proceso, al iniciar httpd ocurren errores con

Arranque fallido: 5: Error de entrada/salida
Intente volver a ejecutar el comando como root para obtener errores más detallados.
Error: Fallo al ejecutar; `/bin/launchctl bootstrap gui/502 /Users/Nizz0k/Library/LaunchAgents/homebrew.mxcl.httpd.plist` salió con 5

Lo cual es un error de Entrada/Salida bastante opaco. Siguiendo la sugerencia de ejecutar el comando como root, recibo quejas sobre ejecutar como root y esto

/Library/LaunchDaemons/homebrew.mxcl.httpd.plist: servicio ya bootstrappeado
Arranque fallido: 37: Operación ya en progreso
Error: Fallo al ejecutar; `/bin/launchctl bootstrap system /Library/LaunchDaemons/homebrew.mxcl.httpd.plist` salió con 37

Luego desinstalé eliminando los directorios sugeridos, luego de una reinstalación vuelve al Arranque fallido: 5: Error de entrada/salida

Entonces, aquí es donde he terminado, con una instalación de Apache dañada y sin estar seguro de hacia dónde dirigirme a continuación...

3voto

nesmrtelnateta Puntos 16

Quiero compartir mi forma de posiblemente solucionar este problema.

Después de ejecutar tail -f /usr/local/var/log/httpd/error_log, mi resultado fue:

[Thu Jan 27 16:32:18.327057 2022] [core:error] [pid 28368] (2)No existe el archivo o el directorio: AH00099: no se pudo crear /usr/local/var/run/httpd/httpd.pid.KMq3C9
[Thu Jan 27 16:32:18.327529 2022] [core:error] [pid 28368] AH00100: httpd: no se pudo registrar el PID en el archivo /usr/local/var/run/httpd/httpd.pid
[Thu Jan 27 16:36:12.775769 2022] [core:error] [pid 122] (2)No existe el archivo o el directorio: AH00099: no se pudo crear /usr/local/var/run/httpd/httpd.pid.sFmHyH

Así que parece que no tengo ese archivo creado. Así que lo creé usando

mkdir /usr/local/var/run
mkdir /usr/local/var/run/httpd

Luego ejecuté apachectl start resultando en

(13)Permiso denegado: AH00072: make_sock: no se pudo enlazar a la dirección 127.0.0.1:80
no hay sockets de escucha disponibles, apagando
AH00015: No se pudieron abrir los logs

Así que cambié la fila Listen 8080 en /usr/local/etc/httpd/httpd.conf a Listen 127.0.0.1:8080

Después de ejecutar apachectl stop/start obtuve un error que decía

(13)Permiso denegado: AH00091: httpd: no se pudo abrir el archivo de registro de errores /usr/local/var/log/httpd/error_log.
AH00015: No se pudieron abrir los logs

Así que eliminé dos archivos (error_log y access_log) dentro de /usr/local/var/log/httpd/

Luego por alguna razón utilicé sudo /usr/local/bin/httpd -k start para iniciar httpd. Si eso devuelve que el proceso ya está en ejecución, simplemente kill ese proceso y vuelva a iniciar httpd.

mi /usr/local/var/log/httpd/error_log ahora no muestra ningún error y localhost funciona correctamente en localhost:8080 como se cambió antes.

Y sí, brew services list todavía muestra un error en httpd.

1 votos

Estoy aceptando esto porque tiene toda la información diagnóstica necesaria. Realmente no sé qué lo solucionó para mí, pero estos pasos te harían repetir los pasos que tomé. ¡Gracias!

0 votos

La parte de sudo /usr/local/bin/httpd -k start parecía haber funcionado en mi caso.

0voto

Djanym Puntos 11

Publicando mi caso (tal vez ayudará a alguien):

En mi caso tail -f /usr/local/var/log/httpd/error_log estaba resultando:

tail: /usr/local/var/log/httpd/error_log: No such file or directory

De todos modos, he eliminado /usr/local/var/run/httpd/httpd.pid y reiniciado el httpd:

rm /usr/local/var/run/httpd/httpd.pid
brew services stop httpd
brew services start httpd

Luego ejecutar brew services para verificar si está funcionando.

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