¿Qué es XAMPP, cómo instalarlo y configurarlo?
Cuando queremos desarrollar aplicaciones web con PHP, o empezamos a trastear con programación, bases de datos y CMS necesitamos hacernos con un entorno de desarrollo que permita trabajar en local como si tuviéramos un servidor real. Ante esta necesidad nace XAMPP, una de las herramientas más tradicionales para instalar todo un entorno de desarrollo con los programas que necesitas, que funcionan juntos sin que tengas que gastar tu tiempo en configurar nada.
¿Qué es XAMPP?
XAMPP es una herramienta que permite transformar el ordenador donde trabajas en el día a día en un servidor adecuado para ejecutar páginas programadas en PHP y bases de datos MySQL. Se trata de un paquete de software gratuito y de código abierto, creado por Apache Friends, cuyas siglas corresponden con un stack de tecnologías bien conocido:
- X: Nos indica que es multiplataforma, ya que lo podemos usar en Windows, macOS y Linux.
- A: de Apache, el servidor web encargado de «servir» las páginas.
- M: que viene de MySQL, la base de datos que tradicionalmente se distribuía con XAMPP, aunque ahora se distribuye con el SGB equivalente MariaDB
- P: PHP, el lenguaje de programación que usamos para que nuestras webs sean dinámicas del lado del servidor.
- P: Perl, que es otro lenguaje no tan conocido pero que se usaba mucho anteriormente a la aparición de PHP.
En resumen, con XAMPP podemos instalar sin esfuerzo toda una serie de tecnologías necesarias para que nuestras aplicaciones funcionen en un entorno local, de forma totalmente independiente de Internet. Lo bueno es que nos entrega todo instalado y configurado, sin que tengas que realizar pasos laboriosos o complejos.
¿Para qué sirve XAMPP?
Como hemos dicho, XAMPP permite disponer de un set de herramientas para poder ejecutar proyectos web en tecnologías muy conocidas. Vamos a ver en detalle qué nos ofrece.
Creación de un entorno de desarrollo web local seguro y privado
Con XAMPP tenemos todo un entorno de desarrollo completo,donde ejecutamos nuestros programas de forma aislada y sencilla.
Esto nos ofrece la posibilidad de ejecutar aplicaciones web sin tener que pagar un servidor de hosting y además hacerlo con privacidad total. Por otra parte nos permite también tener un control absoluto sobre la configuración, algo ideal cuando estamos desarrollando aplicaciones complejas.
Pruebas y despliegue de aplicaciones CMS como WordPress o Joomla
Si queremos trabajar con WordPress, Joomla o Drupal es necesario tener un servidor compatible con PHP y además un servidor de bases de datos. XAMPP nos lo pone en bandeja, permitiéndonos instalar estos CMS localmente en cuestión de minutos.
Esto nos permite arrancar con cualquier los CMS más populares y aprender a usarlos de manera segura. Además, si ya tenemos un proyecto en marcha, puedes usarlo también para experimentar con temas y plugins sin miedo a dejar nuestra web principal fuera de servicio.
Aprendizaje de programación en el lado del servidor con PHP y Perl
Cuando estás aprendiendo a programar con PHP (o incluso Perl si fuera el caso) generalmente quieres empezar a crear páginas sin tener que preocuparte por todos los programas que necesitas para que funcionen tus scripts.
En este sentido XAMPP se convierte en un gran aliado, ya que reduce de manera significativa la curva de entrada, permitiéndonos centrarnos en programar en vez de pasar jornadas enteras para aprender a configurar el entorno. Además, aumenta nuestra confianza, ya que puedes hacer pruebas de todo tipo sin preocuparte por romper nada.
Gestión y diseño de bases de datos relacionales mediante MariaDB y phpMyAdmin
Otra de las cosas que hace falta para poder desarrollar proyectos con PHP es contar con una base de datos. XAMPP incluye de casa MariaDB que es un sistema gestor compatible con MySQL.
Además, no nos hace falta ser expertos en SQL para manejar y administrar las bases de datos. ya que nos ofrece también phpMyAdmin, una interfaz web muy intuitiva donde podemos crear tablas, importar datos y administrar datos.
Depuración de errores (Debugging) antes de subir el proyecto a un hosting real
Por último, podemos usar XAMPP para probar nuestros proyectos en local, lo que resulta esencial para poder estar seguros que todo funciona, o solucionar errores de código y fallos de configuración.
¿Cómo descargar e instalar XAMPP?
Instalar XAMPP es tan sencillo como estás acostumbrado a hacer con cualquier otra aplicación en tu sistema operativo. Por ello estamos seguros que no tendrás muchos problemas, aún así queremos detallar algunos puntos que necesitas conocer para despejar posibles dudas, que pueden surgir sobre todo si estás comenzando en el mundo del desarrollo web.
Requisitos del sistema para Windows 11, macOS y distribuciones Linux
Realmente puedes ejecutar XAMPP en todo tipo de ordenadores. Como sistema operativo puedes utilizar tanto Windows, macOS o Linux y a poco que tu sistema esté mínimamente actualizado no tendrás problemas.
XAMPP requiere muy pocos recursos para funcionar por lo que con tener 4 GB de RAM y 1 GB de espacio en disco será suficiente.
Descarga oficial
Lo más importante en este punto es que utilices siempre la fuente oficial para descargar el programa. Es decir: www.apachefriends.org
Nunca obtengas el software en otro sitio que no sea la página de Apache Friends!
Proceso de instalación paso a paso
El proceso para instalar el software es el mismo que realizarías para cualquier otra aplicación que ya hayas instalado en tu ordenador. Por ejemplo, si estás en Windows tienes el típico instalador al que vas pulsando el botón de siguiente hasta que completes el proceso.
El asistente puede solicitar datos elementales, por ejemplo que selecciones los componentes que quieras incluir en tu sistema. Nuestra recomendación es dejar las opciones por defecto, ya que será lo más práctico.
Además, te permitirá elegir dónde lo vas a instalar y la opción predeterminada también es la más adecuada, que suele ser normalmente C:\xampp en Windows.
Configuración de permisos y ejecución como administrador
Una vez instalado ya puedes arrancar los servicios. Solo ten en cuenta que en algunos sistemas, especialmente Linux tienes que ejecutar XAMPP con permisos de administrador (o root) para que Apache pueda usar los puertos necesarios.
En Windows, si fuera necesario arrancar con permisos de administrador, lo puedes hacer con el botón derecho sobre el icono del programa y seleccionar luego «Ejecutar como administrador».
Configuración inicial del Panel de Control de XAMPP
Una vez instalado XAMPP tenemos a nuestra disposición un Panel de Control para gestionar todos los servicios. Te vamos a ofrecer una guía rápida de sus principales funciones.

