Cómo instalar phpMyAdmin en Ubuntu 20.04 LTS

En este artículo explicamos cómo instalar phpMyAdmin en Ubuntu 20.04 LTS Focal Fossa paso a paso, de modo que podrás administrar el servicio de bases de datos MariaDB/MySQL de tu servidor o VPS Ubuntu fácilmente, tanto de forma local como remota.

Dispones de adaptaciones de este tutorial para otras versiones de Ubuntu y también para otros sistemas operativos que puedes encontrar fácilmente con nuestro buscador.

Antes de instalar phpMyAdmin en Ubuntu 20.04 LTS

Si tienes intención de seguir los pasos de esta guía de instalación de phpMyAdmin en Ubuntu 20.04 LTS Focal Fossa, es conveniente satisfacer estos requisitos básicos:

  • Un sistema Ubuntu 20.04 LTS Focal Fossa actualizado.
  • La pila o entorno LAMP (servicio web con PHP y base de datos MariaDB/MySQL).
  • Un usuario con permisos de sudo.
  • Conexión a Internet.

¿No tienes aún el entorno necesario para la instalación de phpMyAdmin en Ubuntu 20.04 LTS? En ese caso echa un vistazo antes a nuestra guía de instalación de la pila LAMP en Ubuntu 20.04.

Cómo descargar phpMyAdmin en Ubuntu 20.04 LTS

Vamos a descargar phpMyAdmin para Ubuntu 20.04 LTS Focal Fossa desde el sitio oficial del proyecto, ya que aunque en los repositorios de Ubuntu existen paquetes de phpMyAdmin, estos pertenecen a la versión 4, mientras que las últimas versiones estables ya están en la versión 5.

como descargar phpmyadmin para ubuntu 20.04 lts focal fossa

Encontraremos el paquete de phpMyAdmin en varios formatos de compresión disponibles, siendo el paquete .tar.xz el que elegiremos en este tutorial, copiando el enlace para realizar la descarga desde consola mediante el comando wget:

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

Cómo instalar phpMyAdmin en Ubuntu 20.04

Para poder instalar phpMyAdmin en Ubuntu 20.04 LTS será necesario realizar una serie de tareas con el fin de preparar el sistema para el funcionamiento de esta aplicación. Veamos estas tareas paso a paso.

Archivos de phpMyAdmin

Descomprimimos el paquete de phpMyAdmin que acabamos de descargar en el lugar del sistema de archivos de Ubuntu 20.04 que consideremos oportuno, por ejemplo en /var/www/:

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

Como el nombre del subdirectorio que se crea es bastante largo y contiene números de versión, es buena idea crear un enlace simbólico que facilite la configuración y mantenimiento:

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

Crearemos un subdirectorio para archivos temporales de phpMyAdmin:

~$ sudo mkdir /var/www/phpmyadmin/tmp

Y cambiaremos su propiedad al usuario con el que se ejecuta el servicio web, para que phpMyAdmin pueda crear y eliminar los archivos temporales:

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

Configuración de phpMyAdmin

Debemos realizar algunos ajustes previos en la configuración de phpMyAdmin, por lo que crearemos un archivo de configuración a partir del archivo de ejemplo que suministra el paquete:

~$ sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php

Editaremos este nuevo archivo:

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

Buscaremos la variable blowfish_secret:

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

Y le daremos un valor con 32 caracteres de longitud:

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

Para activar las características avanzadas de phpMyAdmin para Ubuntu 20.04, localizaremos la sección de almacenamiento:

...
/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
...

Y activaremos a la vez que cambiamos la contraseña por defecto de la base de datos para phpMyAdmin:

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

Esta contraseña la usaremos después, a la hora de crear la base y el usuario para phpMyAdmin.

Terminados los ajustes, guardamos los cambios y cerramos el archivo.

Base de datos

Las características avanzadas de phpMyAdmin requieren de una base de datos y su usuario administrador, por lo que conectaremos con el cliente mysql para preparar lo necesario:

~$ mysql -u root -p

En MariaDB o MySQL 5 creamos el usuario de forma sencilla:

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

Pero en MySQL 8 será mejor indicar el plugin de conexión adecuado:

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

Y concedemos los permisos necesarios al usuario sobre la base:

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

Ya podemos cerrar la conexión:

> exit

Si te preguntas por qué no hemos creado la base de datos, el paquete de phpMyAdmin para Ubuntu 20.04 proporciona un pequeño archivo SQL para crear e inicializar la base de datos, tarea que realizaremos usando de nuevo el cliente mysql y el usuario que acabamos de crear:

~$ mysql -u pma -p < /var/www/phpmyadmin/sql/create_tables.sql

Se nos pedirá la contraseña del usuario para phpMyAdmin que creamos justo antes.

PHP

La aplicación phpMyAdmin requiere la instalación en Ubuntu 20.04 de algunas extensiones, que obtendremos desde los repositorios, por lo que actualizaremos las listas de paquetes:

~$ sudo apt update

E instalaremos dichas extensiones, para el caso de usar la versión nativa de Ubuntu 20.04 con el siguiente comando:

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

Pero si usas el repositorio alternativo, entonces habrá que indicar el número de versión de PHP en el nombre de los paquetes; por ejemplo, para PHP 8.0:

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

Una vez descargadas las extensiones y sus dependencias, debemos recargar la configuración del servicio web o PHP, según corresponda:

~$ sudo systemctl reload apache2

Servicio web

Como normalmente se instalan las aplicaciones fuera del alcance de la navegación web, será necesario crear una configuración adicional del servicio web para phpMyAdmin. En el caso de Apache podemos crear una nueva configuración:

~$ sudo nano /etc/apache2/sites-available/phpmyadmin.conf

