XAMPP

XAMPP es un paquete de software libre y multiplataforma, ideado principalmente como un entorno de desarrollo local, que permite probar y ejecutar aplicaciones web basadas en PHP y bases de datos MySQL/MariaDB sin necesidad de conectar un servidor web a Internet.

Su nombre es un acrónimo que resume sus componentes principales: X (multiplataforma), A (Apache HTTP Server), M (MariaDB / MySQL), P (PHP) y P (Perl). Es una de las herramientas más utilizadas en la formación en informática y en el desarrollo web inicial por su facilidad de instalación y configuración unificada.

¿Qué componentes incluye XAMPP?

Aunque inicialmente nació para facilitar la puesta en marcha de Apache con PHP y MySQL, el paquete actual integra un panel de control gráfico desde el que se gestionan varios servicios clave:

  • Apache: El servidor web HTTP encargado de procesar y servir las páginas web locales al navegador del usuario.
  • MariaDB / MySQL: El sistema de gestión de bases de datos relacionales utilizado para almacenar la información de las aplicaciones web.
  • PHP: El lenguaje de programación interpretado del lado del servidor que da dinamismo a los sitios web (como WordPress, Moodle o aplicaciones a medida).
  • phpMyAdmin: Una interfaz web escrita en PHP que facilita la administración visual de las bases de datos MariaDB/MySQL mediante un navegador.
  • FileZilla FTP Server: Un servidor FTP integrado opcional para gestionar la transferencia local de ficheros.
  • Mercury Mail Server: Un servidor de correo electrónico de pruebas (menos utilizado en entornos modernos de desarrollo).

Tabla de servicios de XAMPP

Servicio / Componente Función Principal Puerto por Defecto (TCP)
Apache Servidor web HTTP para peticiones y páginas dinámicas. 80 (HTTP) y 443 (HTTPS)
MariaDB / MySQL Gestor de bases de datos relacionales del sistema. 3306
phpMyAdmin Interfaz gráfica web para la gestión de bases de datos. A través de Apache (/phpmyadmin)
FileZilla FTP Servidor de transferencia de ficheros para pruebas locales. 21

Características principales:

  • Es 100% gratuito y está disponible para los principales sistemas operativos del mercado: Windows, Linux y macOS.
  • Permite simular un entorno de producción real en un ordenador local (localhost) de forma aislada y segura.
  • La carpeta raíz donde deben alojarse los proyectos web (ficheros .php, .html, etc.) se ubica habitualmente en el directorio htdocs de la instalación.
  • Integra herramientas de configuración rápida para modificar los archivos principales de Apache (httpd.conf) o PHP (php.ini) directamente desde su panel de control.
  • Facilita la gestión de permisos y servicios mediante comandos de consola o interfaces gráficas dedicadas según el sistema operativo.

Analogía: Imagina un taller de carpintería portátil que viene completamente equipado en el maletero de un coche. En lugar de tener que buscar, comprar, medir y montar cada herramienta por separado (la mesa de trabajo por un lado, las sierras por otro y el sistema de iluminación de forma independiente), XAMPP abre el maletero y te ofrece un banco de trabajo listo para encender y empezar a construir muebles web desde el primer minuto sin complicaciones.

Actividad práctica

Objetivo:

Instalar y arrancar los servicios principales de XAMPP, desplegar una página web de prueba en PHP y verificar el acceso a la base de datos mediante phpMyAdmin.

Tareas:

  1. Descarga e instala XAMPP en tu equipo o máquina virtual accediendo al panel de control principal.
  2. Inicia los servicios de Apache y MySQL / MariaDB comprobando que sus estados cambian a color verde en la interfaz.
  3. Crea un fichero de pruebas llamado index.php dentro de la carpeta raíz de Apache (htdocs) con el siguiente contenido básico:
    <?php
      echo "<h1>¡Hola mundo desde XAMPP en FP!</h1>";
      phpinfo();
    ?>
  4. Abre tu navegador web habitual y accede a la dirección local: http://localhost/index.php para comprobar la ejecución correcta del código PHP.
  5. Accede a la interfaz de administración de bases de datos escribiendo en el navegador: http://localhost/phpmyadmin y crea una nueva base de datos de prueba llamada db_pruebas.

Preguntas de reflexión:

  1. ¿Por qué se considera a XAMPP un entorno de desarrollo local y no se recomienda utilizarlo directamente como servidor web de producción en Internet?
  2. ¿Cuál es el nombre de la carpeta raíz dentro del directorio de instalación de XAMPP donde obligatoriamente debemos guardar los ficheros de nuestros proyectos web?
  3. ¿Qué ocurre en el panel de control de XAMPP si intentamos arrancar el servicio de Apache y el puerto 80 ya está siendo utilizado por otra aplicación (como IIS o Skype)?
  4. ¿Qué ventaja principal aporta la herramienta phpMyAdmin frente al uso exclusivo de la línea de comandos de MariaDB/MySQL?
  5. ¿Qué significan las letras que componen el acrónimo del nombre XAMPP?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿Por qué se considera a XAMPP un entorno de desarrollo local y no se recomienda utilizarlo directamente como servidor web de producción en Internet?

Porque viene configurado por defecto con parámetros orientados a la comodidad del programador (como contraseñas de base de datos vacías, depuración activa y servicios de prueba expuestos), lo que lo hace altamente vulnerable ante posibles ataques informáticos si se expone directamente a Internet en un servidor de producción.


2. ¿Cuál es el nombre de la carpeta raíz dentro del directorio de instalación de XAMPP donde obligatoriamente debemos guardar los ficheros de nuestros proyectos web?

La carpeta se llama htdocs. Todo archivo o directorio que se coloque dentro de ella será accesible localmente a través del servidor web Apache.


3. ¿Qué ocurre en el panel de control de XAMPP si intentamos arrancar el servicio de Apache y el puerto 80 ya está siendo utilizado por otra aplicación (como IIS o Skype)?

Apache no podrá iniciarse correctamente y mostrará un mensaje de error de conflicto de puertos (*Port 80 in use*), ya que dos programas diferentes no pueden escuchar simultáneamente en el mismo puerto de red.


4. ¿Qué ventaja principal aporta la herramienta phpMyAdmin frente al uso exclusivo de la línea de comandos de MariaDB/MySQL?

Proporciona una interfaz gráfica web intuitiva que facilita enormemente la gestión visual de bases de datos, permitiendo crear tablas, insertar registros, realizar consultas SQL y gestionar usuarios de forma rápida mediante clics, sin necesidad de memorizar comandos de consola.


5. ¿Qué significan las letras que componen el acrónimo del nombre XAMPP?

Representa la combinación de los componentes de la plataforma: X (Sistema operativo cruzado / Cross-platform), A (Apache), M (MariaDB / MySQL), P (PHP) y P (Perl).