Cómo instalar phpMyAdmin + MariaDB y Apache [2026]

Instalar PhpMyAdmin

Instalar phpMyAdmin, MariaDB y Apache en nuestro propio ordenador nos permite construir un laboratorio completo para aprender bases de datos y comprender cómo funciona un servidor web real.

Curso de python 3: Python Total en 16 días

Este tutorial nació originalmente como parte del bloque de bases de datos y desarrollo de Pythones. La idea sigue siendo la misma: en lugar de aprender MySQL de manera aislada, vamos a preparar las herramientas que utilizaremos para trabajar realmente con una base de datos.

En Windows utilizaremos XAMPP, que nos permite instalar prácticamente todo desde un mismo entorno. En Linux veremos una instalación más interesante para aprender: Apache, MariaDB, PHP y phpMyAdmin instalados utilizando el gestor de paquetes del sistema.

 

Al terminar podremos entrar en localhost/phpmyadmin, crear nuestra primera base de datos y entender qué función cumple cada pieza.

 

🐍 ¿Qué vamos a aprender?

En este tutorial aprenderemos qué relación existe entre Apache, MariaDB/MySQL, PHP y phpMyAdmin; instalaremos nuestro servidor local tanto en Windows como en Linux; crearemos una base de datos y un usuario propio; y comprobaremos que todo funcione correctamente desde el navegador.

También veremos algunas medidas básicas de seguridad para evitar exponer innecesariamente nuestro servidor de desarrollo.

 

📌 Antes de comenzar

Este tutorial está pensado para construir un entorno de desarrollo local.

No vamos a convertir nuestro ordenador personal en un servidor público ni a exponer phpMyAdmin directamente a Internet.

Si vienes del tutorial anterior, ya vimos cómo crear un servidor HTTP con Python y comprendimos qué significan localhost, los puertos y las peticiones HTTP.

Ahora añadiremos otra pieza importante: un servidor de bases de datos y una interfaz gráfica para administrarlo.


🌐 ¿Qué estamos instalando exactamente?

Cuando comenzamos a estudiar bases de datos aparecen varios nombres que pueden resultar confusos: Apache, MySQL, MariaDB, PHP, phpMyAdmin, XAMPP…

Antes de instalar nada conviene entender qué función cumple cada herramienta.

Herramienta ¿Para qué sirve?
Apache Es el servidor web (un servicio corriendo). Recibe peticiones HTTP y entrega contenido al navegador.
MariaDB / MySQL Es el sistema que almacena y administra nuestras bases de datos.
PHP Es un lenguaje que se ejecuta en el servidor. phpMyAdmin está desarrollado en PHP por ende necesitamos tenerlo instalado.
phpMyAdmin Es una aplicación web que nos permite administrar MySQL o MariaDB desde el navegador Básicamente un software para administrar bases de datos de forma visual.
XAMPP Es un paquete que reúne varias de estas herramientas y simplifica su instalación en Windows o en Linux.

La pieza que especialmente nos interesa en este tutorial es phpMyAdmin.

Desde su interfaz podemos crear bases de datos y tablas, administrar usuarios, ejecutar consultas SQL, importar o exportar información y realizar muchas otras tareas sin depender exclusivamente de la terminal.

Pero hay algo importante que debemos entender:

phpMyAdmin no es nuestra base de datos.

La información estará almacenada y administrada por MariaDB o MySQL. phpMyAdmin simplemente nos proporciona una interfaz web para trabajar cómodamente con ellas.

Instalar PhpMyAdmin en Windows y Linux

Cuando escribimos http://localhost/phpmyadmin en el navegador, Apache recibe nuestra petición. PHP permite ejecutar phpMyAdmin y phpMyAdmin se comunica con MariaDB/MySQL para consultar o modificar nuestras bases de datos.

Esta separación será muy importante más adelante cuando conectemos nuestras aplicaciones Python directamente con la base de datos.

 


🧩 LAMP, WAMP y XAMPP: ¿qué significan?

Cuando escribí originalmente este tutorial probablemente pensaste:

¿Qué carajos es LAMP, WAMP, XAMPP y todas esas vainas?

Comparativa Windows XAMPP y Linux LAMP

La explicación es bastante más sencilla de lo que parece.

LAMP es el nombre tradicional que recibe un entorno formado por Linux, Apache, un sistema de bases de datos como MySQL/MariaDB y un lenguaje del lado del servidor como PHP.

Cuando este tipo de entorno se construye sobre Windows también podemos encontrarnos con el término WAMP.

