Panic mode: Apache no reinicia!


Hay muchos problemas que pueden llevarte a que no puedas iniciar Apache una vez que se te ha caído. Pero me parece interesante comentar aquí uno de estos problemas porque nos ha traído bastante de cabeza este último par de días.

Un poquito de contexto: tenemos un instalador en Java que te instala en la máquina SidelabCode Stack, la forja de desarrollo software de Sidelab de la que puedes ver un ejemplo funcionando aquí. Este instalador se encarga de montar toda la forja sobre una Ubuntu 10.04 (estamos actualizando a 12.04, pero antes queremos estabilizar el instalador). Entre otras cosas, el instalador monta Apache con módulos para php, svn, y otras cosillas. Para el caso que nos ocupa, lo que nos interesa es que el instalador configura la forja según se indica en un fichero de configuración. Ese fichero contiene, entre otras cosas, las IPs donde hay que poner a escuchar a Apache.

Y aquí viene el problema. El instalador, por su cuenta y riesgo, añade en /etc/hosts lo siguiente siempre:

Listen 127.0.0.1:80

Entonces, si en el fichero de configuración le indicamos como IP pública del servicio 127.0.0.1, acabamos con dos líneas iguales:


Listen 127.0.0.1:80
Listen 127.0.0.1:80

Y Apache nos escupe este bonito mensaje de error, donde no sabes si los palos te vienen por el binding al puerto 80, por los permisos para acceder a los logs, o por cualquier otra razón…


httpd not running, trying to start
(98)Address already in use: make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
Unable to open logs

El problema es que intenta atarse dos veces al puerto 80 en 127.0.0.1, fallando la segunda vez, lo que produce como resultado que termine el proceso completamente. En el caso de nuestro instalador, la solución pasa por comprobar que la IP que te configuran no es la 127.0.0.1, para evitar poner dos veces la misma combinación de IP y puerto en el fichero.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s