Post actualizado el día octubre 29, 2026 by DeiviSanzPlay
Cuando alguien intenta XAMPP instalar Magento local, el fallo más repetido no es de configuración ni de versiones: es copiar la carpeta de Magento directamente dentro de htdocs y abrir localhost/magento como si fuera un WordPress cualquiera. Magento no funciona así en la mayoría de configuraciones de XAMPP, y el resultado es una pantalla en blanco, un 404 o una redirección infinita al instalar.
La razón es sencilla: Magento espera un document root que apunte a su subcarpeta pub/ (en versiones modernas) o genera URLs con una base distinta a la que XAMPP sirve por defecto. Si dejas la carpeta completa en htdocs, Apache entrega el index.php de la raíz, no el de pub, y el instalador nunca termina de arrancar.
Por qué el document root de XAMPP rompe la instalación de Magento
Apache en XAMPP sirve por defecto desde C:xampphtdocs. Magento, desde la versión 2.x, separa el código de la carpeta pública. Al copiar todo el proyecto en htdocs, el navegador accede a archivos que no deberían ser accesibles y el setup busca rutas que no coinciden con la URL base.
He visto casos donde el instalador avanza hasta el paso de base de datos y luego devuelve un error genérico de «Something went wrong». En casi todos, el log de Apache mostraba peticiones a /magento/setup/index.php que no resolvían porque el rewrite de Apache no estaba activo.
Esto no funciona para quien quiera montar Magento en un subdirectorio al estilo de otros CMS. La solución pasa por un Virtual Host, no por un parche en el .htaccess.
El Virtual Host que casi nadie configura al usar XAMPP con Magento
La forma estable de XAMPP instalar Magento local es crear un host virtual en httpd-vhosts.conf que apunte directamente a C:xampphtdocsmagentopub. Después hay que añadir la entrada 127.0.0.1 magento.local en el archivo hosts de Windows o Linux.
Con el Virtual Host activo, la URL base del instalador debe ser http://magento.local/ y no http://localhost/magento. Ese detalle concreto es el que separa una instalación que arranca de una que se queda colgada en el primer paso.
Conviene activar también los módulos mod_rewrite y mod_headers desde el panel de Apache en XAMPP. Sin ellos, Magento lanza avisos de configuración del servidor durante el asistente.
Requisitos que XAMPP no cubre por defecto
XAMPP trae PHP y MySQL listos, pero no siempre en las versiones que Magento exige. Las versiones recientes de Magento piden PHP 8.x con extensiones como intl, soap, sodium y bcmath activadas en el php.ini. Si falta alguna, el instalador lo detecta y se detiene.
El límite de memoria y el tiempo máximo de ejecución también importan. Los valores por defecto de XAMPP suelen quedarse cortos para el proceso de instalación, que genera tablas y compila dependencias. Subir memory_limit y max_execution_time en php.ini es un ajuste habitual, aunque no garantiza que todo vaya fluido en cualquier equipo.
Otro punto que la documentación oficial de Magento y los foros de XAMPP repiten: MySQL/MariaDB debe tener un usuario con permisos suficientes y, en algunas versiones, el modo strict conviene desactivarlo temporalmente porque ciertas consultas del instalador fallan con él activo.
El error de la clave de cifrado y el caché
Después de la base de datos, muchos se topan con que la instalación termina pero el backend devuelve un 500. Casi siempre es la clave de cifrado o el caché generado con URLs incorrectas. Si cambiaste la URL base a mitad del proceso, hay que limpiar var/cache y generated a mano.
Para quien esté probando extensiones o temas, esta ruta local es suficiente. Para quien pretenda medir rendimiento real, el entorno XAMPP en Windows no refleja lo que verás en un servidor Linux con Nginx o Apache optimizado. Es una limitación honesta que conviene asumir desde el principio.
Cuándo no merece la pena insistir con XAMPP
Si tu objetivo es desarrollo serio con Magento, herramientas como Docker con las imágenes oficiales o un entorno tipo DDEV ahorran los ajustes manuales de Virtual Host y extensiones. XAMPP instalar Magento local sirve para aprender, probar un módulo o revisar una tienda de ejemplo, pero se queda corto en reproducibilidad.
La conclusión práctica: el error inicial no está en Magento ni en XAMPP por separado, sino en tratar Magento como si fuera un CMS que se abre desde htdocs. Cambia el document root al directorio pub, crea el Virtual Host y deja que el instalador use una URL base coherente. Con eso, la mayoría de bloqueos iniciales desaparecen.
Perfiles verificables: Sitio web
Publicado el 29 de October de 2026. Última revisión: 29 de October de 2026.