Cómo instalar PhpMyAdmin en Linux

Dentro de las interfaces gráficas (GUI) por las que podemos optar para gestionar bases de datos MySQL, PhpMyAdmin es una de las opciones más extendidas entre los desarrolladores. En este tutorial, explicamos cómo instalar PhpMyAdmin en Linux a través de la línea de comandos, acceder con la clave root de MySQL y repasamos algunas operaciones básicas que nos vendrán bien de cara a ajustar su configuración inicial.

Vamos a hacer todas estas operaciones sobre Ubuntu y Apache y nos limitaremos a instalarlo en Linux de cara al desarrollo en PHP, por lo que, si queremos hacerlo sobre un servidor abierto al público, no podemos olvidarnos de realizar algún paso extra para dotar a nuestra plataforma de más seguridad.

El primer paso es instalar la base de datos MySQL o MariaDB. El comando para realizar esto, tanto en Ubuntu como en Debian, es:

sudo apt-get install mysql-server mysql-client

Se nos pedirá una clave para el usuario root de MySQL, así que indicaremos la que queramos. En Ubuntu 18.04 no nos pedirá la clave y podremos acceder sin ella.

Como recordatorio, indicaros que debemos mantener el servidor MySQL arrancado con el siguiente comando:

sudo service mysql start

Instalando PhpMyAdmin

Usando el gestor de paquetes que tenemos de Ubuntu, escribiremos en la línea de comandos lo siguiente:

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

Veremos que estamos instalando también dos extensiones de PHP, requisito que nos pide PhpMyAdmin.

Ya instalado nos solicitarán alguna información adicional en un pequeño asistente a través de la línea de comandos.

De inicio, nos pide el nombre que tendrá el servidor web. Presionando la barra espaciadora, le indicamos que será Apache 2 y veremos un asterisco (*). Con el tabulador vamos hasta el OK y verificamos con Enter.

A continuación, nos permite la posibilidad de realizar una configuración inicial de la base de datos con dbconfig-common. Si deseamos hacerlo, tan solo tenemos que situarnos con el tabulador sobre la opción, indicarle Yes y presionar Enter.

Como paso final, nos va a solicitar que pongamos la clave de root de MySQL. Esto ya lo hicimos al inicio del tutorial, cuando instalamos MySQL.

Reiniciar Apache

Cuando acabes la instalación de PhpMyAdmin deberás reiniciar Apache con este comando:

service apache2 restart

Bonus track

Con los pasos anteriores ya habríamos instalado PhpMyAdmin, pero hay unos pasos extra que nos vendrán bien y que repasamos a continuación:

  • Activar el módulo mbstring. Si no tuvieras la extensión php-mbstring instalada, podrías ejecutar el siguiente comando:
    sudo phpenmod mbstring
    

    Para módulos específicos de PHP, el comando phpenmod nos sirve para activarlos.

  • Ajustar el acceso root con password.  En PhpMyAdmin necesitamos una forma de conexión que no esté activa para el usuario root de manera predeterminada y tal vez tengamos que hacer un paso extra.
    Conectamos al cliente de MySQL:
    mysql -u root

    Si usamos una clave en nuestro usuario de root:

    mysql -u root -p
    

    Ya dentro, listaremos los usuarios que tenemos y su forma de autenticación:

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

    Veremos que el usuario root solo tiene auth_socket en la columna plugin. Esto nos indica que no nos va a dejar el acceso desde PhpMyAdmin, ya que para hacerlo debemos identificarnos teniendo la opción mysql_native_password. Lo podemos cambiar con la siguiente sentencia SQL:

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

    La sentencia realiza un par de acciones:

    • Añade mysql_native_password como regla de verificación permitida.
    • Establece la clave a 1234 para el usuario root.

    Si volvemos a lanzar la sentencia SQL de antes:

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

    Verás que ahora nos presenta una tabla diferente de configuración de usuarios.

  • Configuración extra en PhpMyAdmin. Cualquier otra configuración adicional deberemos hacerla sobre el archivo que se encuentra en esta ubicación: etc/phpmyadmin/config.inc.php.Por ejemplo, algo que podríamos necesitar es permitir el acceso con la clave de root de MySQL vacía «» (Error Login without a password is forbidden by configuration). Tan solo debemos buscar AllowNoPassword y quitarle las líneas comentadas, o dejarlo como valor true:
    $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;