Y después tenemos XAMPP, que simplifica bastante las cosas porque reúne Apache, MariaDB, PHP y otras herramientas dentro de un paquete preparado para instalar.

En este tutorial vamos a utilizar dos caminos.

En Windows utilizaremos XAMPP porque resulta rápido, visual y práctico para crear un laboratorio.

En Linux instalaremos los componentes mediante el gestor de paquetes. Requiere algunos comandos más, pero nos permite comprender mucho mejor qué estamos instalando.

 

Los dos caminos nos llevan a un resultado parecido: podremos abrir phpMyAdmin desde nuestro navegador y administrar una base de datos local.

La diferencia está principalmente en cómo instalamos y administramos las herramientas.

 

💡 ¿Por qué MariaDB si quiero aprender MySQL?

MariaDB nació como un proyecto derivado de MySQL y mantiene una gran compatibilidad con él.

Para aprender SQL, tablas, relaciones, usuarios, permisos y utilizar phpMyAdmin en nuestro laboratorio local, MariaDB nos sirve perfectamente.

Además, las versiones actuales de XAMPP utilizan MariaDB aunque su panel todavía pueda mostrar el módulo como MySQL.

 


🖥️ Instalar phpMyAdmin en Windows con XAMPP

En Windows utilizaremos el camino más sencillo.

XAMPP reúne las herramientas necesarias dentro de un mismo paquete y nos proporciona un panel desde el que podemos iniciar y detener los servicios.

Podemos descargarlo desde la página oficial:

Descargar XAMPP desde Apache Friends →

🪟 Windows 11 y las capturas del tutorial

Este artículo forma parte del contenido histórico recuperado de Pythones.

Algunas capturas originales pertenecen a versiones anteriores de Windows y XAMPP. La interfaz puede cambiar ligeramente, pero los conceptos y el procedimiento general siguen siendo los mismos.

Más adelante actualizaremos también las pruebas utilizando una máquina virtual limpia con Windows 11.

 

1. Descargar e instalar XAMPP

Descargamos el instalador correspondiente a Windows y lo ejecutamos.

Para nuestro laboratorio nos interesan principalmente Apache, MariaDB, PHP y phpMyAdmin.

No necesitamos instalar componentes adicionales que no vayamos a utilizar.

Una instalación habitual de XAMPP utiliza:

C:\xampp

Dentro encontraremos una carpeta especialmente importante:

C:\xampp\htdocs

htdocs funciona como la raíz de nuestros proyectos web.

Por ejemplo, podemos crear:

C:\xampp\htdocs\mi-proyecto

y guardar allí nuestro index.html, index.php, CSS, JavaScript o los archivos que necesite el proyecto.

Después podremos visitarlo desde:

http://localhost/mi-proyecto/

Este concepto debería resultarte familiar si realizaste nuestro tutorial de servidores HTTP con Python: nuevamente tenemos un directorio que el servidor utiliza para entregar contenido.

 

2. Iniciar Apache y MariaDB

Abrimos XAMPP Control Panel.

Para este tutorial necesitamos iniciar dos servicios:

Apache y MySQL.

Aunque el panel utiliza el nombre MySQL, las versiones actuales de XAMPP distribuyen MariaDB.

Una vez que ambos servicios estén funcionando podemos probar:

http://localhost/

Si aparece la página de XAMPP o Apache responde correctamente, nuestro servidor web local está funcionando.

3. Abrir phpMyAdmin

Ahora llegamos a la parte que realmente nos interesa.

Abrimos:

http://localhost/phpmyadmin/

Si todo está correctamente instalado veremos la interfaz de phpMyAdmin.

Desde allí podremos administrar las bases de datos disponibles en nuestro servidor MariaDB.

⚠️ Firewall de Windows

Nuestro objetivo es trabajar localmente.

No necesitamos abrir Apache, MariaDB o phpMyAdmin hacia Internet para seguir este tutorial.

Si Windows solicita permisos de red, comprueba qué tipo de red estás autorizando.

No desactives UAC ni el firewall simplemente para conseguir que XAMPP funcione.

4. Algunos directorios útiles de XAMPP

No necesitamos modificar todos estos archivos para comenzar, pero es útil conocer dónde se encuentran.

Elemento Ruta habitual
Instalación XAMPP C:\xampp
Raíz de nuestros proyectos web C:\xampp\htdocs
Configuración PHP C:\xampp\php\php.ini
Configuración MariaDB C:\xampp\mysql\bin\my.ini
Configuración phpMyAdmin C:\xampp\phpMyAdmin\config.inc.php

Con esto ya tenemos un laboratorio funcional en Windows.