¿Cómo iniciar y detener los servicios de Apache y MySQL?
Lo más importante que encuentras en el panel de control, dentro de la ventana principal, son unos botones que te permiten arrancar y parar los servicios que ofrece XAMPP. Entre estos servicios los principales son justamente el servidor web (Apache) y la base de datos (MariaDB/MySQL).
Pulsamos en «Start» para arrancar los servicios, con lo que el nombre del correspondiente servicio se pondrá en verde y el botón pasará a poner «Stop».

Luego pulsamos «Stop» cuando queramos detener los servicios, con lo que el nombre del servicio perderá su color verde y el botón podrán de nuevo «Start». Todo muy intuitivo.
Aquí solo es importante mencionar que para que estos servicios puedan arrancar en tu máquina necesita tener libres los puertos donde van a exponerse a los posibles clientes. Este asunto relativo a los puertos es uno de los principales inconvenientes con los que se enfrentan las personas que están comenzando y los vamos a detallar en varios puntos de este post. Así que, si por acaso te diese problemas, simplemente sigue leyendo.
Ahora bien, cuando los servicios estén activos, podremos comenzar a trabajar y ejecutar las páginas web que vayamos desarrollando. La mejor manera de comprobar si está todo bien es accediendo al servidor desde el navegador. Para ello escribimos https://localhost/ en la barra de direcciones y podremos ver la página de bienvenida de XAMPP.
Gestión de puertos
Los puertos son como las pasarelas donde los servidores escuchan solicitudes de los clientes que quieren conectarse a ellos. Son importantes porque cada cliente tiene configurado un puerto predeterminado donde espera que se encuentren los distintos servicios.
Por ejemplo para el servicio de acceso a páginas web de un servidor por HTTP usamos el puerto 80 y para acceso a una base de datos MySQL / MariaDB se usa 3306.
XAMPP está configurado para usar los puertos predeterminados, lo que te ayuda a que los programas funcionen como realmente esperan los navegadores o el propio PHP cuando se tiene que conectar con los servidores de bases de datos.
Lo que ocurre habitualmente es que otros programas puedan estar usando los mismos puertos, por lo que se encuentran ocupados cuando XAMPP quiere arrancar los servicios. Esto puede ocurrir por ejemplo si tienes otra instalación de Apache o Ngnix corriendo en tu ordenador, o un servidor web de otra marca, como IIS.
Si te da problemas, o quieres tener varios servidores corriendo a la vez en tu ordenador, puedes cambiarlos desde el panel de control con el botón «Config» y luego «Service and Port Settings».

