> Manuales > Manual de introducción a GNU/Linux sobre Ubuntu

Cómo instalar PhpMyAdmin en Linux, el administrador de MySQL y MariaDB con interfaz web. Usaremos Ubuntu, pero el proceso será similar en otras distribuciones.

En este artículo vamos a aprender a instalar el software PhpMyAdmin por la línea de comandos, para que esté disponible en un servidor web bajo Linux. Configuraremos PhpMyAdmin para que permita el acceso usando nuestra clave de root MySQL.

El proceso es sencillo pero tiene un par de detalles que, si no te los cuentan, tardarás un rato en encontrarlos. Pero ojo, nos vamos a limitar a instalarlo y ponerlo en funcionamiento orientado a un servidor de desarrollo PHP que tenemos sobre Linux, por lo que este proceso podría tener algún paso adicional, orientado a la seguridad, si es que lo quieres instalar en un servidor en producción abierto al público.

Trabajaremos sobre Ubuntu y Apache. El proceso para instalarlo en otra distribución de Linux será el mismo, salvo si tienes otro gestor de paquetes, como Yum para CentOS / Fedora. Pero salvo este detalle, el resto será igual.

Nota: Damos por hecho que ya tienes Apache y PHP instalado en tu Linux. Si no es así, tendrías que comenzar por las indicaciones del artículo Instalar Lamp, Apache - MySQL - PHP, en Linux.

Primer paso: Instalar MySQL

Obviamente, no sería muy normal instalar PhpMyAdmin si no tienes una base de datos MySQL en tu sistema, o bien la base de datos MariaDB, que debes saber que es compatible con MySQL. Si tienes ya instalado MySQL / MariaDB en tu sistema, podrías ahorrarte este paso, sólo necesitarías recordar tu clave de root.

El comando para instalar MySQL en Ubuntu o Debian es este:

sudo apt-get install mysql-server mysql-client

El proceso de instalación te solicitará la entrada de una clave para el usuario root de MySQL, que le puedes indicar la que quieras. Los usuarios de Ubuntu 18.04 deben de saber que durante la instalación de MySQL ya no pide la clave que se va a configurar para el usuario root. Simplemente se instalará la clave vacía, o sea, el usuario root permitirá el acceso sin clave.

Recuerda mantener el servidor MySQL arrancado con:

sudo service mysql start

Instalar PhpMyAdmin

Nuevamente usaremos el gestor de paquetes de Ubuntu para instalar PhpMyAdmin. Lo haremos con el siguiente comando.

sudo apt-get install phpmyadmin php-mbstring php-gettext

Fíjate que, además del propio PhpMyAdmin estamos instalando un par de extensiones de PHP que son requisito de PhpMyAdmin. Es habitual que estas extensiones ya estén configuradas en tu instalación de PHP, pero nunca está de más indicarlas en la instalación, por si acaso.

Cuando se está instalando PhpMyAdmin nos solicita algunas informaciones extra de configuración, en una especie de asistente de línea de comandos.

Primero nos solicita el nombre del servidor web sobre el que se quiere configurar PhpMyAdmin. Le informamos que es "Apache 2". Para ello tenemos que situarnos sobre la opción "Apache2" y pulsar la barra espaciadora para que aparezca un "*". Luego con el tabulador vamos a "Ok" y pulsamos Enter.

Luego nos ofrece la posibilidad de realizar por nosotros la configuración inicial de la base de datos con dbconfig-common. Algo que generalmente será deseable. Para ello simplemente nos situamos sobre la opción "Yes" con el tabulador y pulsamos Enter.

Por último nos solicita que introduzcamos el password de root de MySQL. Esa clave la configuraste al instalar MySQL, o bien es la clave vacía si instalaste MySQL sobre Ubuntu 18.04.

Reiniciar Apache

No te olvides de reiniciar Apache una vez hayas realizado la instalación de PhpMyAdmin, o cualquier cambio en la configuración del servidor web o de los módulos de PHP.

