phpMyAdmin · 6 min read · Oct 22, 2025
Cómo instalar y asegurar la última versión de phpMyAdmin en Debian 12

phpMyAdmin es una herramienta de administración gratuita basada en la web utilizada para gestionar bases de datos MySQL y MariaDB, ampliamente utilizada en sistemas Debian Linux. Proporciona una interfaz fácil de usar para interactuar con bases de datos, permitiendo a los usuarios ejecutar consultas SQL, gestionar tablas de bases de datos, importar y exportar datos, y configurar varios ajustes de bases de datos sin necesidad de utilizar la línea de comandos. En Debian Linux, phpMyAdmin a menudo se instala junto con un stack LAMP (Linux, Apache, MySQL/MariaDB, PHP), facilitando a los administradores y desarrolladores manejar operaciones de bases de datos de una manera más visual y organizada.
En este tutorial, te mostraré cómo instalar y asegurar la herramienta de administración de bases de datos phpMyAdmin en Debian 12.
Requisitos previos
Un servidor que ejecute Debian 12.
Una contraseña de root configurada en el servidor.
Comenzando
Antes de comenzar, es una buena idea actualizar los paquetes de tu sistema a la última versión. Puedes actualizar todos los paquetes utilizando el siguiente comando:
apt update -yUna vez que tu sistema esté actualizado, puedes proceder al siguiente paso.
Instalar el servidor LAMP
phpMyAdmin es una aplicación basada en PHP que se ejecuta en un servidor web. Por lo tanto, necesitarás instalar el servidor LAMP en tu servidor. Puedes instalarlo utilizando el siguiente comando:
apt install apache2 mariadb-server libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-zip php-gd unzip -yUna vez que todos los paquetes estén instalados, puedes proceder al siguiente paso.
Instalar y configurar phpMyAdmin
Primero, descarga la última versión de phpMyAdmin desde su sitio web oficial utilizando el siguiente comando:
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zipUna vez que la descarga esté completa, descomprime el archivo descargado con el siguiente comando:
unzip phpMyAdmin-5.2.1-all-languages.zipA continuación, mueve el directorio extraído a /usr/share con el siguiente comando:
mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadminA continuación, crea el directorio requerido con el siguiente comando:
mkdir -p /var/lib/phpmyadmin/tmpA continuación, establece la propiedad adecuada para el directorio de phpMyAdmin:
chown -R www-data:www-data /var/lib/phpmyadminA continuación, copia el archivo de configuración de muestra de phpMyAdmin:
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.phpA continuación, instala pwgen y genera una clave secreta con el siguiente comando:
apt-get install pwgen -y
pwgen -s 32 1Salida:
pau9t1SG6lmaeCFxKqeeaY5N4erIa25K
A continuación, edita el archivo config.inc.php y configúralo:
nano /usr/share/phpmyadmin/config.inc.phpDefine tu clave secreta y descomenta las siguientes líneas:
$cfg['blowfish_secret'] = 'pau9t1SG6lmaeCFxKqeeaY5N4erIa25K'; /* ¡DEBES RELLENAR ESTO PARA LA AUTENTICACIÓN DE COOKIE! */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'password';
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
Guarda y cierra el archivo cuando hayas terminado.
Crear usuario administrador de phpMyAdmin
Siempre se recomienda crear un usuario separado para gestionar la base de datos a través de phpMyAdmin.
Primero, importa las tablas de phpMyAdmin a la base de datos de MariaDB utilizando el siguiente comando:
mysql < /usr/share/phpmyadmin/sql/create_tables.sqlA continuación, conéctate a la shell de MariaDB con el siguiente comando:
mysqlUna vez que estés conectado, otorga todos los privilegios necesarios a la base de datos phpmyadmin con el siguiente comando:
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';A continuación, crea un usuario administrador con el siguiente comando:
MariaDB [(none)]> CREATE USER myadmin;A continuación, otorga todos los privilegios al usuario administrador con el siguiente comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;A continuación, actualiza los privilegios y sal de la shell de MariaDB utilizando el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Una vez que hayas terminado, puedes proceder al siguiente paso.
Configurar Apache para phpMyAdmin
A continuación, debes crear un archivo de configuración de host virtual de Apache para phpMyAdmin. Puedes crearlo utilizando el siguiente comando:
nano /etc/apache2/conf-available/phpmyadmin.confAgrega las siguientes líneas:
Alias /phpmyadmin /usr/share/phpmyadmin
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
AddType application/x-httpd-php .php
SetHandler application/x-httpd-php
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
AddType application/x-httpd-php .php
SetHandler application/x-httpd-php
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
# Autorizar para la configuración
AuthType Basic
AuthName "Configuración de phpMyAdmin"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
Require valid-user
# Denegar acceso web a directorios que no lo necesitan
Require all denied
Require all denied
Require all denied
Guarda y cierra el archivo cuando hayas terminado, luego habilita el archivo de configuración de phpMyAdmin con el siguiente comando:
a2enconf phpmyadmin.confA continuación, recarga el servicio de Apache para aplicar los cambios:
systemctl reload apache2Puedes verificar el estado del servicio de Apache utilizando el siguiente comando:
systemctl status apache2Deberías ver la siguiente salida:
? apache2.service - El servidor HTTP Apache
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-08-25 11:28:21 UTC; 5s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 23021 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 23031 (apache2)
Tasks: 6 (limit: 2341)
Memory: 14.6M
CPU: 89ms
CGroup: /system.slice/apache2.service
??45031 /usr/sbin/apache2 -k start
??45032 /usr/sbin/apache2 -k start
??45033 /usr/sbin/apache2 -k start
??45034 /usr/sbin/apache2 -k start
??45035 /usr/sbin/apache2 -k start
??45036 /usr/sbin/apache2 -k start
Sun 25 11:28:21 debian systemd[1]: Starting El servidor HTTP Apache...
Acceder a phpMyAdmin
En este punto, phpMyAdmin está instalado y configurado. Ahora, abre tu navegador web y accede a phpMyAdmin utilizando la URL http://tu-ip-del-servidor/phpmyadmin. Deberías ver la página de inicio de sesión de phpMyAdmin:

