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 -y

Una 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 -y

Una 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.zip

Una vez que la descarga esté completa, descomprime el archivo descargado con el siguiente comando:

unzip phpMyAdmin-5.2.1-all-languages.zip

A continuación, mueve el directorio extraído a /usr/share con el siguiente comando:

mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadmin

A continuación, crea el directorio requerido con el siguiente comando:

mkdir -p /var/lib/phpmyadmin/tmp

A continuación, establece la propiedad adecuada para el directorio de phpMyAdmin:

chown -R www-data:www-data /var/lib/phpmyadmin

A 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.php

A continuación, instala pwgen y genera una clave secreta con el siguiente comando:

apt-get install pwgen -y  
pwgen -s 32 1

Salida:

pau9t1SG6lmaeCFxKqeeaY5N4erIa25K

A continuación, edita el archivo config.inc.php y configúralo:

nano /usr/share/phpmyadmin/config.inc.php

Define 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.sql

A continuación, conéctate a la shell de MariaDB con el siguiente comando:

mysql

Una 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.conf

Agrega 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.conf

A continuación, recarga el servicio de Apache para aplicar los cambios:

systemctl reload apache2

Puedes verificar el estado del servicio de Apache utilizando el siguiente comando:

systemctl status apache2

Deberí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:

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:

phpMyAdmin

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.conf

Agrega 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 apache2

A continuación, crea un archivo .htaccess y define el tipo de autenticación de Apache:

nano /usr/share/phpmyadmin/.htaccess

Agrega 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 secureuser

Se 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:

Inicio de sesión seguro

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.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.