Cómo cambiar el puerto de Apache en XAMPP (de 80 a 8080) por conflicto

Uno de los problemas más frecuentes al iniciar un entorno de desarrollo local con XAMPP es pulsar el botón Start y encontrarse con que el módulo de Apache se detiene de inmediato, mostrando líneas de texto en color rojo con el mensaje: "Port 80 in use... Apache will not start without the configured ports free". Este bloqueo se produce porque servicios del propio sistema operativo Windows (como IIS) u otras aplicaciones ya están utilizando ese canal de comunicación. En esta guía técnica paso a paso aprenderás cómo cambiar el puerto de Apache en XAMPP de 80 a 8080, cómo modificar los archivos de configuración y cómo acceder a tus proyectos sin errores.
⚡ Resumen exprés: Los 2 archivos que debes editar
- Archivo
httpd.conf(Puerto HTTP): CambiaListen 80porListen 8080yServerName localhost:80porServerName localhost:8080. - Archivo
httpd-ssl.conf(Puerto SSL opcional): Si el puerto 443 también entra en conflicto, cambiaListen 443porListen 4433. - Nueva ruta en tu navegador: A partir del cambio, accederás escribiendo
http://localhost:8080/en lugar dehttp://localhost/.
Nota: Si aún no conoces cómo funciona el entorno base, consulta nuestra guía introductoria sobre qué es Localhost (127.0.0.1) y cómo configurar XAMPP.
- Paso 1: Detener los servicios en el panel de XAMPP
- Paso 2: Editar el archivo de configuración principal (httpd.conf)
- Paso 3: Modificar el puerto SSL si hay conflicto en el puerto 443 (Opcional pero recomendado)
- Paso 4: Actualizar la configuración de servicios y puertos en XAMPP
- Paso 5: Arrancar Apache y verificar en el navegador
¿Por qué se produce el error de puerto 80 ocupado en XAMPP?
El protocolo HTTP estándar opera de manera predeterminada en el puerto 80. Cuando el servidor web Apache intenta arrancar, solicita al sistema operativo el control exclusivo de ese puerto. Si otro proceso del sistema ya lo tiene asignado, Apache aborta la ejecución para evitar colisiones de red.

Programas y servicios que suelen bloquear el puerto 80 en Windows:
- Servicios de Microsoft IIS (Internet Information Services): El servidor web nativo de Windows suele activarse en segundo plano con ciertas actualizaciones.
- Servicio de publicación World Wide Web (W3SVC): Un componente de red de Windows que reserva el puerto 80 de forma persistente.
- Skype y Teams: En versiones anteriores, Skype utilizaba por defecto los puertos 80 y 443 como conexiones entrantes alternativas.
- Servicio de virtualización Hyper-V y VMware: Reservan rangos de puertos dinámicos que en ocasiones solapan el rango estándar.
🚀 ¿Cansado de lidiar con bloqueos de puertos y servicios locales en Windows?
Los entornos locales como XAMPP son excelentes para programar, pero conllevan continuos conflictos de puertos, limitaciones de permisos y versiones de PHP desincronizadas con los servidores reales.
Para desplegar tus aplicaciones en entornos de producción con servidores web optimizados, discos NVMe ultrarrápidos, puertos aislados y soporte especializado en español las 24 horas, consulta las mejores opciones:
Cómo cambiar el puerto de Apache en XAMPP paso a paso
Sigue estas instrucciones detalladas para reasignar Apache a un puerto libre (como el 8080) sin romper tus bases de datos ni tu configuración de MySQL.
Paso 1: Detener los servicios en el panel de XAMPP
- Abre el XAMPP Control Panel con permisos de administrador (clic derecho sobre el icono > Ejecutar como administrador).
- Si algún módulo está activo o intentando reconectar, haz clic en el botón Stop correspondiente.
Paso 2: Editar el archivo de configuración principal (httpd.conf)
- En la fila del módulo Apache, haz clic en el botón Config.
- En el desplegable, selecciona la primera opción: Apache (httpd.conf). Se abrirá el archivo en el Bloc de notas.
- Pulsa Ctrl + B (o Ctrl + F) para abrir el buscador y localiza la siguiente directiva:
Listen 80 - Modifícala sustituyendo el 80 por 8080:
Listen 8080 - Vuelve a buscar en el documento la línea:
ServerName localhost:80 - Cámbiala también por el nuevo puerto:
ServerName localhost:8080 - Guarda los cambios en el menú Archivo > Guardar (Ctrl + G) y cierra el Bloc de notas.

