En esta entrada veremos cómo instalar phpMyAdmin en Debian 10 Buster paso a paso. Al final de esta guía podrás administrar tu sistema de bases de datos MariaDB/MySQL tanto de forma local como remota a través de esta potente herramienta web. Con phpMyAdmin un usuario local podrá trabajar remotamente sin necesidad de activar el acceso remoto del servicio de bases de datos de tu servidor o VPS Debian 10. Además, podrás trabajar desde cualquier dispositivo conectado con un simple navegador, sin necesidad de instalar pesados clientes.
Tabla de contenidos
Antes de instalar phpMyAdmin en Debian 10 Buster
Para completar esta guía de instalación de phpMyAdmin en Debian 10 Buster necesitarás contar con los siguientes requisitos:
- Una máquina Debian 10 Buster actualizada.
- Una pila tipo LAMP, es decir, un servidor web con PHP y el sistema de bases de datos que vas a administrar (MariaDB o MySQL).
- Paquetes adicionales instalados: wget.
- Acceso por consola como root o un usuario con permisos de sudo.
- Conexión a Internet.
En caso de no disponer del entorno necesario puede resultarte útil nuestra guía de instalación de la pila LAMP en Debian 10 Buster.
Y si ya tienes todo esto preparado, es el momento de sentarse delante de la consola y empezar a trabajar.
Preparativos previos
Previo a la instalación de phpMyAdmin en Debian 10 conviene comprobar que PHP tiene instalados algunos módulos importantes, como php-mbstring, php-zip y php-bz2. Si no estuvieran presentes, los instalaríamos mediante apt. Antes actualizamos la lista de paquetes de los repositorios:
~$ sudo apt update
Es el momento de instalar los módulos de PHP, de modo que si usas la versión nativa de Debian 10 (la 7.3) usaremos este comando:
~$ sudo apt -y install php-bz2 php-mbstring php-xml php-zip
Mientras que si usas una versión concreta del repositorio alternativo, habrá que especificar el número de versión en el nombre de los paquetes; por ejemplo, si se trata de PHP 7.4:
~$ sudo apt -y install php7.4-bz2 php7.4-mbstring php7.4-xml php7.4-zip
Una vez descargados e instalados estos módulos y sus dependencias, recargamos la configuración del servicio web o del servicio PHP, según nuestra configuración:
~$ sudo systemctl reload apache2
Cómo descargar phpMyAdmin para Debian 10 Buster
A la hora de descargar phpMyAdmin para Debian 10 Buster debes tener en cuenta que en Debian 10 no se han incluido paquetes de este software (a diferencia de Debian 9).
Tienes una alternativa ligera y orientada hacia la seguridad, experiencia de usuario, rendimiento, etc. llamada adminer. Pero esta guía trata de phpMyAdmin en Debian 10, así que lo que haremos será acudir a la página web oficial de este proyecto.
Se puede ver un botón con un enlace a la última versión en formato .zip. Sin embargo, en la zona de descargas encontraremos más alternativas, como las últimas revisiones de las versiones 4 y 5 de phpMyAdmin:
En este ejemplo elegiremos la versión 5 y el paquete con formato .tar.xz. Si estás navegando en la máquina que vas a realizar la instalación puedes descargar directamente y guardar el archivo donde quieras.
En mi caso, copiaré el enlace y 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 Debian 10 Buster
Por razones de simplicidad, en esta guía vamos a instalar phpMyAdmin como una sección de la página web por defecto de Debian 10. Es recomendable tener instalado un certificado SSL para trabajar con protocolo seguro HTTPS, pero phpMyAdmin funcionará perfectamente bajo protocolo HTTP convencional.
La web por defecto de Apache reside en /var/www/html/, por lo que esta será la ruta donde descomprimiremos el paquete:
~$ sudo tar xf phpMyAdmin-5.2.0-all-languages.tar.xz -C /var/www/html/
La carpeta que se crea tiene un nombre muy largo, lo mejor es crear un enlace simbólico más corto, o directamente renombrar la carpeta:
~$ sudo mv /var/www/html/phpMyAdmin-5.2.0-all-languages/ /var/www/html/phpmyadmin
Concederemos la propiedad de este directorio al usuario con que corre el servidor web, para que pueda escribir en él:
~$ sudo chown www-data /var/www/html/phpmyadmin/
Preparación de la base de datos de phpMyAdmin
Ciertas características de phpMyAdmin requieren que la aplicación disponga de su propia base de datos.
Usaremos el cliente de consola mysql para crear el usuario que manejará esta base de datos:
~$ mysql -u root -p
Para MariaDB o MySQL 5, creamos el usuario como de costumbre:
> create user pma@localhost identified by 'XXXXXXXX';
Para MySQL 8 especificamos el plugin de autenticación adecuado:
> create user pma@localhost identified with mysql_native_password by 'XXXXXXXX';
Concedemos permisos a este usuario sobre la base de datos de phpMyAdmin:
> grant all privileges on phpmyadmin.* to pma@localhost;
Y ya podemos cerrar el cliente mysql:
> exit
Para inicializar la base de datos necesaria utilizaremos desde consola un archivo SQL previsto al efecto:
~$ cat /var/www/html/phpmyadmin/sql/create_tables.sql | mysql -u pma -p
Se pedirá la contraseña que has especificado antes para el usuario pma@localhost.
Configurar phpMyAdmin en Debian 10 Buster
Aunque phpMyAdmin ya está listo para funcionar con la configuración por defecto, pero debes saber que es posible configurar phpMyAdmin en Debian 10.
Existe una página de configuración accesible desde la carpeta setup/. En el ejemplo de esta guía sería accesible desde la URL http://debian10.local.lan/phpmyadmin/setup/
Este configurador es accesible porque no existe aún un archivo de configuración. No es deseable dejar el configurador accesible, puesto que como ves no está protegido por contraseña, así que tienes dos opciones:
- Usar un archivo mínimo de configuración por defecto.
- Crear la configuración desde el configurador y guardarla.
Usar la configuración por defecto
El configurador permite una enorme cantidad de posibilidades y opciones, por lo que puede que no quieras perder tiempo y anularlo directamente.
Para ello copia el archivo de configuración mínima de muestra presente en la carpeta de phpMyAdmin:
~$ sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
Editaremos este archivo para establecer un par de ajustes necesarios:
~$ sudo nano /var/www/html/phpmyadmin/config.inc.php
Buscaremos esta línea:
... $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ ...
Se trata de una clave para cifrar las cookies de sesión. Especificaremos como valor una cadena de 32 caracteres aleatorios:
... $cfg['blowfish_secret'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; ...
Configuramos también la conexión a la base de datos de phpMyAdmin, para lo que buscaremos esta sección:
/* 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 las líneas del usuario y la contraseña, especificando la contraseña:
... $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = 'XXXXXXXX'; ...
También activaremos todas las variables de la sección «Storage 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'; ...
Guardamos los cambios y cerramos el archivo.
Al existir ya un archivo de configuración, el configurador queda bloqueado:
Justo lo que pretendíamos, bloqueamos el configurador, pero phpMyAdmin funciona perfectamente con los valores por defecto.
Crear una configuración a medida
Si prefieres configurar a medida las características de phpMyAdmin, puedes usar el configurador y bucear entre todas sus opciones y herramientas. Dado que los valores por defecto funcionan en la mayoría de escenarios, la configuración de phpMyAdmin en Debian 10 escapa a las pretensiones de esta guía.
Lo que sí debes saber es que una vez que has realizado la configuración, NO es posible guardarla automáticamente. Lo que debes hacer es lo siguiente:
- En la parte inferior de la pantalla principal del configurador dispones de un botón «Descargar«. Al pulsarlo se descargará un archivo config.inc.php.
- Debes copiar ese archivo en la carpeta de phpMyAdmin, lo que se podrá hacer de una forma u otra, según si estás conectado de forma local o remota.
- Una vez copiado el archivo, el configurador quedará bloqueado.
Cómo probar la instalación
Para comprobar el funcionamiento de phpMyAdmin en Debian 10 accederemos desde un navegador con la URL apropiada. Esta URL la construiremos con la dirección IP, nombre de máquina o dominio y la ruta relativa de instalación de phpMyAdmin.
En este ejemplo la máquina Debian 10 es accesible desde el dominio debian10.local.lan, por lo que se podría utilizar http://debian10.local.lan/phpmyadmin/ como URL:
Suministraremos las credenciales del usuario con el que queramos trabajar para poder iniciar sesión e inmediatamente accederemos a la pantalla principal de phpMyAdmin:
Desde este momento ya puedes crear bases de datos y usuarios, administrar permisos, crear estructuras e introducir datos, etc.
Conclusión
Ahora que ya sabes cómo instalar phpMyAdmin en Debian 10 Buster, puedes administrar tu servicio de bases de datos con un cliente web cómo y potente. De forma local o remota, sin necesidad de cambiar la configuración del servicio, abrir puertos, etc.
Si tienes alguna duda o pregunta, sugerencia o notificación de errores, puedes dejar un comentario y lo revisaré de inmediato.
Y si consideras que este pequeño tutorial de phpMyAdmin en Debian 10 te ha solucionado un problema y me lo quieres agradecer, puedes dejar una propina de 1 $ desde PayPal:
¡Gracias!
Actualizado a la versión 5.2.0.
Muchas gracias por el tutorial, realicé paso a paso todo, pero no logro entrar, me tira una página en blanco, qué podrá estar pasando, acá los comandos los cuales ya revisé uno a uno.
108 apt-get apache2
109 apt-get install apache2
110 apt-get install php5
111 apt update
112 apt -y install php-bz2 php-mbstring php-xml php-zip
113 systemctl reload apache2
114 wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.tar.xz
115 tar xf phpMyAdmin-5.1.1-all-languages.tar.xz -C /var/www/html/
116 mv /var/www/html/phpMyAdmin-5.1.1-all-languages/ /var/www/html/phpmyadmin
117 chown www-data /var/www/html/phpmyadmin/
118 mysql -u root -p
119 cat /var/www/html/phpmyadmin/sql/create_tables.sql | mysql -u pma -p
120 cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
121 nano /var/www/html/phpmyadmin/config.inc.php
122 #find /etc -type f -name ‘php.ini’
123 clear
124 mysql -u root -p
125 nano /var/www/html/phpmyadmin/config.inc.php
Hola, Byrpa. Te recomendaría que siguieras nuestra guía de instalación de la pila LAMP en Debian 10 Buster, ya que no me queda claro si estás mezclando PHP 5 con la versión por defecto, y en cualquier caso no instalas la extensión para conectar con MariaDB/MySQL. Además, en esa guía se explica cómo activar los errores en pantalla. En cualquier caso, en el archivo de registro de errores del servicio web se habrá guardado exactamente el error y su causa.
Tienes repetida la palabra identified en la instrucción:
> create user pma@localhost identified with mysql_native_password by ‘XXXXXXXX’;
¡Es verdad, Juank! Lo acabo de corregir, ¡gracias!
Muy bueno el tutorial. ¿Para configurar sobre HTTPS? Gracias.
Hola, Cristian. Esa configuración no es a nivel de aplicación, sino del servicio web. Puedes hacerlo fácilmente siguiendo la guía de configuración de Apache en Debian 10, o la de Nginx.
Te comiste la creación de la base de datos en MySQL.
No, Rody. La base de datos se crea al cargar el script SQL.
A mí me sirvió igual.
¡Estupendo!
Muy buen tutorial, me sirvió bastante, muchas gracias.
¡Nos alegra saberlo!
Excelente el artículo. Ya logré instalar phpMyAdmin, con la distro antiX 19 64 bit basada en Debian Buster. La única diferencia es que antiX no viene con systemd, por lo tanto para reiniciar los servicios se ha utilizado sudo apachectl restart, service apache2 stop/start.
¡Perfecto! Me alegro de que te haya servido.
excelente tu articulo chachocool… acabo de instalar debian 10… tenia la 9 y me preocupo que ya no esta phpmyadmin en esta nueva versión… pero tu articulo explica paso a paso la instalación… la instalación la realice de manera exitosa…
solo tuve que instalar previamente el wget… pero todo excelente…
me gustan este tipo de articulo porque son puntuales y se cumple con lo que se quiere… un abrazo.
¡Gracias por tu comentario! He incluido wget en la lista de requisitos, me gusta que los tutoriales fluyan sin interrupciones y en esta guía de phpMyAdmin en Debian 10 olvidé ese detalle.