El comando más típico para reiniciar apache es este:

service apache2 restart
Nota: Según el sistema que tengas, incluso la distribución de Linux, podrías requerir otros comandos para reiniciar Apache. Te recomendamos la lectura del artículo sobre la guía básica de comandos de Linux con SSH. Encontrarás comandos también para reiniciar MySQL, caso sea necesario.

Pasos adicionales para la instalación de PhpMyAdmin en Linux

Ahora vamos a relatar otra serie de pasos para configurar aspectos necesarios para el correcto funcionamiento de PhpMyAdmin. Alguno puede que tú no lo necesites, pero es ideal que leas estos pasos para solucionar posibles problemas o necesidades concretas de tu sistema.

Activar el módulo mbstring

En el caso que la extensión php-mbstring no estuviera instalada, quizás tengas que ejecutar el comando:

sudo phpenmod mbstring

Por si no lo sabes, el comando phpenmod sirve para activar un módulo específico de PHP.

Ajustar el acceso root con password

En PhpMyAdmin se requiere un modelo de conexión que no está activo para el usuario root de manera predeterminada. Por lo que quizás tengas que hacer un paso adicional.

Primero te conectas al cliente de MySQL. Lo puedes hacer con comandos como estos:

mysql -u root

O si tu usuario de root tiene configurado un password, tendrás que escribir:

mysql -u root -p

Una vez dentro vamos a listar los usuarios y su modelo de autenticación. Lo haces con esta sentencia SQL:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Te aparecerá una salida similar a la que se ve en la siguiente imagen. Si observas que el usuario root solo tiene "auth_socket" en la columna "plugin", quiere decir que no te permitirá el acceso desde PhpMyAdmin, pues para autenticarte desde PHP necesitas tener la opción "mysql_native_password".

Para cambiarlo podemos hacer la siguiente sentencia SQL.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

Ten en cuenta que esta sentencia hace dos cosas:

  1. Agregarle mysql_native_password como método de autenticación permitida
  2. Setear la clave a "1234" para el usuario root. Por supuesto, aquí puedes colocar la clave que más te guste. Solo asegúrate de recordarla para posteriores accessos.

Ahora si vuelves a lanzar la sentencia SQL de antes "SELECT user,authentication_string,plugin,host FROM mysql.user;" observarás que te muestra otra tabla de configuración de usuarios.

Nota: Posiblemente no quieras acceder con el usuario root a PhpMyAdmin. En cuyo caso tendrías que aprender a crear usuarios MySQL y asignarles permisos. Y luego usar esos usuarios para conectar desde la ventana de acceso a PhpMyAdmin.

Configuraciones extra para PhpMyAdmin

Para cualquier otro detalle extra que tengas que tocar para configurar PhpMyAdmin, tienes que realizarlo sobre el archivo de configuración, que se encuentra en la ruta:

etc/phpmyadmin/config.inc.php

Es un archivo PHP donde tienes varias declaraciones de valores de configuración. Una cosa habitual que puedes necesitar es permitir el acceso con la clave de root de MySQL vacía "" (Error Login without a password is forbidden by configuration). Para ello tienes que buscar y descomentar todas las apariciones de la declaración "AllowNoPassword", o simplemente poner a "true" el valor.

$cfg['Servers'][$i]['AllowNoPassword'] = TRUE;

Conclusión

Eso es todo! ahora podrás acceder a la ruta donde se ha instalado PhpMyAdmin, que es http://localhost/phpmyadmin

Allí te solicitará las credenciales de acceso del usuario que quieras utilizar para conectarte a MySQL. Solo ten en cuenta los detalles explicados anteriormente para que no te de errores. Los problemas más habituales ya los hemos descrito anteriormente, así que repasa el artículo si te ocurre cualquiera de ellos al acceder a PhpMyAdmin.

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual