Diagnóstico y Solución de Conflictos en Puertos 80 y 443
Soluciona el error clásico "Port 80 in use by Unable to open process with PID 4": diagnóstico con Netstat, liberación de puertos de IIS y cambio a puerto 8080.
El Gran Problema: "Port 80 in use by PID 4"
El error más frustrante para un principiante ocurre al hacer clic en Start en Apache y ver que el fondo verde dura medio segundo, se apaga y la consola se llena de letras rojas:
[Apache] Error: Apache shutdown unexpectedly.
[Apache] This may be due to a blocked port, missing dependencies, improper privileges, a crash, or a shutdown by another method.
[Apache] Port 80 in use by "Unable to open process" with PID 4!
¿Qué Significa PID 4?
En Windows, el PID 4 pertenece al propio kernel del sistema operativo (System). Casi siempre representa a los servicios integrados de IIS (Internet Information Services) de Microsoft:
- World Wide Web Publishing Service (W3SVC): Viene activado por defecto en muchas versiones de Windows Pro o Enterprise.
- Servicio de Administración Remota de Windows (WinRM).
- Programas que usan el puerto 80 o 443: Antiguas versiones de Skype o adaptadores de red de VMware Workstation.
Guía Visual de Diagnóstico y Solución
Diagrama 7.1: Las dos alternativas para resolver la colisión del puerto 80: liberar el puerto desactivando IIS o configurar el puerto 8080 en Apache.
Solución A: Liberar el Puerto 80 (La Más Recomendada)
Si no usas IIS de Microsoft, lo mejor es apagarlo para que Apache pueda usar el puerto estándar 80:
- Presiona
Win + R, escribeservices.mscy pulsa Enter. - En la lista de servicios, busca "Servicio de publicación World Wide Web" (o World Wide Web Publishing Service).
- Haz clic derecho sobre él ➔ selecciona Propiedades.
- Haz clic en el botón Detener.
- En la opción Tipo de inicio, selecciona Deshabilitado para que no vuelva a arrancar al reiniciar la PC.
- Haz clic en Aplicar y Aceptar.
- Abre el panel de XAMPP y pulsa Start en Apache: ¡iniciará en verde al instante!
Solución B: Cambiar Apache al Puerto 8080
Si por razones laborales necesitas conservar IIS en el puerto 80, cambia el puerto de Apache:
- En el panel de XAMPP, haz clic en el botón Config al lado de Apache y abre
httpd.conf. - Busca la línea
Listen 80y cámbiala porListen 8080. - Busca la línea
ServerName localhost:80y cámbiala porServerName localhost:8080. - Guarda el archivo (Ctrl + G) y vuelve a pulsar Start. Ahora Apache escuchará en
http://localhost:8080/.
⚡ Identificar el Proceso que Ocupa el Puerto 80 con PowerShell
Averigua con exactitud qué proceso tiene bloqueado el puerto 80 de tu sistema:
# Buscar qué proceso está escuchando en el puerto 80:
Get-NetTCPConnection -LocalPort 80 -ErrorAction SilentlyContinue |
Select-Object LocalAddress, LocalPort, OwningProcess, State
# Ver qué aplicación corresponde a ese número de proceso (PID):
Get-Process -Id 4 | Select-Object Id, ProcessName, Description
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lecciónSi cambias el puerto de Apache a 8080 en httpd.conf, ¿cómo debes escribir la dirección en tu navegador para ver tus proyectos?
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual de XAMPP: Instalación & Pruebas y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.