Post actualizado el día octubre 29, 2026 by DeiviSanzPlay
Recuerdo una tarde de domingo preparando un sitio de pruebas para un cliente. Instalé XAMPP en un portátil con Windows, pulsé Start junto a Apache y… nada. El panel se quedó verde un segundo y volvió a gris. Ese error XAMPP Apache no arranca me costó casi tres horas y una llamada incómoda para pedir más plazo. Lo que sigue es lo que aprendí aquel día, con los tropiezos incluidos.
El síntoma era engañoso: el botón de Apache parpadeaba, el log no mostraba nada alarmante y MySQL arrancaba sin quejarse. Esa combinación despista. Cuando Apache no levanta pero el resto del panel sí, el problema casi siempre está en el puerto, en un servicio del sistema que ya lo ocupa o en un archivo de configuración que tiene una línea mal escrita.
Lo primero que hice fue abrir el log de Apache desde el botón Logs. Ahí apareció la pista: make_sock: could not bind to address 0.0.0.0:80. Esa línea es el clásico del puerto 80 ocupado. En mi caso, Skype. Sí, Skype. Windows lo tenía residente en segundo plano y se comía el 80 sin avisar.
Puerto 80 ocupado: el sospechoso habitual del fallo de Apache en XAMPP
Antes de tocar nada, conviene saber quién está usando el puerto. Abres CMD como administrador y ejecutas netstat -ano | findstr :80. Te devuelve el PID del proceso. Luego tasklist | findstr <PID> y sabes si es Skype, IIS, un servicio de impresión o el propio Windows.
Si el intruso es IIS, puedes desactivar el servicio desde Servicios de Windows. Si es Skype, en su configuración hay una opción para no usar los puertos 80 y 443. Si no encuentras al culpable, la vía rápida es cambiar el puerto de Apache a 8080 desde el panel de XAMPP, en Config > httpd.conf. Eso sí: después tendrás que acceder a http://localhost:8080 en lugar de localhost a secas, y algunos proyectos con URLs absolutas pueden romperse.
Hay un detalle que casi nadie menciona: en equipos con Windows 10 u 11 recién actualizados, el servicio World Wide Web Publishing Service a veces se reactiva solo tras una actualización. No es casualidad que el error aparezca un lunes después de reiniciar.
Cuando el puerto no es el problema: configuración rota y rutas raras
En otra ocasión, en un PC de oficina con políticas corporativas, el puerto estaba libre y Apache seguía sin arrancar. El log mostraba un error de sintaxis en httpd.conf: alguien había editado la ruta del DocumentRoot y dejó una barra invertida suelta. Apache no tolera eso y muere sin decir mucho más.
También me topé con el antivirus. Avast y Bitdefender han dado problemas con el binario httpd.exe en algunas versiones. La solución pasa por añadir la carpeta de XAMPP a las exclusiones del antivirus. No es una garantía, pero en mi caso fue determinante. Y ojo con instalar XAMPP en Program Files: los permisos de escritura pueden bloquear la generación de logs y el arranque.
Otra causa frecuente es haber movido la carpeta de XAMPP después de instalarlo. Los servicios registrados siguen apuntando a la ruta antigua. Ejecutar xampp_setup_xampp.bat como administrador suele corregirlo.
Lo que no funciona siempre (y conviene saber)
Reinstalar XAMPP de cero es la solución que más se recomienda en foros, y es la que menos me ha servido. Si el puerto sigue ocupado o el antivirus sigue bloqueando, reinstalar no cambia nada. Es tirar tiempo.
Tampoco funciona ejecutar Apache como servicio si antes no lo has detenido desde el panel. El servicio y el panel compiten y el error se vuelve más confuso. Y si trabajas con máquinas virtuales o contenedores Docker, ten en cuenta que Apache en XAMPP no se lleva bien con el puerto 80 ya mapeado por otro contenedor.
Un matiz importante: en macOS y Linux el enfoque cambia. En Linux, el puerto 80 lo suele ocupar Apache del sistema o Nginx. Detener systemctl stop apache2 antes de arrancar XAMPP suele resolverlo. En macOS con versiones recientes, el firewall de aplicaciones puede interferir de forma intermitente.
Qué haría distinto la próxima vez
Ahora, antes de instalar XAMPP, compruebo qué ocupa el puerto 80 y añado la carpeta a las exclusiones del antivirus. Son dos minutos que ahorran una tarde. Y si el error XAMPP Apache no arranca vuelve a aparecer, miro el log antes de tocar configuraciones al azar. La documentación oficial de Apache Friends y los foros de Apache suelen tener la respuesta, aunque sea en inglés y con tres años de antigüedad.
No hay una receta mágica. Cada equipo tiene su historial de servicios, actualizaciones y software residente. Lo que sí funciona es ir descartando con método: puerto, log, configuración, antivirus, permisos. En ese orden.
Perfiles verificables: Sitio web
Publicado el 29 de October de 2026. Última revisión: 29 de October de 2026.