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

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

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): Cambia Listen 80 por Listen 8080 y ServerName localhost:80 por ServerName localhost:8080.
  • Archivo httpd-ssl.conf (Puerto SSL opcional): Si el puerto 443 también entra en conflicto, cambia Listen 443 por Listen 4433.
  • Nueva ruta en tu navegador: A partir del cambio, accederás escribiendo http://localhost:8080/ en lugar de http://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.

Tabla de contenidos
  1. ⚡ Resumen exprés: Los 2 archivos que debes editar
  • ¿Por qué se produce el error de puerto 80 ocupado en XAMPP?
    1. Programas y servicios que suelen bloquear el puerto 80 en Windows:
    2. 🚀 ¿Cansado de lidiar con bloqueos de puertos y servicios locales en Windows?
  • Cómo cambiar el puerto de Apache en XAMPP paso a paso
    1. Paso 1: Detener los servicios en el panel de XAMPP
    2. Paso 2: Editar el archivo de configuración principal (httpd.conf)
    3. Paso 3: Modificar el puerto SSL si hay conflicto en el puerto 443 (Opcional pero recomendado)
    4. Paso 4: Actualizar la configuración de servicios y puertos en XAMPP
    5. Paso 5: Arrancar Apache y verificar en el navegador
  • Cómo abrir tus proyectos y WordPress con el nuevo puerto
  • Alternativa: Cómo identificar qué programa ocupa el puerto 80 sin cambiar XAMPP
  • Preguntas frecuentes
    1. ¿Cambiar el puerto a 8080 afecta a mis bases de datos MySQL?
    2. ¿Puedo utilizar cualquier número de puerto en lugar de 8080?
  • ¿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.

    xampp error puerto 80 ocupado

    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:


    Ver Planes de Servidores y Hosting Web Recomendados →

    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

    1. Abre el XAMPP Control Panel con permisos de administrador (clic derecho sobre el icono > Ejecutar como administrador).
    2. 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)

    1. En la fila del módulo Apache, haz clic en el botón Config.
    2. En el desplegable, selecciona la primera opción: Apache (httpd.conf). Se abrirá el archivo en el Bloc de notas.
    3. Pulsa Ctrl + B (o Ctrl + F) para abrir el buscador y localiza la siguiente directiva:
      Listen 80
    4. Modifícala sustituyendo el 80 por 8080:
      Listen 8080
    5. Vuelve a buscar en el documento la línea:
      ServerName localhost:80
    6. Cámbiala también por el nuevo puerto:
      ServerName localhost:8080
    7. Guarda los cambios en el menú Archivo > Guardar (Ctrl + G) y cierra el Bloc de notas.

    cambiar puerto apache httpd conf

    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:

    1. En el panel de XAMPP, haz clic nuevamente en Config junto a Apache.
    2. Selecciona la opción Apache (httpd-ssl.conf).
    3. Busca la línea Listen 443 y cámbiala por:
      Listen 4433
    4. Busca la etiqueta <VirtualHost _default_:443> y cámbiala por:
      <VirtualHost _default_:4433>
    5. 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:

    1. En la esquina superior derecha del panel de control de XAMPP, pulsa en el botón Config (con icono de engranaje).
    2. Haz clic en el botón Service and Port Settings.
    3. En la pestaña Apache, cambia el campo Main Port a 8080 y el SSL Port a 4433.
    4. Pulsa en Save y guarda los cambios en la ventana principal.

    Paso 5: Arrancar Apache y verificar en el navegador

    1. En el panel de XAMPP, haz clic en el botón Start junto a Apache.
    2. El fondo del módulo Apache debe colorearse en **verde**, mostrando en la columna de puertos: Port(s) 8080, 4433.

    apache funcionando puerto 8080

    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:

    1. En el panel de control de XAMPP, haz clic en el botón Netstat situado en el lateral derecho.
    2. Se abrirá una lista de puertos activos. Busca en la columna Port el número 80 o 443.
    3. Revisa el nombre del proceso en la columna Process (habitualmente System, skype.exe o httpd.exe).
    4. 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.

    Go up