Cómo instalar phpMyAdmin en Fedora 30

En este tutorial veremos cómo instalar phpMyAdmin en Fedora 30 paso a paso, de modo que puedas administrar tu motor de bases de datos favorito en tu servidor o VPS Fedora desde cualquier dispositivo conectado con un simple navegador.

Antes de instalar phpMyAdmin en Fedora 30

Para poder seguir esta guía de instalación de phpMyAdmin en Fedora 30 necesitarás comenzar desde unos requisitos mínimos:

  • Una máquina Fedora 30 actualizada.
  • Una pila LAMP o, lo que es lo mismo, servidor web Apache con PHP y motor de bases de datos MariaDB/MySQL.
  • Acceso a línea de comandos como root o usuario con permisos de sudo.
  • Conexión a Internet.

Puedes consultar la guía de instalación LAMP en Fedora 30 si aún no tienes esta pila instalada en tu sistema. Aunque es importante tener configurado el servicio web con HTTPS, por simplicidad del tutorial trabajaremos con HTTP, pero si necesitas ayuda con ello puedes consultar nuestra guía de instalación y configuración de Apache en Fedora 30.

Cómo descargar phpMyAdmin en Fedora 30

Necesitamos descargar phpMyAdmin para Fedora 30 y tenemos dos opciones: acudir a la web oficial del proyecto o utilizar los paquetes de la distribución.

Normalmente en este tipo de aplicaciones suelo optar por la versión oficial descargada desde la web del proyecto. Sin embargo, en este caso la versión oficial de phpmyadmin.net (5.02) y la ofrecida en los paquetes de Fedora (4.9.5) en el momento de escribir esta guía están muy próximas en el tiempo, por lo que lo más cómodo es usar los paquetes de la propia distribución.

Cómo instalar phpMyAdmin en Fedora 30

Vamos a instalar phpMyAdmin en Fedora 30 como hemos dicho utilizando los repositorios de la distribución. Por tanto se recomienda como primer paso actualizar las listas de paquetes disponibles:

~$ sudo yum update

Ya podemos instalar el paquete phpmyadmin con yum:

~$ sudo yum -y install phpmyadmin

Una vez descargado e instalado phpmyadmin junto con todas sus dependencias será necesario realizar algunos ajustes para hacer funcionar la aplicación.

Cómo configurar phpMyAdmin en Fedora 30

Ahora es el momento de configurar phpMyAdmin en Fedora 30, para lo que ajustaremos el acceso remoto y crearemos la base de datos de la aplicación.

Base de datos de phpMyAdmin

El uso de ciertas características avanzadas de phpMyAdmin se basa en el apoyo sobre una base de datos para la aplicación que tendremos que crear de forma manual, por ejemplo conectando mediante el cliente de consola mysql y un usuario administrador:

~$ mysql -u root -p

Empezamos creando la base de datos:

> create database phpmyadmin charset utf8mb4 collate utf8mb4_unicode_ci;

En MariaDB o MySQL 5 creamos el usuario de la siguiente forma:

> create user pma@localhost identified by 'XXXXXXXX';

Mientras que en MysQL 8 lo creamos indicando el plugin compatible:

> create user pma@localhost identified with mysql_native_password by 'XXXXXXXX';

Concedemos los permisos al usuario sobre la base:

> grant all privileges on phpmyadmin.* to pma@localhost;

Concedemos también permisos de lectura exclusivamente sobre la tabla mysql.user:

> grant select on mysql.user to pma@localhost;

Y también sobre la tabla mysql.db:

> grant select on mysql.db to pma@localhost;

Y cerramos la sesión:

> exit

Es necesario inicializar la base de datos con el script SQL que incluye phpMyAdmin:

~$ mysql -u root -p phpmyadmin < /usr/share/phpMyAdmin/sql/create_tables.sql

Para configurar el acceso de phpMyAdmin a la base de datos propia, editaremos el archivo de configuración config.inc.php:

~$ sudo nano /etc/phpMyAdmin/config.inc.php

Y buscaremos el siguiente fragmento de configuración:

...
$cfg['Servers'][$i]['controluser']   = '';

$cfg['Servers'][$i]['controlpass']   = '';
...

Indicaremos el nombre del usuario y la contraseña que creamos anteriormente:

...
$cfg['Servers'][$i]['controluser']   = 'pma';

$cfg['Servers'][$i]['controlpass']   = 'XXXXXXXX';
...

Guardamos los cambios y la configuración estará lista.

