Cómo instalar phpMyAdmin en Debian 11 Bullseye

En este artículo explicamos cómo instalar phpMyAdmin en Debian 11 Bullseye paso a paso, de tal manera que podrás administrar tus bases de datos MariaDB/MySQL gracias a la potencia de su interfaz web tanto localmente como si estás gestionando un servidor o VPS Debian remoto.

Antes de instalar phpMyAdmin en Debian 11 Bullseye

Si quieres seguir los pasos de esta guía de instalación de phpMyAdmin en Debian 11 Bullseye debes cumplir estos requerimientos mínimos:

  • Un sistema Debian 11 Bullseye actualizado.
  • Una pila o stack tipo LAMP.
  • Acceso con un usuario con privilegios de sudo.
  • Conexión a Internet.

En caso de que aún no dispongas del entorno necesario es muy probable que te sea de utilidad consultar nuestra guía de instalación de la pila LAMP en Debian 11 Bullseye.

Cuando tengas todo listo será el momento de regular la altura idónea de nuestra mesa, abrir un navegador y una terminal de consola, y ponernos manos a la obra.

Cómo descargar phpMyAdmin en Debian 11 Bullseye

Vamos a descargar phpMyAdmin en Debian 11 Bullseye desde la sección de descargas del sitio web del proyecto ya que, aunque los repositorios de la distribución ofrecen la versión 5.0.4, la rama estable va ya por la versión 5.1, y con el tiempo la diferencia de versiones se irá incrementando.

como descargar phpmyadmin para debian 11 bullseye

Aunque en primer término aparece un enlace a un paquete .zip, es mucho más interesante descargar el paquete .tar.xz. Podemos hacerlo directamente desde el navegador o, si trabajamos remotamente, desde consola con alguna herramienta como wget:

~$ wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.tar.xz

Cómo instalar phpMyAdmin en Debian 11 Bullseye

Para instalar phpMyAdmin en Debian 11 Bullseye tendremos que realizar una serie de tareas que describimos con detalle a continuación.

Archivos de phpMyAdmin

Descomprimimos el archivo que acabamos de descargar en la ruta más adecuada, como puede ser /var/www/html/:

~$ sudo tar xf phpMyAdmin-5.2.0-all-languages.tar.xz -C /var/www/html/

Como el subdirectorio que se acaba de crear contiene el número de versión en su nombre, puede ser buena idea crear un enlace simbólico sin números para facilitar la configuración y el mantenimiento de phpMyAdmin en Debian 11:

~$ sudo ln -s /var/www/html/phpMyAdmin-5.2.0-all-languages/ /var/www/html/phpmyadmin

Por último, phpMyAdmin puede necesitar escribir en su propio directorio de instalación, así que concedemos la propiedad del mismo al usuario con el que corre el servicio web:

~$ sudo chown www-data: /var/www/html/phpmyadmin/

PHP

Necesitaremos instalar algunas extensiones que requiere phpMyAdmin.

Para la versión por defecto de Debian 11:

~$ sudo apt install -y php-mbstring php-xml

Para las versiones del repositorio alternativo habrá que indicar el número de versión que usamos en los nombres de los paquetes; por ejemplo, para la versión 8.0:

~$ sudo apt install -y php8.0-mbstring php8.0-xml

Una vez instaladas las extensiones, recargamos la configuración del servicio web:

~$ sudo systemctl reload apache2

Base de datos de phpMyAdmin

Las últimas versiones de phpMyAdmin poseen características avanzadas que necesitan de una base de datos propia para funcionar. Por tanto, conectamos con el servicio de bases de datos a través del cliente mysql y un usuario administrador:

~$ mysql -u root -p

Creamos el usuario que administrará la base de datos de phpMyAdmin:

> create user pma@localhost identified by 'XXXXXXXX';

Y le damos permisos sobre la misma:

> grant all privileges on phpmyadmin.* to pma@localhost;

Refrescamos la tabla de permisos:

> flush privileges;

Y cerramos la conexión:

> exit

Si te preguntas por qué no hemos creado la base de datos es porque lo vamos a hacer desde línea de comandos a través de un script SQL que proporciona phpMyAdmin:

~$ cat /var/www/html/phpmyadmin/sql/create_tables.sql | mysql -u pma -p

Se nos solicitará la contraseña del usuario que hemos creado en el paso anterior y se creará la base de datos de phpMyAdmin con la estructura y datos iniciales.

Cómo configurar phpMyAdmin en Debian 11 Bullseye

El proceso de configurar phpMyAdmin en Debian 11 es muy sencillo, ya que crearemos la configuración inicial a partir del archivo de ejemplo que nos ofrece la aplicación:

~$ sudo -u www-data cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

Editamos el nuevo archivo:

~$ sudo nano /var/www/html/phpmyadmin/config.inc.php

Buscamos esta línea:

...
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
...

Por defecto esta variable no tiene ningún valor, así que habrá que asignarle una cadena de 32 caracteres aleatorios:

...
 */
