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.
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
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:
- Agregarle mysql_native_password como método de autenticación permitida
- 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.
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...