Ahora vamos a montar las mismas piezas en Linux, pero esta vez veremos un poco más de lo que ocurre por debajo.

 


🐧 Instalar phpMyAdmin en Linux: Apache + MariaDB + PHP

El tutorial original realizaba esta instalación utilizando Debian 10, PHP 7.4 y algunos repositorios externos.

Hoy podemos hacerlo de una forma mucho más sencilla utilizando los paquetes disponibles en Debian o Ubuntu.

Primero actualizamos la información de nuestros repositorios:

sudo apt update

Instalamos Apache, MariaDB, PHP y algunos módulos útiles:

sudo apt install apache2 mariadb-server mariadb-client \
php libapache2-mod-php php-mysql php-mbstring php-zip \
php-gd php-curl

Después instalamos phpMyAdmin:

sudo apt install phpmyadmin

Durante la instalación pueden aparecer algunas pantallas de configuración.

Si el instalador pregunta qué servidor web queremos configurar automáticamente, seleccionamos:

apache2.

Si aparece la configuración mediante dbconfig-common, podemos permitir que el paquete configure el almacenamiento interno utilizado por phpMyAdmin.

🐧 ¿Por qué instalar phpMyAdmin mediante APT?

En Debian y Ubuntu resulta conveniente utilizar el paquete de phpMyAdmin disponible en la distribución.

De esta forma se integra con el sistema y recibimos las actualizaciones correspondientes mediante el gestor de paquetes.

Su configuración suele encontrarse dentro de:

/etc/phpmyadmin/

Comprobar que Apache y MariaDB funcionan

Podemos consultar el estado de ambos servicios:

systemctl status apache2
systemctl status mariadb

Si alguno no está iniciado:

sudo systemctl start apache2
sudo systemctl start mariadb

También podemos hacer que se inicien automáticamente con nuestro sistema:

sudo systemctl enable apache2
sudo systemctl enable mariadb

Abrimos ahora:

http://localhost/

También podemos utilizar:

http://127.0.0.1/

Si Apache responde, nuestro servidor web está funcionando.

¿Dónde guardamos nuestros proyectos en Linux?

En una instalación habitual de Apache sobre Debian o Ubuntu, la raíz web predeterminada es:

/var/www/html/

Si por ejemplo creamos un proyecto llamado prueba dentro de esa ubicación:

/var/www/html/prueba/

podremos acceder mediante:

http://localhost/prueba/

Es el equivalente conceptual a trabajar dentro de htdocs cuando utilizamos XAMPP.

 


🗄️ Configurar MariaDB

Nuestro motor de bases de datos ya está instalado.

Podemos ejecutar la herramienta de configuración de seguridad:

sudo mariadb-secure-installation

Las preguntas exactas pueden cambiar dependiendo de nuestra distribución y versión de MariaDB.

Además, las versiones modernas de MariaDB pueden utilizar autenticación mediante Unix socket para la cuenta administrativa local, por lo que no debemos preocuparnos si el proceso no coincide exactamente con capturas antiguas de otros tutoriales.

Lo importante es leer cada opción y evitar accesos que no necesitemos.

Después podemos entrar directamente en MariaDB:

sudo mariadb

Si todo funciona veremos el prompt de MariaDB.

Ya estamos conectados directamente a nuestro servidor de bases de datos.

 


🧪 Crear nuestra primera base de datos

Vamos a crear una base de datos para nuestras pruebas.

La llamaremos:

python

Dentro de MariaDB ejecutamos:

CREATE DATABASE python
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

Ahora crearemos un usuario llamado pythones.

Cambia la contraseña del ejemplo por una propia:

CREATE USER 'pythones'@'localhost'
IDENTIFIED BY 'CAMBIA_ESTA_CONTRASENA';

Para un laboratorio donde este usuario administrará completamente nuestra base python, podemos concederle permisos sobre esa base:

GRANT ALL PRIVILEGES
ON python.*
TO 'pythones'@'localhost';

FLUSH PRIVILEGES;

Finalmente salimos:

EXIT;

Ya tenemos una base de datos llamada python y un usuario independiente para trabajar con ella.

Esto es preferible a utilizar la cuenta administrativa root desde nuestras futuras aplicaciones.

🔐 Una aclaración sobre los permisos

Para simplificar nuestro laboratorio concedimos a pythones todos los privilegios sobre una única base de datos: python.

En aplicaciones reales conviene aplicar el principio de mínimo privilegio y conceder únicamente los permisos que cada usuario o aplicación necesite.

Nunca copies literalmente CAMBIA_ESTA_CONTRASENA como contraseña real.

 


🧰 Entrar a phpMyAdmin en Linux

