Cómo instalar phpMyAdmin en Ubuntu 18.04 LTS

Dedicamos esta entrada a ver cómo instalar phpMyAdmin en Ubuntu 18.04 LTS Bionic Beaver paso a paso. Esta es una de las mejores soluciones para administrar local y remotamente tu servicio de bases de datos sin necesidad de activar el acceso remoto. Al final de esta guía tendrás phpMyAdmin totalmente funcional en tu servidor o VPS Ubuntu, listo para trabajar con usuarios, bases, tablas, etc.

Antes de instalar phpMyAdmin en Ubuntu 18.04 LTS

Para seguir los pasos de esta guía de instalación de phpMyAdmin en Ubuntu 18.04 LTS Bionic Beaver necesitarás cumplir una serie de requisitos:

  • Una máquina Ubuntu 18.04 LTS Bionic Beaver actualizada.
  • Una pila LAMP o, dicho de otro modo, servidor web con PHP y motor de bases de datos MariaDB o MySQL.
  • Acceso a consola como usuario con permisos de sudo.
  • Conexión a Internet.

Si aún no tienes preparado el entorno necesario te recomendamos la consulta de nuestra guía de instalación de la pila LAMP en Ubuntu 18.04. También es importante tener configurado el acceso HTTPS, aunque para que todo el mundo pueda probar este tutorial trabajaremos con HTTP excepcionalmente.

Cómo descargar phpMyAdmin para Ubuntu 18.04 LTS

Vamos a descargar phpMyAdmin para Ubuntu 18.04 LTS desde el sitio oficial del proyecto, ya que los paquetes que ofrece la distribución están algo anticuados. En la sección de descargas encontraremos varios formatos del paquete con distintos tipos de compresión:

como descargar phpmyadmin para ubuntu 18.04 lts bionic beaver

Puedes realizar la descarga del paquete en el formato que necesites, directamente desde el navegador, aunque en este tutorial elegiremos la versión .tar.xz, cuyo enlace copiaremos para realizar la descarga desde consola con 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 18.04 LTS

Para instalar phpMyAdmin en Ubuntu 18.04 LTS tendremos que realizar una serie de pasos que preparen el sistema para que cumpla las exigencias de la aplicación. Vamos a detallar estas tareas.

Archivos de phpMyAdmin

Descomprimiremos el paquete que acabamos de descargar directamente en la ubicación de destino, un directorio fuera del alcance de la navegación web:

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

Crearemos un enlace simbólico al subdirectorio de phpMyAdmin, de modo que no contenga números de versión:

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

Por último, como phpMyAdmin necesita escribir en su propio directorio, cambiaremos su propiedad al usuario con el que corre el servicio web en Ubuntu 18.04:

~$ sudo chown -R www-data /var/www/phpMyAdmin/

Servicio web

Debemos crear una configuración del servicio web especial para phpMyAdmin, para que pueda ser accesible:

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

El contenido será fundalmentalmente el alias:

Alias /phpmyadmin /var/www/phpMyAdmin

Puedes elegir otro alias si te interesa. En cualquier caso, guardamos y cerramos el archivo y habilitamos la nueva configuración:

~$ sudo a2ensite phpmyadmin.conf

Habrá que recargar la configuración del servicio web para hacer funcionar el nuevo alias:

~$ sudo systemctl reload apache2

PHP

La aplicación phpMyAdmin requiere la instalación en Ubuntu 18.04 de ciertas extensiones, por lo que actualizaremos la información de las listas de paquetes:

~$ sudo apt update

E instalaremos las extensiones, en el caso de usar la versión nativa de Ubuntu 18.04:

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

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

~$ sudo apt install -y php7.4-bz2 php7.4-mbstring php7.4-xml php7.4-zip

Tendremos que recargar la configuración del servicio web o PHP, según corresponda:

~$ sudo systemctl reload apache2

Configurar phpMyAdmin en Ubuntu 18.04 LTS

Vamos a configurar phpMyAdmin en Ubuntu 18.04 LTS con los ajustes básicos. Crearemos el archivo de configuración a partir del archivo de ejemplo incluido en el paquete:

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

Editaremos el nuevo archivo de configuración:

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

El primer ajuste que realizaremos será darle un valor a la variable blowfish_secret, utilizada para cifrar las cookies de acceso, que por defecto no lo tiene:

...
/**
 * This is needed for cookie based authentication to encrypt password in
 * cookie. Needs to be 32 chars long.
 */
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
...

Quedaría algo así:

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

Continuamos con los datos de conexión a la base de datos propia de phpMyAdmin:

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

Activaremos las dos últimas líneas, eliminando los caracteres // iniciales, y cambiaremos el valor por defecto de la contraseña:

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

Este nombre de usuario y contraseña los usaremos más adelante, conviene no olvidarlos.

En la siguiente sección, «Storage database and tables«, activaremos también todas las variables, quedando algo así:

...
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
...
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
...

Ya podemos guardar los cambios y cerrar el archivo.

Base de datos

Las características avanzadas de phpMyAdmin hacen uso de una base de datos propia, por lo que prepararemos el servicio de bases de datos de Ubuntu 18.04 para dar soporte. Conectaremos usando el cliente de consola mysql y algún usuario administrador:

~$ mysql -u root -p