$cfg['blowfish_secret'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
...

Hecho esto buscaremos esta otra variable:

...
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
...

Se trata de la variable que almacena la contraseña del usuario de la base de datos de phpMyAdmin. Activaremos esta variable eliminando los caracteres // al inicio de línea y cambiaremos su valor por defecto por la contraseña que indicamos en el momento de crear el usuario:

...
$cfg['Servers'][$i]['controlpass'] = 'XXXXXXXX';
...

Ya podemos guardar los cambios y cerrar el archivo.

Cómo acceder a phpMyAdmin en Debian 11 Bullseye

Para acceder a phpMyAdmin en Debian 11 desde un navegador bastará con indicar la dirección IP, nombre DNS, dominio, etc. del servidor (o localhost en caso de acceder localmente) añadiendo la ruta /phpmyadmin (o el enlace simbólico que hayas utilizado).

Por ejemplo, para la realización de este tutorial hemos trabajado con una máquina Debian 11 accesible en el subdominio debian11.local.lan, así que usaremos http://debian11.local.lan/phpmyadmin para acceder.

como instalar phpmyadmin en debian 11 bullseye

Se mostrará la página de inicio de sesión, donde indicaremos el nombre del usuario del servicio de bases de datos con el que queramos trabajar y su contraseña.

Iniciada la sesión, se mostrará la página principal de la aplicación:

phpmyadmin en debian 11 bullseye

Obviamente lo que puedas hacer dependerá del nivel de privilegios del usuario con el que has accedido.

Conclusión

Ahora que sabes cómo instalar y configurar phpMyAdmin en Debian 11 Bullseye ya puedes trabajar con las bases de datos y usuarios del servicio que tengas instalado en tu máquina, tanto si accedes localmente como de forma remota. Su potente interfaz web te ahorrará tiempo al no tener que recordar la sintaxis de la mayoría de comandos SQL.

Si te ha surgido alguna duda o pregunta, tienes sugerencias o correciones, etc. deja un comentario. Están moderados (para evitar el SPAM), pero se revisan a diario prácticamente.

Y si ya puedes trabajar con tus bases de datos vía web y quieres agradecérnoslo, siempre es bien recibida cualquier mínima contribución al mantenimiento de este sitio y la creación de nuevos tutoriales y guías.

Puedes ayudarnos dejando una propina de tan sólo 1 $ con PayPal:

¡Gracias!

5/5 - (5 votos)

11 comentarios en «Cómo instalar phpMyAdmin en Debian 11 Bullseye»

    • ¡Hola, Isaías! El usuario pma no es para trabajo, sino para uso interno de phpMyAdmin. Por otro lado, como no es seguro utilizar root para acceder remotamente al sistema no se permite su uso a través de phpMyAdmin, ya que sería un objetivo apetecible para ataques de usuarios malintencionados. Sin embargo, cualquier otro usuario de tu servicio de bases de datos sí puede acceder. Normalmente los administradores de bases de datos no trabajan con root, sino con otro usuario creado con privilegios con el que sí se podría acceder mediante phpMyAdmin (que es lo que hemos hecho en este tutorial).

      Si trabajas con MariaDB puedes crear el usuario desde el cliente de consola con esta sentencia:

      > grant all privileges on *.* to TU_USUARIO@localhost identified by ‘XXXXXXXX’ with grant option;

      Y si trabajas con MySQL tendrás que hacerlo en dos pasos:

      > create user TU_USUARIO@localhost identified by ‘XXXXXXXX’;
      > grant all privileges on *.* to TU_USUARIO@localhost with grant option;

      Responder
  1. ¡Buenas tardes! Mil gracias por tu aporte, me ha servido pero tengo un problema. Al momento de querer conectarme al servidor no puedo, desde phpMyAdmin me da el error:

    mysqli::real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
    mysqli::real_connect(): (HY000/2054): The server requested authentication method unknown to the client

    ¡Tal vez tienes conocimiento de ello, gracias!

    Responder
    • ¿Estás usando Debian 11? Es raro, porque a partir de PHP 7.4 no deberías tener este tipo de problemas. Lo que está ocurriendo es que intentas acceder con un usuario que utiliza el método de cifrado de contraseña caching_sha2_password que incorpora MySQL 8.0 y tu versión de PHP no puede trabajar con dicho método. Lo más sencillo es cambibar el plugin de acceso del usuario con el que quieres acceder a mysql_native_password, o crear un usuario nuevo que utilice por defecto dicho plugin.

      Responder
  2. ¡Hola! Tengo un servidor LAMP con Debian 11, tengo SSL y redirijo todo a la IP de mi servidor, no logro instalar phpMyAdmin bajo ninguna circunstancia, al ingresar a mydominio.com/phpmyadmin me sale error 404 no encontrado. No logro hacer que funcione, tal vez sería por la configuracion de PHP que redirige todo a la IP del servidor. Si pudieran ayudarme sería de gran ayuda y obviamente les agradecería de la mejor manera posible vía PayPal.

    Responder
    • Es raro lo que te pasa. Normalmente lo que configura la redirección entre un dominio y una dirección IP es la configuración DNS, PHP no se suele utilizar para ello. Teniendo en cuenta esto, basta con crear un subdirectorio en la raíz de documentos del servicio web, colocar cualquier contenido HTML y comprobar que es accesible desde un navegador. Habría que revisar los registros del servidor y echar un vistazo a la configuración para encontrar el problema.

      Responder

Deja un comentario

Este sitio esta protegido por reCAPTCHA y laPolítica de privacidady losTérminos del servicio de Googlese aplican.

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.