Con Apache, PHP, MariaDB y phpMyAdmin funcionando podemos abrir:

http://localhost/phpmyadmin/

Deberíamos encontrar la pantalla de acceso.

Probamos con el usuario que acabamos de crear.

Una vez dentro podremos seleccionar nuestra base de datos:

python.

Desde phpMyAdmin podemos comenzar a crear tablas, columnas, índices y relaciones; ejecutar consultas SQL; importar o exportar información y administrar los permisos de nuestros usuarios.

Esto hace que phpMyAdmin sea especialmente útil mientras estamos aprendiendo, porque podemos visualizar la estructura de nuestra base mientras practicamos SQL.

Pero recuerda algo:

phpMyAdmin no sustituye aprender SQL.

La interfaz gráfica es una herramienta para administrar y visualizar nuestras bases de datos. Más adelante tendremos que comprender las consultas que existen detrás de esos botones.

 


🛠️ ¿phpMyAdmin devuelve 404 en Linux?

Si:

http://localhost/

funciona, pero:

http://localhost/phpmyadmin/

devuelve 404 Not Found, primero comprobamos que phpMyAdmin esté instalado:

dpkg -l | grep phpmyadmin

Después comprobamos si Apache tiene habilitada su configuración:

ls /etc/apache2/conf-enabled/ | grep phpmyadmin

Si la configuración existe pero no está habilitada podemos probar:

sudo a2enconf phpmyadmin
sudo systemctl reload apache2

Si seguimos teniendo problemas podemos volver a ejecutar la configuración del paquete:

sudo dpkg-reconfigure phpmyadmin

Seleccionamos Apache cuando corresponda y volvemos a probar:

http://localhost/phpmyadmin/

🔒 Mantener MariaDB y phpMyAdmin en local

Estamos construyendo un laboratorio de desarrollo.

No necesitamos que una persona desde Internet pueda conectarse directamente a nuestra base de datos.

Podemos comprobar dónde está escuchando MariaDB mediante:

sudo ss -ltnp | grep 3306

Para un laboratorio estrictamente local nos interesa que MariaDB no quede expuesto innecesariamente a interfaces públicas.

La ubicación de sus archivos de configuración puede cambiar dependiendo de nuestra distribución y versión.

En Debian y Ubuntu podemos localizar la directiva correspondiente mediante:

grep -R "bind-address" /etc/mysql/ 2>/dev/null

Si necesitamos limitar explícitamente MariaDB a localhost, la configuración correspondiente puede utilizar:

[mysqld]
bind-address = 127.0.0.1

Después de modificar la configuración reiniciamos MariaDB:

sudo systemctl restart mariadb

y comprobamos nuevamente:

sudo ss -ltnp | grep 3306
🚨 No publiques phpMyAdmin porque sí

Para aprender bases de datos no necesitamos exponer directamente a Internet phpMyAdmin ni el puerto 3306 de MariaDB.

Un servidor público requiere medidas adicionales de seguridad, autenticación, firewall, actualizaciones, permisos y cifrado.

Nuestro objetivo aquí es mucho más sencillo:

crear un laboratorio local para aprender.

 


🐍 ¿Y qué tiene todo esto que ver con Python?

Llegados a este punto puede que estés pensando:

Muy lindo todo… ¿pero no estábamos aprendiendo Python?

Sí.

Y precisamente por eso estamos haciendo esto.

Hasta ahora aprendimos a crear páginas, levantar un servidor y trabajar con Flask. Pero una aplicación real normalmente necesita guardar información de manera persistente.

Puede tratarse de usuarios, productos, mensajes, pedidos, turnos, configuraciones o cualquier otro dato que necesitemos recuperar más adelante.

Ahí entra nuestra base de datos MySQL corriendo en nuestro servidor local:

El navegador se comunica con nuestra aplicación mediante HTTP. Flask ejecuta nuestra lógica en Python y la aplicación puede consultar o modificar información almacenada en MariaDB/MySQL.

PhpMyAdmin nos sirve para observar y administrar esa información cómodamente desde el navegador.

Nuestra aplicación Python, en cambio, se conectará directamente al servidor de bases de datos mediante un driver o una biblioteca apropiada. Si todavía no realizaste la parte anterior puedes comenzar por:

Cómo crear un servidor HTTP con Python: de http.server a Flask →

Y para continuar desarrollando aplicaciones:

Tutorial Flask desde cero →

 


🧠 Errores frecuentes al instalar phpMyAdmin