El contenido será el alias que queramos establecer:

Alias /phpmyadmin /var/www/phpmyadmin

Guardados los cambios, activamos la configuración:

~$ sudo a2ensite phpmyadmin.conf

Y recargamos la configuración del servicio web:

~$ sudo systemctl reload apache2

Cómo acceder a phpMyAdmin en Ubuntu 20.04

Para acceder a phpMyAdmin en Ubuntu 20.04 desde un navegador bastará con usar la dirección IP, nombre DNS o dominio del servidor, localhost si trabajamos en local, etc. añadiendo el alias que hemos creado.

Por ejemplo, la máquina Ubuntu 20.04 que hemos usado en este tutorial es accesible en el dominio ubuntu2004.local.lan, por lo que habiendo configurado el alias /phpmyadmin utilizaremos http://ubuntu2004.local.lan/phpmyadmin como URL:

como instalar phpmyadmin en ubuntu 20.04 lts focal fossa

Se mostrará la página de inicio de sesión, donde podremos elegir el idioma de la aplicación, e introduciremos los datos del usuario de MariaDB/MySQL con el que queremos iniciar sesión.

Iniciada la sesión, se mostrará la página principal de la aplicación donde podremos trabajar con gran cantidad de herramientas y opciones, teniendo en cuenta los privilegios del usuario con el que hemos accedido.

instalar y configurar phpmyadmin en ubuntu 20.04 lts focal fossa

Conclusión

Ahora que sabes cómo instalar phpMyAdmin en Ubuntu 20.04 LTS Focal Fossa ya es posible administrar las bases de datos de tu servidor o VPS de forma tanto local como remota, sin la necesidad de reconfigurar MariaDB/MySQL para permitir conexiones directas de red, y sin tener que instalar clientes, ya que bastará con un simple navegador para trabajar de forma cómoda e intuitiva.

Si te ha surgido algún tipo de duda o pregunta, quieres sugerir mejoras para este artículo, crees que necesita actualización o quieres notificar algún error, deja un comentario y te atenderemos lo antes posible.

¡Apoya comoinstalar.me!

¿Ya disfrutas de esta aplicación web gracias a esta guía de instalación de phpMyAdmin en Ubuntu 20.04 LTS? Si ese es el caso y te apetece agradecérnoslo, una mínima contribución ayuda mucho al mantenimiento de este sitio y la creación de futuras guías y tutoriales como este, y puedes hacerlo dejando 1 $ de propina con PayPal:

O, si te sientes especialmente agradecido, invitándonos a un cappuccino:

¡Gracias!

Valora esta entrada

5/5 - (4 votos)

17 comentarios en «Cómo instalar phpMyAdmin en Ubuntu 20.04 LTS»

  1. Hola, he seguido el tutorial hasta el final y me ocurrió que al intentar acceder mediante el navegador, la pantalla sale en blanco y no me indica ningún error.

    Responder
    • Hola, Yoni. Para saber qué es lo que está ocurriendo revisa el registro de errores del servicio web, o activa los errores en pantalla de PHP como se muestra en este artículo. De todas formas, ¿qué versión de PHP y MariaDB/MySQL estás usando?

      Responder
  2. Muchas gracias por este tutorial, me ha resultado de gran utilidad.
    He seguido todos los pasos y he instalado todo correctamente. Pero mi problema surge al intentar acceder a phpMyAdmin como usuario root, para tener todos los permisos.
    ¿Cómo puedo crear o acceder como usuario root para tener todos los permisos?
    Ahora me he identificado como usuario pma@localhost y la contraseña que he creado en la instalación, pero me aparece:

    Bases de datos
    Crear base de datos Documentación
    No privileges to create databases

    Espero que puedas darme un poco de luz.
    Muchas gracias por tu trabajo y tu ayuda.

    Responder
  3. Hola, hice todo tal cual pero a la hora de logearme con el usuario no me deja crear nueva base de datos, ¿alguna solución?

    El error es: No privileges to create databases

    Y más abajo aparece:

    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
    La conexión para controluser, como está definida en su configuración, fracasó.

    Responder
    • ¡Hola, Rober! Parece que estás trabajando con MySQL 8 y una versión anterior a la 7.4 de PHP. Tu usuario está trabajando con el plugin de autenticación caching_sha2_password que no es compatible con ciertas versiones de PHP. Tienes dos soluciones, una sería actualizar PHP a la última versión disponible, y otra sería cambiar el plugin de autenticación del usuario. Si optas por la segunda opción es rápido y fácil de hacer:

      Conecta con el cliente mysql y el usuario administrador.

      Modifica el usuario con el siguiente comando:

      > alter user usuario@localhost identified with mysql_native_password by ‘XXXXXXXX’;

      Sustituye en el comando anterior el nombre del usuario y la contraseña, que puede ser la ya existente o una nueva.

      Actualiza las tablas de permisos:

      > flush privileges;

      Puedes salir del cliente y tratar de iniciar sesión en phpMyAdmin para Ubuntu 20.04 LTS, y no deberías tener problemas en esta ocasión.

      Responder
  4. Me funcionó a la perfección, pero me surge una duda. Al final de la página de phpMyAdmin me aparece un aviso que dice así: «El archivo de configuración ahora necesita una frase secreta (blowfish_secret)«- ¿A qué se refiere? ¿Es algo importante? Agradecería tu ayuda y de antemano, gracias, excelentes tutoriales, se entienden al 100%.

    Responder
    • ¡Hola, Diego! Ese error te aparece porque te has saltado la parte del tutorial donde se configura dicha variable. La variable blowfish_secret se utiliza para cifrar las cookies de sesión, lo que aumenta la seguridad de phpMyAdmin en Ubuntu 20.04 LTS.

      Responder

Deja un comentario