Acceso desde red

La instalación real de phpMyAdmin se realiza en la ruta /usr/share/phpMyAdmin/, y la forma en la que se accede es a través de un alias del servicio web Apache configurado en el archivo phpMyAdmin.conf. Debido a que la configuración por defecto del servidor web es algo restrictiva es necesario retocar este archivo de configuración:

~$ sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

En este archivo veremos que de hecho tenemos dos alias configurados:

...
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
...

Puedes dejar el que prefieras, añadir uno nuevo, etc.

Por otro lado encontraremos este bloque Directory:

...
<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>
...

Podemos ver que sólo se permite el acceso local, que puede estar bien en algunas ocasiones, pero realmente la mayoría de las veces instalamos phpMyAdmin en Fedora 30 para poder administrar las bases de datos de forma remota. Si esta es tu intención, modifica el bloque anterior de la siguiente forma:

..
<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
#       Require ip 127.0.0.1
#       Require ip ::1
        Require all granted
     </RequireAny>
   </IfModule>
</Directory>
...

Lo que hemos hecho es desactivar las directivas Require originales y añadir una nueva que permite el acceso remoto. También hemos eliminado la parte relacionada con Apache 2.2, ya que hace bastante tiempo que Fedora usa la versión 2.4.

Guardamos los cambios, cerramos el archivo y recargamos la configuración del servicio web:

~$ sudo systemctl reload httpd

Cómo acceder a phpMyAdmin en Fedora 30

Para acceder a phpMyAdmin en Fedora 30 desde un navegador podemos añadir cualquiera de los alias configurados a la dirección IP o dominio del servidor y tendremos la URL para acceder a la aplicación.

Por ejemplo, en esta guía trabajamos con un VPS Fedora 30 accesible mediante el nombre DNS fedora30.local.lan, de modo que tanto http://fedora30.local.lan/phpmyadmin como http://fedora30.local.lan/phpMyAdmin/ son URLs válidas.

como instalar phpmyadmin en fedora 30

Acceso de usuarios de MySQL 8 a phpMyAdmin en Fedora 30

Estamos listos para trabajar, introduciendo los datos de algún usuario de nuestro servicio de bases de datos, pero nos podemos encontrar con esto:

como configurar phpmyadmin en fedora 30

Si en tu instalación de MySQL 8 elegiste como plugin de autenticación por defecto chaching_sha2_password, los usuarios que hayan sido creados con este plugin no pueden acceder a phpMyAdmin y obtendrán un mensaje de error:

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

La solución es cambiar el plugin de autenticación para los usuarios que tengan este problema y quieran acceder a través de phpMyAdmin.

Cambiar el plugin de autenticación es fácil, iniciando sesión con el cliente mysql y algún usuario administrador:

~$ mysql -u root -p

Y modificamos el usuario de que se trate, asignándole el plugin de autenticación mysql_native_password y la contraseña (que puede ser la misma que tenía con el otro plugin, para que el cambio sea transparente al usuario):

> alter user usuario identified with mysql_native_password by 'XXXXXXXX';

Sólo falta refrescar la tabla de privilegios del sistema de bases de datos:

> flush privileges;

Y cerrar la conexión:

> exit

Ahora podemos acceder a phpMyAdmin con toda normalidad:

como configurar phpmyadmin en fedora 30

Si vas a tener muchos usuarios accediendo a sus bases de datos a través de phpMyAdmin, puede que te interese cambiar el plugin por defecto del servicio, pasando de caching_sha2 password a mysql_native_password.

Conclusión

Ahora que sabes cómo instalar y configurar phpMyAdmin en Fedora 30 puedes administrar tus bases de datos, tablas y usuarios desde cualquier dispositivo con conexión y un navegador. Te ahorras tener que instalar clientes de consola o gráficos que incluso podrían no estar disponibles para ciertos sistemas. Además puedes administrar remotamente sin tener activado el acceso remoto del sistema de bases de datos, eliminando ataques directos al servicio.

Si tienes dudas, sugerencias, preguntas, notificaciones de errores, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Te ha servido esta guía de instalación de phpMyAdmin en Fedora 30? ¿Has salido de un atasco gracias a este tutorial? Pues si estás tan agradecido que te apetece colaborar con el mantenimiento de este sitio y con la creación de nuevas guías de Fedora 30, cualquier mínima contribución es bienvenida, y puedes hacerlo invitándome a un café:

 

O dejando 1 $ de propina con PayPal:

¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (4 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies