En esta entrada vamos a ver cómo instalar phpMyAdmin en Debian 9 Stretch paso a paso. Esta es una fantástica opción para poder administrar local o remotamente el servicio MariaDB o MySQL de tu servidor o VPS Debian, de forma muy visual gracias a su interfaz web.
Por citar algunas ventajas:
- No es necesario tener activado el acceso remoto a MariaDB o MySQL Server, lo que evita ataques directos.
- Se puede administrar MariaDB o MySQL vía web desde cualquier lugar sin necesitar un cliente específico.
Interesante, ¿verdad? Pues vamos a dejarlo todo preparado en escasos minutos.
Tabla de contenidos
Antes de instalar phpMyAdmin en Debian 9 Stretch
Para poder seguir esta guía de instalación de phpMyAadmin en Debian 9 Stretch necesitas lo siguiente:
- Un sistema Debian 9 Stretch actualizado.
- Tener instalada una pila tipo LAMP o, lo que es lo mismo, servicio web con MariaDB/MySQL y PHP.
- Acceso a línea de comandos como root o usuario con permisos de sudo.
- Conexión a Internet.
Si aún no tienes instalado este tipo de entorno, puedes consultar la guía de instalación LAMP en Debian 9 Stretch. Es importante tener configurado el acceso HTTPS para el servicio web, aunque por motivos didácticos excepcionalmente en esta guía trabajamos sobre HTTP.
Como ves no necesitamos muchas cosas, así que vamos a ponernos manos a la obra.
Cómo descargar phpMyAdmin para Debian 9 Stretch
Vamos a descargar phpMyAdmin para Debian 9 Stretch desde el sitio oficial del proyecto, ya que la versión disponible en los repositorios del sistema ya está algo anticuada. Visitando la sección de descargas encontramos la última versión estable:
Encontraremos distintos formatos de compresión del paquete de phpMyAdmin, como .zip, .tar.gz o .tar.xz. Puedes elegir el que te interese y realizar la descarga directamente desde el navegador, aunque en este tutorial vamos a copiar el enlace del paquete con formato .tar.xz para descargarlo desde consola con el comando wget:
~$ wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.tar.xz
Cómo instalar phpMyAdmin en Debian 9 Stretch
El proceso de instalar phpMyAdmin en Debian 9 Stretch requiere la realización de una serie de tareas y pasos concretos que vamos a ir detallando a continuación.
Archivos de phpMyAdmin
Descomprimiremos el paquete que acabamos de descargar en el paso anterior directamente en la ubicación definitiva para la aplicación:
~$ sudo tar xf phpMyAdmin-5.0.2-all-languages.tar.xz -C /var/www/
El nombre del subdirectorio que se crea contiene el número de versión de phpMyAdmin, así que es buena práctica crear un enlace simbólico que no contenga la versión, para facilitar el mantenimiento y configuración de la aplicación:
~$ sudo ln -s /var/www/phpMyAdmin-5.0.2-all-languages/ /var/www/phpMyAdmin
Como phpMyAdmin debe poder escribir en su propio directorio de instalación, concederemos la propiedad de dicho directorio al usuario con el que corre el servicio web:
~$ sudo chown www-data /var/www/phpMyAdmin/
Servicio web
Como la ubicación de phpMyAdmin que hemos elegido está fuera del alcance de la navegación web, crearemos una configuración de Apache exclusiva para la aplicación:
~$ sudo nano /etc/apache2/sites-available/phpmyadmin.conf
La configuración consiste en la creación del alias que apunta al directorio de phpMyAdmin:
Alias /phpmyadmin /var/www/phpMyAdmin
Guardamos el archivo y habilitamos la nueva configuración:
~$ sudo a2ensite phpmyadmin
Y recargamos la configuración del servicio web para que el alias esté disponible:
~$ sudo systemctl reload apache2
PHP
Vamos a instalar la extensiones que requiere phpMyAdmin en Debian 9, para lo que en primer lugar actualizaremos las listas de paquetes:
~$ sudo apt update
E instalamos las extensiones con apt:
~$ sudo apt install -y php-mbstring
Terminada la instalación, recargaremos la configuración del servicio web o PHP, según corresponda:
~$ sudo systemctl reload apache2
Configuración inicial de phpMyAdmin en Debian 9
Antes de acceder a phpMyAdmin tendremos que crear el archivo de configuración inicial, partiendo del archivo de ejemplo que viene incluido en el paquete:
~$ sudo cp /var/www/phpMyAdmin/config.sample.inc.php /var/www/phpMyAdmin/config.inc.php
Editaremos este nuevo archivo de configuración:
~$ sudo nano /var/www/phpMyAdmin/config.inc.php
El primer paso será darle un valor a la variable ‘blowfish_secret‘, que por defecto no lo tiene y sirve para cifrar las cookies de acceso:
... /** * 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'; ...
Seguiremos con la sección «User used to manipultate with storage«:
... /* 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 variables controluser y controlpass, eliminando los caracteres // iniciales, y crearemos una contraseña nueva:
... $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = 'XXXXXXXX'; ...
Finalmente, activaremos por completo la sección «Storage database and tables«:
... /* Storage database and tables */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; ... $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.
Servicio de bases de datos
Puesto que phpMyAdmin ofrece características avanzadas a través del uso de una base de datos propia, algunas de cuyas características hemos activado en el paso anterior, conectaremos al servicio con el cliente mysql y nuestro usuario administrador para crear el soporte necesario:
~$ mysql -u root -p
Creamos la base de datos:
> create database phpmyadmin;
A continuación crearemos el usuario, teniendo en cuenta el nombre de usuario y la contraseña especificados en el archivo de configuración de phpMyAdmin.
En MySQL 5.x ó MariaDB creamos el usuario de forma simple:
> create user pma@localhost identified by 'XXXXXXXX';
Mientras que en MySQL 8 a la hora de crear el usuario especificamos también el plugin de acceso adecuado:
> create user pma@localhost identified with mysql_native_password by 'XXXXXXXX';
A continuación concedemos los permisos necesarios sobre la base de datos al usuario:
> grant all privileges on phpmyadmin.* to pma@localhost;
Y cerramos la conexión:
> exit
Ya está creada la base de datos para phpMyAdmin, pero es necesario inicializarla, para lo que usamos un script SQL que proporciona el paquete de la aplicación:
~$ mysql -u pma -p phpmyadmin < /var/www/phpMyAdmin/sql/create_tables.sql
Cargamos este script utilizando el nuevo usuario para phpMyAdmin, por lo que habrá que proporcionar la contraseña que le hemos asignado.
Cómo acceder a phpMyAdmin en Debian 9 Stretch
Tras esta rápida instalación y configuración de phpMyAdmin en nuestro sistema Debian 9, podemos acceder a este servicio web añadiendo el alias /phpmyadmin a cualquier dirección IP o dominio (incluyendo localhost) que apunte a la máquina Debian 9.
Por ejemplo, en mi caso la máquina Debian 9 que estoy configurando es accesible desde el dominio debian9.local, por lo que accedo a phpMyAdmin a través de la URL http://debian9.local/phpmyadmin en el navegador:

Inmediatamente aparecerá la página de login o inicio de sesión de phpMyAdmin, donde introduciremos el usuario y la contraseña de cualquier usuario de MariaDB dado de alta en el sistema. Si las credenciales son correctas, entramos en la pantalla principal de phpMyAdmin:

Y ya podremos trabajar con total funcionalidad, creando bases de datos, tablas, exportando e importando datos, etc. siempre dentro de los privilegios que en particular tenga concedidos cada usuario del servicio de bases de datos.
Conclusión
Ahora que ya sabes cómo instalar phpMyAdmin en Debian 9 estás listo para poder administrar tus bases de datos con todas las ventajas que ofrece este potente frontend web para MariaDB/MySQL. Su manejo es muy intuitivo, por lo que no es objeto de este tutorial.
Si tienes alguna duda, pregunta, sugerencia de mejoras, quieres reportar un error o solicitar temas para nuevos tutoriales y guías, déjame un comentario.
¿Te ha servido esta guía de instalación de phpMyAdmin en Debian 9 Stretch? ¿Estás deseando agradecérmelo y no sabes cómo? Pues nada más fácil, ¡puedes invitarme a un café!
O puedes deshacerte de la calderilla que no usas en PayPal:
¡Gracias!
Entonces, ¿este método sólo sirve para MariaDB?
La actualización de este artículo cubre la instalación de la versión oficial de phpMyAdmin, por lo que es válido para MariaDB y MySQL. La versión del paquete de Debian 9 para phpMyAdmin sólo sirve para MariaDB, al formar este motor de bases de datos parte de la distribución, siendo sin embargo MySQL un software externo. Lo normal es que los paquetes de la distribución, como phpMyAdmin, estén diseñados para interactuar y depender con otros paquetes de la misma distribución.
Me anduvo en Debian 10 sobre armhf.
¡Me alegra saberlo, Martín!