Cuando Apache no inicia porque Skype se ejecuta primero

Cuando en la misma computadora conviven Skype y Apache podemos llegar a tener inconvenientes porque ambos utilizan el puerto 80 para sus conexiones. El puerto 80 es el puerto en el que por defecto Apache escucha las conexiones mientras que Skype lo utiliza como un puerto adicional o de respaldo. Contemplar que no sea un error de configuración de Apache el que no permite iniciarlo!

El problema se produce si:

  • Apache está configurado para escuchar en el puerto 80
  • Skype se inicia antes que Apache, por lo que se le asigna el puerto
  • Apache no puede iniciar

Cuando intentamos iniciar Apache desde la línea de comandos de Windows veremos el siguiente error:

net start apache2.2
El servicio de Apache2.2 está iniciándose.
El servicio de Apache2.2 no ha podido iniciarse.
Error específico del servicio: 1.
Puede obtener más ayuda con el comando NET HELPMSG 3547.

Para solucionarlo tenemos 3 alternativas:

1. Cambiar configuración de Skype

Dado que Skype utiliza el puerto 80 como un adicional, esta es la solución recomendada por mí. Para ello:

  1. Iniciar sesión en Skype
  2. Acceder al menú Herramientas > Opciones
    • o bien, presionar Ctrl + ,
  3. Abrir la opción Avanzada > Conexión
  4. Desmarcar la opción “Usar los puertos 80 y 443 para conexiones entrantes adicionales”
  5. Confirmar con Guardar

Si vemos que Skype permite las comunicaciones correctamente, y podemos iniciar el servicio de Apache, entonces damos por solucionado el problema.

Es posible que en ciertos entornos no sea una solución aplicable por políticas de seguridad de la red interna que no permitan conexiones en el puerto configurado de Skype, pero sí en alguno de los adicionales (80 o 443).

2. Cambiar el puerto de Apache

Si es posible utilizar un puerto alternativo para Apache, y nuestra aplicación web lo soporta, entonces podemos optar por esta solución. De lo contrario paramos a la última opción.

  1. Abrir con un editor de textos el archivo: conf\httpd.conf en la ubicación donde instalamos Apache
  2. Modificar en la línea que indica “Listen 80” el 80 por otro número de puerto, por ejemplo el 8080
  3. Cambiar el puerto en cada uno de los VirtualHost definidos, si es que los tenemos
  4. Reiniciar el servicio de Apache para que tome la nueva configuración.

Recordar que puede ser necesario desbloquear acceso el web a nuestro equipo, permitiendo el acceso a través del nuevo puerto en el Firewall de Windows.

3. Asegurarse que Apache inicie antes que Skype

Si el problema se debe a que ambas aplicaciones inician automáticamente con Windows, hasta el momento no conozco una forma de lograr (y asegurar) que Apache lo haga ANTES que Skype. Es por eso que en este caso extremo habrá que configurar que Skype no se inicie automáticamente con Windows y dejar que Apache sí lo haga.

Para cambiar esta configuración de Skype:

  1. Iniciar sesión en Skype
  2. Acceder al menú Herramientas > Opciones
    • o bien, presionar Ctrl + ,
  3. Abrir la opción General > Configuración General
  4. Desmarcar la opción “Ejecutar Skype al encender el equipo”
  5. Confirmar con Guardar y reiniciar el equipo

De esta manera Apache adquiere el puerto 80 y luego Skype no puede utilizarlo, pero sí podría utilizar el 443 si mantuvimos la configuración inicial.

Basado en:

http://www.ehow.com/info_12216304_apache-conflict-skype.html

Tagged with: , , ,
Publicado en Aplicaciones