Cada servicio tiene una pestaña para configurar su propio puerto.

Solo ten en cuenta que si cambias el puerto tendrás que acceder al servicio configurando el acceso de otro modo. Por ejemplo, si pones el puerto 12345 en el servidor web necesitarás acceder a las páginas con https://localhost:12345.
Configuración del firewall para permitir el tráfico local
Otra cosa que puede ocurrir es que tu sistema operativo te pregunte si quieres permitir que Apache o MariaDB se conecten la primera vez. Esto es perfectamente normal y te aconsejamos darles permiso en el firewall para que puedas usar los programas con total normalidad.
¿Cómo usar XAMPP para tu primer proyecto web?
Ahora que ya tenemos instalado XAMPP y hemos aprendido las configuraciones básicas necesarias para poder comenzar a trabajar, vamos a ver cómo podemos crear nuestro primer proyecto web en local.
Esto incluye la creación de sitios web para los cuales utilizarás código PHP, HTML, CSS o JavaScript. Esos lenguajes no los vamos a abordar directamente, pero sí enseñarte a dónde tienes que colocar los archivos para ver tu sitio web funcionando en el navegador.
La carpeta htdocs para guardar tus archivos PHP y HTML
En este punto la información más importante que debes conocer es la carpeta de publicación, que en XAMPP se llama «htdocs».
Para encontrarla simplemente accede a la carpeta donde hayas instalado XAMPP y ahí encontrarás el directorio «htdocs». Este es el directorio raíz de nuestro servidor Apache, por lo que todo que coloquemos en esa carpeta estará accesible vía navegador a partir de la URL mencionada (https://localhost). Si tienes experiencia con hosting real esta carpeta es como la que a veces se llama «public_html», «html» o «public» o cosas similares.
Por si todavía no te aclaras, vamos a dar un ejemplo más concreto. Imagina que quieres hacer una página básica, para ver si PHP funciona.
Entonces crea un archivo de texto con el siguiente código: (puedes usar cualquier editor para programadores, te recomendamos VSCode por ser el más usado en la actualidad)
<?php echo 'Hola mundo'; ?>
Ahora guarda ese archivo como C:\xampp\htdocs\miweb.php (en este punto la carpeta de XAMPP puede cambiar si no estás en Windows o si escogiste otra ruta para la instalación en el asistente).

Acceso a localhost para visualizar tu web en el navegador
Ahora, si tienes los servicios arrancados en el panel de control de XAMPP, podrás acceder a ese archivo como https://localhost/miweb.php
Veremos que el navegador interpreta los archivos PHP gracias a Apache y las configuraciones que ha hecho por debajo XAMPP, viendo que aparece una salida de la cadena «Hola mundo» por la página web.
Gestión de bases de datos con phpMyAdmin y MariaDB
La gestión de la base de datos también es muy sencilla en XAMPP, ya que nos podemos apoyar en phpMyAdmin, que es una herramienta que viene instalada de casa.
Por si no lo sabes, phpMyAdmin es una aplicación de interfaz web con la que gestionamos MariaDB o MySQL a golpe de clic. Para entrar, solo tenemos que escribir en nuestro navegador la ruta donde se encuentra esta aplicación web. Es decir, https://localhost/phpmyadmin/
Gracias a PhpMyAdmin podemos crear bases de datos, definir tablas, editar sus registros o importar información que tengamos en otras bases de datos. Todo de forma visual mediante páginas web.
Configuración avanzada y personalización
Todo lo que has aprendido hasta este punto te ofrecerá la información esencial que necesitas para empezar a trabajar con XAMPP y ejecutar tus proyectos PHP. Ahora bien, para casos un poco más avanzados, vamos a adelantarte algunos flujos de trabajo que podrás necesitar en un futuro próximo.
Cómo cambiar la versión de PHP en XAMPP
Cada paquete de XAMPP viene con una versión de PHP concreta y en principio no te recomendamos cambiarla a mano, ya que necesitarías hacer configuraciones complejas y es justo lo que queremos evitar cuando instalamos una herramienta-todo-en-uno con XAMPP.
Por ello, si necesitases cambiar la configuración de aspectos del núcleo de XAMPP, como la versión de PHP, te recomendamos descargar una nueva versión de XAMPP y volver a realizar el proceso de instalación.
Solo a modo de recomendación adicional te sugerimos que hagas copias de tus webs y las bases de datos antes de actualizar XAMPP. Lo normal es que al sustituir las versiones no se borren los datos, pero nunca está de más asegurarse.
- El backup de las páginas web simplemente lo consigues haciendo una copia de la carpeta htdocs.
- Los datos que hay en tus bases de datos te recomendamos que los salvaguardes usando las opciones de exportación que encuentras dentro de PhpMyAdmin.
Configuración de Virtual Hosts para usar dominios locales
Cuando trabajas con XAMPP lo normal es que vayas colocando todo lo que necesites ver en el servidor web dentro de la carpeta «htdocs». En este caso si tienes varios proyectos puedes simplemente crear una carpeta para cada uno de ellos y verlos de manera separada accediendo a la carpeta correspondiente, por ejemplo https://localhost/proyecto1.
Sin embargo, está alternativa no resulta del todo cómoda y tampoco excesivamente realista, porque cuando publiques tus proyectos generalmente lo harás en dominios de Internet en la carpeta raíz, por lo que podemos tener ligeros problemillas a la hora de publicar las páginas.
Si trabajas de manera profesional te recomendamos crear Virtual Hosts. Esto nos permite entrar a nuestro proyecto usando, por ejemplo, «https://miweb.local» en lugar de la ruta típica de localhost.
El proceso de crear los host virtuales en Apache no es trivial, pero sí tienes un poco de tiempo y paciencia para aprender tampoco resulta nada complicado.
Editamos el archivo «C:\xampp\apache\conf\extra\httpd-vhosts.conf» y añadimos un bloque como este al final del archivo:
<VirtualHost *:80> DocumentRoot 'C:/xampp/htdocs/miweb' ServerName miweb.local </VirtualHost>
Puedes usar perfectamente el Bloc de notas para editar el archivo:
Luego viene un paso muy importante que consiste en agregar el dominio que acabamos de «inventarnos» en el archivo de configuración de los host virtuales al archivo de «hosts» de nuestro sistema operativo.
Para conseguir realizar esta configuración necesitamos hacer varios pasos.
Primero tienes que abrir el Bloc de notas en modo administrador. Lo puedes hacer con el botón derecho y luego «Ejecutar como administrador».
Luego abres el archivo que está en la ruta «C:\Windows\System32\drivers\etc\hosts» y colocas una línea con este código:
127.0.0.1 miweb.local

Para acabar tienes que reiniciar Apache, desde el panel de control de XAMPP y ya podemos acceder a esa ruta como si fuera un dominio de Internet: https://miweb.local.
Mantener varios Virtual Hosts
Con lo que hemos visto en la anterior configuración del archivo «httpd-vhosts.conf» habrás creado un único host en tu servidor web. Es normal que quierascrear varios host en tu ordenador, actuando uno de ellos de manera predeterminada, en localhost.
Te vamos a pasar ahora el código de una configuración un poquito más avanzada para este archivo, que permitiría tener el host virtual «localhost» y luego también el dominio local «proyecto1.local».
<VirtualHost *:80> ServerName localhost DocumentRoot 'C:/xampp/htdocs' <Directory 'C:/xampp/htdocs'> AllowOverride All Require all granted </Directory> </VirtualHost> <VirtualHost *:80> ServerName proyecto1.local DocumentRoot 'C:/xampp/htdocs/proyecto1' <Directory 'C:/xampp/htdocs/proyecto1'> AllowOverride All Require all granted </Directory> </VirtualHost>
En esta configuración hemos añadido algunas cosas extra, pero lo importante es que te fijes que puedes tener un bloque VirtualHost por cada uno de los host virtuales que quieras mantener en tu instalación de Apache.
Aumentar el límite de subida de archivos en php.ini
Otra cosa muy común cuando estás desarrollando, especialmente al trabajar con CMS como WordPress, es tener que subir el tamaño de los archivos que podemos hacer upload desde el servidor.
Para esto simplemente abrimos el archivo «php.ini» (que solemos encontrar en «C:\xampp\php\php.ini») y luego Buscamos y cambiamos estos valores según necesitemos:
upload_max_filesize = 64M post_max_size = 64M
Para acabar guardamos los cambios y no podemos olvidarnos de reiniciar Apache para que los cambios estén listos.
Buenas prácticas de seguridad en XAMPP
XAMPP nos pone las cosas muy sencillas a la hora de desarrollar en local, pero debemos tener algo muy claro: no está diseñado para usarse como un servidor de producción real. Te vamos a adelantar estas y otras recomendaciones básicas.
¿Por qué XAMPP no debe usarse como servidor de producción real?
XAMPP está pensado para priorizar nuestra comodidad y rapidez a la hora de desarrollar pero no viene preparado para una seguridad estricta.
Al instalarlo, nos daremos cuenta de que muchos servicios vienen configurados de forma «abierta» por defecto y con configuraciones de sobra conocidas, como el usuario «root» de MySQL que no suele tener contraseña. Estas configuraciones, de exponerse en Internet serían blancos fáciles de ataques de seguridad graves.
¿Cómo establecer una contraseña para el usuario root de MySQL?
Como os comentábamos, MySQL en XAMPP suele venir sin contraseña para el usuario «root». Esto puede ser normal en muchos casos, la mayoría, pero sería un problema si nuestro equipo está expuesto a Internet de algún modo. Así que si quieres, puedes protegerlo así:
Entramos en nuestro phpMyAdmin en «https://localhost/phpmyadmin». Luego nos vamos a la pestaña Cuentas de usuario.
Allí buscamos el usuario «root» y pulsamos en Editar privilegios.
Entonces viene el paso importante: asignar una contraseña segura. Entonces guardas los cambios y ya lo tienes.
Solo que, para que phpMyAdmin pueda seguir entrando, tenemos que editar el archivo «config.inc.php» (dentro de la carpeta de phpMyAdmin) y poner nuestra nueva contraseña en la configuración:
$cfg['Servers'][$i]['password']
Desactivar servicios innecesarios para ahorrar recursos
XAMPP viene con algunos servicios que son realmente innecesarios en la mayoría de los casos, como por ejemplo Tomcat o FileZilla FTP. Te recomendamos mantenerlos parados si no sabes lo que son o no los estás usando en ese momento. Así ahorrarás recursos de tu máquina. Para pararlos simplemente pulsa el botón «Stop» (o no los arranques si están parados ya).
Solución de problemas comunes con XAMPP
Al usar XAMPP verás que todo va bastante bien y, en la mayor parte de los casos no verás problema alguno. Sin embargo existen algunas cosillas que se pueden atragantar sobre todo cuando estamos empezando. Aquí os traemos las soluciones a los fallos más típicos que nos solemos encontrar al usar esta herramienta.
Error «Apache shutdown unexpectedly»
Este es el mensaje que más nos suele asustar, y simplemente nos dice que Apache no ha podido arrancar y puede ocurrir por razones como estas:
- Algún otro programa nos está ocupando el puerto 80. En este caso la solución sería parar otros posibles servidores que tengas abiertos.
- Nos faltan permisos de administrador para iniciar el servicio. En este caso puedes arrancar XAMPP como superusuario o administrador.
El tema de los puertos es el más común y lo podemos gestionar bien dentro del panel de control de XAMPP.
Nuestra primera opción es ver qué programa ocupa los puertos. Para ello tienes un botón que pone «Netstat» que si lo pulsas te saldrá un listado de programas y puertos abiertos. Mira a ver si tienes algún software ocupando el puerto 80.

La otra posibilidad es configurar Apache para que use otro puerto, como ya explicamos antes, a través de «Config > Service and Port Settings».
Problemas de conexión con phpMyAdmin y privilegios de usuario
Si al intentar entrar en phpMyAdmin nos sale un error de «acceso denegado», es que está intentado acceder a la base de datos con unas credenciales que no son las correctas.
No debería ocurrir, pero puede que pase porque hemos tocado algo en los permisos de MySQL y la configuración no coincide.
Lo resolvemos primero comprobando que MySQL está encendido (en verde).
Luego si ese no era el problema echa un vistazo y verifica que en «config.inc.php» de PhpMyAdmin tengas el usuario y la contraseña correctos.
Conflictos con Skype, IIS o programas que bloquean puertos
A veces, aplicaciones como el servidor IIS de Windows se adueñan del puerto 80, lo que impide a Apache arrancar. Hay mucho otros programas pueden usar el puerto 80, ya que suele estar abierto con frecuencia en los sistemas operativos y se benefician de ello, evitando problemas de configuración en los usuarios.
Nuestra recomendación ya la hemos mencionado. Acceder al panel de control y luego en Netstat ver qué servicios puedan usar ese puertos. En último caso, cambiar el puerto de Apache.
Preguntas frecuentes sobre XAMPP
¿Es XAMPP totalmente gratuito y de código abierto?
¡¡Totalmente!! puedes usarlo para lo que quieras y es perfectamente lícito. No hay versiones de pago ni nada parecido.
¿Puedo instalar WordPress en XAMPP de forma local?
Por supuesto, de hecho es uno de los usos más frecuentes de tener un servidor local en funcionamiento.
El proceso es muy sencillo: nos bajamos WordPress de su web oficial, lo metemos en nuestra carpeta «htdocs», por ejemplo en «htdocs/wordpress». Incluso podemos crear un host virtual para acceder a ese proyecto como si fuera un dominio de Internet, tal como explicamos antes.
Además, no te olvides de crear la base de datos en phpMyAdmin porque necesitarás informarla al arrancar el asistente de instalación de WordPress.
¿Cómo actualizar XAMPP sin perder mis bases de datos?
Puedes usar XAMPP el tiempo que quieras y tus bases de datos permanecerán allí instaladas de manera indefinida.
Ahora bien, para no llevarnos un disgusto y perder nuestro trabajo cuando quitamos XAMPP o actualizamos la versión os sugerimos hacer el backup de las bases de datos que realmente queráis mantener seguras.
La manera más cómoda de conseguirlo es a través de PhpMyAdmin, desde la opción de «Exportar» las bases de datos.
¿XAMPP es compatible con las nuevas versiones de PHP 8.x?
Sí, desde hace tiempo todas las versiones de XAMPP trabajan con PHP 8.x.