Crearemos el usuario para phpMyAdmin con el nombre y la contraseña que utilizamos en el archivo de configuración que editamos en el paso anterior.

Si trabajamos con MySQL 5.x o MariaDB, crearemos el usuario de phpMyAdmin en la forma habitual:

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

Y si se trata de MySQL 8 es muy conveniente especificar el plugin de acceso:

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

Concederemos permisos al usuario sobre la base de datos de phpMyAdmin:

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

Y ya podemos cerrar la sesión.

> exit

Habrás observado que la base de datos como tal no la hemos creado, y es que existe un script SQL proporcionado por el paquete de phpMyAdmin destinado a crear e inicializar esta base de datos. Para ello usaremos el cliente mysql:

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

Se nos solicitará la contraseña del usuario de phpMyAdmin que creamos en la configuración, y en un instante quedará lista la base de datos.

Cómo acceder a phpMyAdmin en Ubuntu 18.04 LTS

Para poder acceder a phpMyAdmin en Ubuntu 18.04 LTS tras las tareas de instalación y configuración basta con introducir en el navegador una URL compuesta por la dirección del servidor Ubuntu (IP, dominio, etc.) más el alias que hemos configurado (/phpmyadmin en este caso).

En la máquina de ejemplo de este tutorial, el servidor Ubuntu 18.04 es accesible desde el dominio ubuntu64.local.lan, por tanto podríamos usar http://ubuntu64.local.lan/phpmyadmin como URL:

como instalar phpmyadmin en ubuntu 18.04 lts bionic beaver

Sólo los usuarios con autenticación por contraseña pueden acceder.

Esto es importante tenerlo en cuenta porque, por ejemplo, si estás usando MariaDB como servicio de bases de datos con la configuración por defecto, el usuario root no tiene contraseña y conecta mediante autenticación por sockets de Unix, por lo que no podría hacerlo a través de phpMyAdmin.

Pero cualquier otro usuario con autenticación por contraseña podrá iniciar sesión en phpMyAdmin y trabajar de acuerdo con sus privilegios:

phpmyadmin en ubuntu 18.04 lts bionic beaver

Incluso los usuarios locales y con el acceso remoto desactivado podrán trabajar con total normalidad.

Conclusión

Ahora que ya sabes cómo instalar phpMyAdmin en Ubuntu 18.04 puedes trabajar con tu servicio de bases de datos cómodamente, desde cualquier dispositivo con conexión a red y un navegador. La interfaz web es bastante cómoda e intuitiva, así que en pocos minutos estarás creando usuarios, bases, tablas, realizando consultas, etc.

¿Tienes alguna duda, pregunta, notificación de errores, sugerencia, etc.? Pues no dudes en dejar un comentario.

¡Apoya comoinstalar.me!

¿Satisfecho con el contenido de esta guía de instalación de phpMyAdmin en Ubuntu 18.04? ¿Quieres contribuir al mantenimiento de este sitio y la creación de más guías y tutoriales para tu sistema favorito? Pues cualquier mínima contribución es bienvenida, y puedes hacerlo dejando una propina a partir de 1 $ desde PayPal:

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

¡Gracias!

Valora esta entrada

5/5 - (3 votos)

5 comentarios en «Cómo instalar phpMyAdmin en Ubuntu 18.04 LTS»

  1. Perdón si resulta confuso, igual no me he explicado bien. Quiero hacer un entorno de pruebas en el que el gestor de bases de datos esté oculto en una red interna y sólo sea accesible a través del servidor web y, aunque tuve errores, una de las veces conseguí que phpMyAdmin se conectara al servidor de bases desde el servidor web, pero luego creé las páginas que tiene que servir el servidor web y al intentar conectar con el servidor de bases desde el servidor web (donde están los archivos de las páginas) no deja de dar error de conexión.

    La pregunta es ¿qué necesito instalar y configurar en cada servidor?

    O si hay una solución mejor, estoy abierto a cualquier cambio.

    Responder
    • Puedes tener un servidor A con servicio web, PHP y phpMyAdmin y otro servidor B sólo con MariaDB (no sé por qué instalas además PHP si no tiene servicio web). A partir de ahí lo primero es comprobar la conectividad de red entre ambos servidores a nivel de ping mediante dirección IP y/o nombre de red, configuración del firewall en el servidor B (ya que es el que resulta accedido), configuración de red de MariaDB, usuarios de MariaDB con permisos de acceso remoto, etc. Como ves, son muchas cosas las que hay que comprobar y lo de no obtener «resultado positivo» no ayuda mucho a discernir qué puede estar fallando.

      Responder
  2. Buenos días.
    No sé si alguien me puede ayudar, la cuestión es que quiero instalar LAMP con phpMyAdmin, pero en dos servidores uno con Apache, PHP y phpMyAdmin y otro con MariaDB y PHP.
    Es un entorno de pruebas en VirtualBox y Ubuntu Server.
    De momento he hecho la instalación de diferentes maneras y no me da un resultado positivo.

    Responder
    • Hola, José Luis. Resulta confusa tu consulta, en ambos servidores necesitas servicio web como parte de la pila LAMP para hacer funcionar phpMyAdmin en Ubuntu 18.04. En cualquier caso, en este sitio dispones de tutoriales para preparar las pilas e instalar phpMyAdmin en varias versiones de Ubuntu, sólo hay que seguir los pasos.

      Responder

Deja un comentario