Soluciones Xampp

Puerto 80 ocupado en XAMPP: solución definitiva en 2026

Estás con XAMPP, quieres levantar Apache y te salta el dichoso error de que el puerto 80 ya está ocupado. No eres el único: es uno de los fallos más repetidos cuando montas un servidor local. La buena noticia es que tiene arreglo rápido si sabes qué está pasando realmente. Y no, no hace falta reiniciar el ordenador como loco ni reinstalar XAMPP.

Qué significa exactamente que el puerto 80 esté ocupado

El puerto 80 es el puerto por defecto del protocolo HTTP. Apache, el servidor que viene dentro de XAMPP, intenta escuchar ahí para servir tus páginas en http://localhost. Si otro programa ya está usando ese puerto, Apache no puede arrancar y te lanza el aviso. No es un error de XAMPP en sí, es un conflicto de recursos del sistema.

En Windows, muchos servicios se pelean por el puerto 80 sin que te enteres. Los típicos sospechosos son Skype, TeamViewer, el servicio World Wide Web Publishing Service (W3SVC) de IIS, VMware, algunos antivirus y hasta el propio servidor web de ciertos programas de Adobe. La solución al error de puerto 80 ocupado en XAMPP pasa por identificar quién lo tiene y decidir qué hacer con él.

Primer paso: cierra lo obvio y comprueba

Cierra Skype, TeamViewer, cualquier app de Adobe, el cliente de escritorio de Dropbox o Google Drive si lo tienes, y por supuesto IIS si alguna vez lo instalaste. Muchos de estos programas se inician con Windows y se quedan ahí en segundo plano sin que los veas. Revisa el área de notificación junto al reloj.

Si después de cerrarlos Apache arranca, ya está. El problema era uno de esos programas. Si sigue fallando, toca cavar más profundo. No te conformes con reiniciar y rezar para que funcione: eso no arregla la causa raíz.

Identifica el proceso que ocupa el puerto 80 con netstat

Aquí viene el paso que de verdad resuelve el problema. Abre el símbolo del sistema: pulsa Win + R, escribe cmd y dale a Enter. Ahora ejecuta este comando:

netstat -ano | findstr :80

Te saldrán varias líneas. Fíjate en la que tenga el estado LISTENING sobre la dirección 0.0.0.0:80 o 127.0.0.1:80. El último número de esa línea es el PID, el identificador del proceso que está ocupando el puerto 80. Anótalo.

Con ese PID, puedes saber qué programa es. Ejecuta tasklist | findstr [PID] y verás el nombre del ejecutable. A veces es httpd.exe (¡otro Apache zombi!), a veces svchost.exe (servicio de Windows), a veces Skype.exe. Saber quién es te da el poder de decidir.

Mata el proceso o cambia el puerto de Apache

Si el proceso que ocupa el puerto 80 no te importa, ciérralo con:

taskkill /F /PID [PID]

Sustituye [PID] por el número que anotaste. Con /F lo fuerzas. Si el proceso es un servicio de Windows como W3SVC, lo mejor es deshabilitarlo desde services.msc para que no vuelva a arrancar en el próximo reinicio. Ese servicio de IIS es un clásico que se activa al instalar Visual Studio o algún componente de desarrollo.

La otra vía, más limpia si no quieres tocar servicios del sistema, es cambiar el puerto de Apache en XAMPP. Abre el panel de control de XAMPP, haz clic en Config junto a Apache y elige httpd.conf. Busca la línea Listen 80 y cámbiala por Listen 8080. También cambia ServerName localhost:80 por ServerName localhost:8080 un poco más abajo. Guarda, reinicia Apache y accede a tus proyectos en http://localhost:8080.

Excepciones y matices que casi nadie te cuenta

No todo es blanco o negro. Si estás usando XAMPP para un proyecto que luego va a producción en un servidor con puerto 80, cambiar a 8080 puede liarte con rutas absolutas y redirecciones. En ese caso, mejor libera el puerto 80 de verdad en lugar de esquivarlo.

Otra cosa: en Windows 10 y Windows 11, el propio sistema reserva rangos de puertos para servicios como Hyper-V o WSL2. A veces el puerto 80 aparece como excluido y ningún proceso concreto lo está usando, pero Apache no puede tomarlo. Para comprobarlo, ejecuta en cmd como administrador:

netsh interface ipv4 show excludedportrange protocol=tcp

Si el 80 está dentro de un rango excluido, tendrás que reiniciar el servicio winnat o desactivar Hyper-V temporalmente. Es un caso menos frecuente pero real, sobre todo si desarrollas con Docker o WSL.

Revisa también el firewall y el archivo hosts

No es lo mismo un puerto ocupado que un puerto bloqueado, pero a veces se confunden. Si Apache arranca pero no ves la página, el problema puede ser el firewall de Windows bloqueando el puerto 80 o una entrada rara en el archivo hosts que redirige localhost a otra IP. Abre C:WindowsSystem32driversetchosts con un editor y asegúrate de que la línea 127.0.0.1 localhost está sin comentar.

Para el firewall, crea una regla de entrada permitiendo el puerto 80 para httpd.exe o para el puerto que hayas elegido. Es raro que bloquee localhost, pero en redes corporativas con políticas estrictas pasa más de lo que crees.

Resumen práctico para salir del apuro

Si quieres resolver el error de puerto 80 ocupado en XAMPP ahora mismo, haz esto en orden:

  • Cierra Skype, TeamViewer, IIS y cualquier servidor web que tengas abierto.
  • Abre cmd y ejecuta netstat -ano | findstr :80 para ver el PID.
  • Identifica el proceso con tasklist | findstr [PID].
  • Si no lo necesitas, mátalo con taskkill /F /PID [PID].
  • Si lo necesitas, cambia el puerto de Apache a 8080 en httpd.conf.

Con esto deberías tener Apache funcionando en menos de cinco minutos. Y si vuelve a pasar tras reiniciar, es señal de que algún servicio se está reactivando solo: deshabilítalo desde services.msc y asunto resuelto. No hay misterio, solo conflicto de recursos.

Sobre el autor

Deivi Sanz

Soy David, conocido como Deivi Sanz, especialista en SEO y marketing digital con más de 15 años de experiencia ayudando a negocios a destacar en el mundo online.

Mi pasión es transformar ideas en estrategias digitales efectivas, combinando análisis de datos, creatividad y las últimas tendencias en posicionamiento web. En este blog comparto mis conocimientos sobre SEO técnico, content marketing y growth hacking, siempre con un enfoque práctico y resultados medibles.

Cuando no estoy optimizando webs o escribiendo artículos, me encontrarás explorando nuevas herramientas SEO, analizando casos de éxito o disfrutando de un buen café mientras planifico la siguiente estrategia viral.

También me gusta implementar ideas creando plugin para WordPress o aplicaciones para Android.

Firma:

Con dedicación y estrategia,

David "Deivi Sanz"
🔍 Especialista SEO
🌐 Creador de Contenidos Digitales
🚀 Transformando visitas en oportunidades

¿Necesitas ayuda con tu proyecto digital?
¡Hablemos en los comentarios! o en contactar
Deivi Sanz

Ver más artículos de Deivi Sanz