Paso 3: Modificar el puerto SSL si hay conflicto en el puerto 443 (Opcional pero recomendado)
Si el panel de XAMPP también muestra advertencias con el puerto SSL (443), realiza este ajuste complementario:
- En el panel de XAMPP, haz clic nuevamente en Config junto a Apache.
- Selecciona la opción Apache (httpd-ssl.conf).
- Busca la línea
Listen 443y cámbiala por:Listen 4433 - Busca la etiqueta
<VirtualHost _default_:443>y cámbiala por:<VirtualHost _default_:4433> - Guarda y cierra el archivo.
Paso 4: Actualizar la configuración de servicios y puertos en XAMPP
Para que el panel de control reconozca el nuevo puerto en sus comprobaciones internas:
- En la esquina superior derecha del panel de control de XAMPP, pulsa en el botón Config (con icono de engranaje).
- Haz clic en el botón Service and Port Settings.
- En la pestaña Apache, cambia el campo Main Port a
8080y el SSL Port a4433. - Pulsa en Save y guarda los cambios en la ventana principal.
Paso 5: Arrancar Apache y verificar en el navegador
- En el panel de XAMPP, haz clic en el botón Start junto a Apache.
- El fondo del módulo Apache debe colorearse en **verde**, mostrando en la columna de puertos:
Port(s) 8080, 4433.

Cómo abrir tus proyectos y WordPress con el nuevo puerto
Al haber alterado el puerto por defecto, la sintaxis de las URLs cambia ligeramente. El navegador asume siempre el puerto 80 por omisión; por tanto, ahora debes especificar explícitamente el puerto :8080 en cada dirección:
| Destino Local | URL Anterior (Puerto 80) | Nueva URL con Puerto 8080 |
|---|---|---|
| Panel de control (Dashboard) | http://localhost/dashboard/ |
http://localhost:8080/dashboard/ |
| Gestor phpMyAdmin | http://localhost/phpmyadmin/ |
http://localhost:8080/phpmyadmin/ |
| Administración de WordPress | http://localhost/misitio/wp-admin/ |
http://localhost:8080/misitio/wp-admin/ |
👉 Si ya tenías instalado WordPress en local antes de cambiar el puerto, la web puede desconfigurarse porque las rutas internas siguen guardadas sin el :8080. Aprende a solucionarlo en nuestra guía sobre cómo acceder al panel de administración de WordPress en Localhost y cambiar la URL en phpMyAdmin.
Alternativa: Cómo identificar qué programa ocupa el puerto 80 sin cambiar XAMPP
Si prefieres no alterar la configuración de XAMPP y quieres mantener el puerto 80 nativo, puedes detectar qué aplicación está interfiriendo:
- En el panel de control de XAMPP, haz clic en el botón Netstat situado en el lateral derecho.
- Se abrirá una lista de puertos activos. Busca en la columna Port el número 80 o 443.
- Revisa el nombre del proceso en la columna Process (habitualmente
System,skype.exeohttpd.exe). - Si el responsable es el servicio IIS de Windows, abre la consola como administrador (cmd) y detén el servicio ejecutando:
net stop was /y
📚 Artículos relacionados de nuestra serie de servidores y desarrollo:
Preguntas frecuentes
¿Cambiar el puerto a 8080 afecta a mis bases de datos MySQL?
No. El motor de base de datos MySQL opera en un puerto totalmente independiente (de forma predeterminada el puerto 3306). Modificar el puerto web de Apache no altera la conexión interna entre PHP y tus tablas de MySQL.
¿Puedo utilizar cualquier número de puerto en lugar de 8080?
Sí, puedes usar otros puertos alternativos habituales como 8000, 8088 o 8888. Lo importante es que el puerto elegido no esté reservado por otros servicios del sistema operativo.
Si quieres conocer otros artículos parecidos a Cómo cambiar el puerto de Apache en XAMPP (de 80 a 8080) por conflicto puedes visitar la categoría Desarrollo y Programación.