Proporciona tu nombre de usuario de administrador, contraseña y haz clic en el botón Ir. Deberías ver el panel de control de phpMyAdmin en la siguiente página:

Asegurar phpMyAdmin
Es una buena idea asegurar phpMyAdmin con autenticación de dos factores. Puedes hacer esto utilizando las funcionalidades de autenticación y autorización de .htaccess.
Primero, edita el archivo de configuración de phpMyAdmin:
nano /etc/apache2/conf-available/phpmyadmin.confAgrega la línea “AllowOverride All” en el siguiente bloque del servidor:
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
Guarda y cierra el archivo cuando hayas terminado, luego reinicia el servicio de Apache:
systemctl restart apache2A continuación, crea un archivo .htaccess y define el tipo de autenticación de Apache:
nano /usr/share/phpmyadmin/.htaccessAgrega las siguientes líneas:
AuthType Basic
AuthName "Archivos restringidos"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user
Guarda y cierra el archivo, luego crea un usuario con el siguiente comando:
htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuserSe te pedirá que establezcas una contraseña como se muestra a continuación:
Nueva contraseña:
Reescribe la nueva contraseña:
Agregando contraseña para el usuario secureuser
Verificar phpMyAdmin
En este punto, phpMyAdmin está asegurado con autenticación adicional. Para verificarlo, abre tu navegador web y accede a phpMyAdmin utilizando la URL http://tu-ip-del-servidor/phpmyadmin. Se te pedirá el nombre de usuario y la contraseña adicionales como se muestra a continuación:

Después de proporcionar tu nombre de usuario y contraseña, serás redirigido a la página de inicio de sesión regular de phpMyAdmin.
Conclusión
¡Felicidades! Has instalado y asegurado phpMyAdmin en Debian 12 con éxito. Ahora puedes explorar phpMyAdmin y gestionar tu base de datos desde el navegador web.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.