Problema Qué comprobar
localhost no abre Comprueba que Apache esté iniciado.
/phpmyadmin devuelve 404 Comprueba la instalación y configuración de phpMyAdmin en Apache.
Apache no inicia Comprueba si otro programa está utilizando su puerto.
MariaDB no inicia Consulta systemctl status mariadb.
Access denied en phpMyAdmin Comprueba usuario, contraseña, host y privilegios.
No aparece nuestra base de datos Comprueba los permisos concedidos al usuario.
XAMPP muestra un error de puerto Comprueba qué aplicación está utilizando ese puerto.
phpMyAdmin funciona pero Python no conecta Comprueba el driver, credenciales, host, puerto y nombre de la base de datos.

❓ Preguntas frecuentes

 

¿Qué necesito instalar para utilizar phpMyAdmin?

Necesitamos un servidor web compatible con PHP y acceso a un servidor MySQL/MariaDB. En este tutorial utilizamos Apache, PHP y MariaDB.

¿phpMyAdmin instala MySQL?

No. phpMyAdmin es una interfaz para administrar servidores MySQL/MariaDB. Necesitamos tener el motor de base de datos instalado y funcionando.

 

¿Cuál es la dirección de phpMyAdmin?

En nuestro laboratorio local utilizamos:

http://localhost/phpmyadmin/

¿Dónde guardo mis páginas web en XAMPP?

Normalmente dentro de:

C:\xampp\htdocs\

Y en Apache de Debian o Ubuntu:

La raíz predeterminada suele ser:

/var/www/html/

¿MariaDB es lo mismo que MySQL?

No son exactamente el mismo proyecto. MariaDB nació como un fork de MySQL y mantiene una amplia compatibilidad. Para los fundamentos que trabajaremos en nuestro laboratorio podemos utilizar MariaDB perfectamente.

¿Tengo que utilizar root en phpMyAdmin?

No. Para nuestros proyectos es preferible crear usuarios específicos y concederles únicamente los permisos necesarios.

¿Debo abrir el puerto 3306 en mi router?

No para este tutorial. Estamos trabajando localmente y no necesitamos publicar nuestra base de datos en Internet.

¿Puedo conectar Flask con esta base de datos?

Sí. Ese es precisamente uno de los siguientes pasos: conectar nuestra aplicación Python con MariaDB/MySQL mediante un driver o un ORM.

 


🏁 Ya tenemos nuestro servidor de bases de datos

Al principio del tutorial teníamos varios nombres que podían resultar confusos: Apache, MariaDB, MySQL, PHP, phpMyAdmin, XAMPP y LAMP.

Ahora cada uno debería ocupar su lugar.

Apache atiende nuestras peticiones HTTP.

PHP permite ejecutar phpMyAdmin.

phpMyAdmin nos proporciona una interfaz gráfica para administrar la base de datos.

MariaDB almacena y gestiona nuestros datos.

Y nosotros ya tenemos un entorno preparado para comenzar a trabajar con ellos.

También creamos una base de datos llamada python y un usuario independiente para administrarla sin utilizar directamente la cuenta root.

No está nada mal para un solo tutorial.

En las siguientes entradas podremos dejar de hablar un rato de instalaciones y empezar a trabajar con lo que realmente vinimos a buscar: bases de datos, modelos relacionales, SQL y su integración con Python.

🚀 ¿Por dónde continuar?

Si todavía estás aprendiendo cómo funciona un servidor:

🌐 Crear servidor HTTP con Python →

Si quieres comenzar a desarrollar aplicaciones:

🌶️ Tutorial Flask desde cero →

Y cuando avancemos hacia el diseño de bases de datos comenzaremos a conectar todas estas piezas con SQL y Python.


📚 Fuentes y documentación

📦 XAMPP — Apache Friends
Distribución utilizada para nuestro laboratorio en Windows.
Descargar XAMPP →

🧰 phpMyAdmin
Documentación oficial sobre instalación, configuración y seguridad.
Documentación de phpMyAdmin →

🗄️ MariaDB
Documentación oficial del sistema gestor de bases de datos utilizado durante el tutorial.
Documentación de MariaDB →

🌐 Apache HTTP Server
Documentación oficial del servidor web Apache.
Documentación de Apache →

📜 Nota sobre esta entrada

Este tutorial forma parte del contenido histórico de Pythones.

Ha sido recuperado, revisado y actualizado en 2026 manteniendo su objetivo original: aprender a montar nuestro propio entorno local antes de comenzar a trabajar seriamente con bases de datos y Python. Se encuentra en proceso de actualización (16 de Octubre 2026)

📅 Última actualización: octubre 17, 2026

¡Compartir es una forma de agradecer! :)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio