Post actualizado el día octubre 29, 2026 by DeiviSanzPlay
La mayoría de la gente que intenta configurar XAMPP para desarrollo local se topa con el mismo muro: Apache no arranca y el panel se queda en rojo. No es XAMPP. Casi siempre es Skype, IIS o algún servicio de Windows ocupando el puerto 80. Ese es el punto de partida real, no la instalación.
Antes de tocar nada, conviene entender qué hace XAMPP y qué no. Es un stack empaquetado: Apache, MySQL/MariaDB, PHP y Perl. Sirve para tener un entorno LAMP en tu máquina sin montar cada pieza por separado. No es un servidor de producción, y forzarlo a serlo es una mala idea.
Por qué Apache se cae al arrancar
El fallo más común al configurar XAMPP para desarrollo local es el puerto. Apache escucha por defecto en el 80. Windows 10 y 11 a veces reservan ese puerto para HTTP.sys, y Skype lo usa para llamadas entrantes. El síntoma: el botón Start parpadea y se apaga.
Dos salidas. La primera, cerrar el proceso que ocupa el puerto con netstat -ano | findstr :80 y matarlo desde el administrador de tareas. La segunda, cambiar el puerto de Apache a 8080 editando httpd.conf: busca Listen 80 y ServerName localhost:80, cámbialos. Ojo, si cambias el puerto, tus URLs locales pasan a http://localhost:8080. Muchos tutoriales no lo mencionan y luego la gente se pregunta por qué WordPress no encuentra la base de datos.
La carpeta htdocs y el hábito de no trabajar ahí
XAMPP coloca los proyectos en C:xampphtdocs. Funciona, pero es un desastre a largo plazo: mezclas proyectos, backups y archivos temporales en la misma raíz. Yo prefiero crear un VirtualHost por proyecto. Se hace en httpd-vhosts.conf, apuntando el DocumentRoot a una carpeta fuera de htdocs, por ejemplo C:devmi-proyectopublic.
Hay que añadir la entrada en C:WindowsSystem32driversetchosts: 127.0.0.1 mi-proyecto.local. Sin privilegios de administrador no se guarda. Es el paso que más se olvida al configurar XAMPP para desarrollo local y el que provoca el error 403 Forbidden.
PHP, MySQL y la versión que elijas importa
XAMPP trae una versión de PHP concreta según la build que descargues. Si tu proyecto usa Laravel 11 o Symfony reciente, necesitas PHP 8.2 o superior. Instalar la build antigua y luego pelear con Composer es perder una tarde. Revisa phpinfo() antes de instalar dependencias.
Con MySQL/MariaDB pasa algo parecido. El usuario root viene sin contraseña por defecto, lo cual está bien para local y fatal si expones el equipo a la red. No cambies la contraseña solo por costumbre: si lo haces, actualiza también el config.inc.php de phpMyAdmin o te quedarás fuera.
Un detalle que casi nadie comenta: XAMPP en Windows no gestiona bien los permisos de archivos como Linux. Si trabajas con un proyecto que en producción corre en un servidor Linux, los errores de permisos no aparecerán en local. Eso te da una falsa sensación de seguridad.
Cuándo XAMPP no es la herramienta adecuada
Si tu stack es Node, Python o Go, XAMPP sobra. Si necesitas varias versiones de PHP simultáneas, XAMPP te obliga a reinstalar o a duplicar la carpeta entera. Herramientas como Laragon, Valet o Docker resuelven eso mejor. XAMPP sigue teniendo sentido para quien empieza con PHP puro o WordPress y quiere algo que funcione el primer día.
En un equipo con poca RAM, tener Apache, MySQL y el navegador abiertos consume. No es dramático, pero se nota. Para pruebas rápidas de un script suelto, el servidor embebido de PHP (php -S localhost:8000) es más ligero y no requiere XAMPP encendido.
Un ejemplo concreto
Hace poco monté un WordPress local con XAMPP en un portátil con Windows 11. Apache no arrancaba. El puerto 80 estaba tomado por un servicio de impresión en red. Cambié Apache al 8080, ajusté el siteurl y home en la base de datos, y creé un VirtualHost con mi-tienda.local. La importación de la base de datos falló la primera vez porque el max_execution_time por defecto se quedó corto. Subirlo en php.ini y reiniciar Apache lo resolvió.
Nada de eso está en la documentación oficial de Apache Friends con detalle. Está repartido entre foros y preguntas sueltas. Por eso conviene probar el entorno con un proyecto pequeño antes de meter el bueno.
Comprobaciones antes de dar por cerrada la configuración
Verifica cuatro cosas: que Apache y MySQL estén en verde, que http://localhost (o tu puerto) responda, que phpMyAdmin cargue sin errores de sesión y que tu VirtualHost resuelva. Si algo falla, revisa los logs en C:xamppapachelogserror.log antes de tocar código. El log dice más que cualquier tutorial.
Configurar XAMPP para desarrollo local no es difícil, pero tampoco es pulsar siguiente, siguiente, siguiente. Los puertos, los hosts y las versiones son los tres puntos donde se rompe. Con eso controlado, el resto es trabajar.
Perfiles verificables: Sitio web
Publicado el 29 de October de 2026. Última revisión: 29 de October de 2026.