Cómo instalar phpMyAdmin en CentOS 8

En el siguiente artículo vamos a ver cómo instalar phpMyAdmin en CentOS 8 paso a paso, de modo que podrás administrar de forma remota el servicio de bases de datos MariaDB o MySQL de tu servidor o VPS CentOS, sin necesidad de tener activado el acceso remoto ni tener que instalar un cliente específico.

Antes de instalar phpMyAdmin en CentOS 8

Si quieres completar esta guía de instalación de phpMyAdmin en CentOS 8 deberías asegurarte de pasar los siguientes requerimientos:

  • Un sistema CentOS 8 actualizado.
  • Una pila tipo LAMP o LEMP, es decir, servidor web con PHP y bases de datos MariaDB/MySQL.
  • Paquetes y comandos: tar, wget.
  • Acceso a consola con un usuario con permisos de sudo o root.
  • Conexión a Internet.

Si no tienes aún el entorno necesario, en este sitio tienes una guía de intalación LAMP en CentOS 8.

Cómo descargar phpMyAdmin para CentOS 8

En esta ocasión tenemos que descargar phpMyAdmin para CentOS 8 desde la web oficial del proyecto. Y es que aunque en la versión anterior de CentOS podíamos encontrar phpMyAdmin en el repositorio EPEL, en la versión actual no se encuentra. Así que acudiremos a la web:

como descargar phpmyadmin para centos 8

Aunque en primer plano encontramos un botón de descarga, se trata de un paquete en formato .zip. En mi caso prefiero descargar otros formatos con mayor compresión y más orientados a Linux.

Visitando la zona de descargas encontramos más alternativas:

descargar phpmyadmin para centos 8

En esta guía descargaremos la versión .tar.xz desde consola, por lo que copiaremos el enlace y lo pegaremos como argumento del comando wget:

~$ wget https://files.phpmyadmin.net/phpMyAdmin/4.9.2/phpMyAdmin-4.9.2-all-languages.tar.xz

Cómo instalar phpMyAdmin en CentOS 8

Vamos a instalar phpMyAdmin en CentOS 8 de forma manual en su ubicación.

Podemos descomprimir el paquete que acabamos de descargar directamente en su ubicación en la carpeta de archivos web de la página por defecto, ya que todos los archivos vienen contenidos en una carpeta:

~$ xzcat phpMyAdmin-4.9.2-all-languages.tar.xz | sudo tar x -C /var/www/html/

El nombre de la nueva carpeta es bastante largo, así que lo podemos renombrar como phpmyadmin/:

~$ sudo mv /var/www/html/phpMyAdmin-4.9.2-all-languages/ /var/www/html/phpmyadmin

Preparativos de PHP

La aplicación phpMyAdmin en CentOS 8 requiere la presencia de ciertas extensiones de PHP, como pueden ser json, mbstring y zip. Por tanto debemos asegurarnos de que estén correctamente instaladas:

~$ sudo yum install -y php-json php-mbstring php-zip

Una vez instaladas estas extensiones, recargaremos la configuración del servicio PHP:

~$ sudo systemctl reload php-fpm

Acceder a phpMyAdmin en CentOS 8

Para acceder a phpMyAdmin desde un navegador construiremos la URL de forma coherente a la instalación que hayamos realizado. En este ejemplo añadimos la ruta /phpmyadmin/ a la dirección IP o dominio del servidor CentOS 8:

como instalar phpmyadmin en centos 8

¡Pero aún no hemos terminado! Queda un paso importante para terminar.

Cómo configurar phpMyAdmin en CentOS 8

Aunque ya podemos teóricamente usar phpMyAdmin, debemos dar un paso más. Y es que phpMyAdmin incorpora un configurador para generar un archivo config.inc.php con los ajustes de phpMyAdmin. Mientras no se haya guardado ese archivo en la carpeta de phpMyAdmin, el configurador será accesible, lo cual supone un riesgo, ya que el acceso al configurador no está protegido por defecto.

Para acceder al configurador de phpMyAdmin, añadimos la ruta /setup/ a la URL de acceso a phpMyAdmin. En este ejemplo usamos la URL http://centos8.local/phpmyadmin/setup/ en el navegador:

como configurar phpmyadmin en centos 8

Hay dos formas de configurar phpMyAdmin, mediante este configurador web o editando a mano el archivo de configuración.

Configuración mediante el configurador web

Lo cierto es que usar el configurador puede llegar a desbordarnos, debido a la enorme cantidad de opciones que incluye.

Cuando demos por terminada la configuración, en la página principal del mismo, la sección «Vista general«, un botón «Descargar» nos da la posibilidad de descargar el fichero config.inc.php con la configuración que hayamos generado. Este archivo debe ser copiado a la carpeta de instalación de phpMyAdmin (/var/www/html/phpmyadmin/ en este ejemplo).

Configuración manual

Una de las características de phpMyAdmin es que puede usar una base de datos propia para guardar preferencias de cada usuario. Crearemos fácilmente esta base de datos con un archivo SQL preparado al efecto en el subdirectorio sql/ de la carpeta de phpMyAdmin:

~$ sudo mysql < /var/www/html/phpmyadmin/sql/create_tables.sql

Si tu usuario root no accede con autenticación por socket del sistema, sino que usa clave, en lugar del comando anterior usuarías este:

~$ mysql -u root -p < /var/www/html/phpmyadmin/sql/create_tables.sql

Ahora crearemos un usuario para que maneje esta base de datos. Accede con el cliente mysql y tu usuario administrador:

~$ mysql -u root -p

Creamos un nuevo usuario pma@localhost, cuyo nombre coincide con el valor por defecto de la configuración de phpMyAdmin:

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

Y le damos privilegios sobre la base de datos phpmyadmin:

> grant select, insert, update, delete on phpmyadmin.* to pma@localhost;

Refrescamos los permisos y salimos del cliente mysql:

> flush privileges;
> exit

Ahora prepararemos el archivo de configuración usando el fichero de ejemplo de config.sample.inc.php presente en el directorio de phpMyAdmin y haciendo una copia del mismo como config.inc.php.

En el ejemplo de esta guía copiaríamos el archivo así:

~$ sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

Sólo habría que realizar algnos ajustes sobre la copia de este archivo.

Editamos el archivo de configuración:

~$ sudo nano /var/www/html/phpmyadmin/config.inc.php

Por defecto phpMyAdmin intenta usar una carpeta para archivos temporales ubicada en su propio directorio de instalación. Podríamos crear la carpeta que busca, pero habría que dar permisos de escritura, lidiar con SELinux, etc. así que lo más fácil es usar la carpeta temporal de CentOS 8 donde se puede leer y escribir directamente. Para ello añadimos al final del archivo esta línea:

$cfg['TempDir'] = '/tmp/';

Por otro lado, se necesita una clave de 32 caracteres para cifrar las cookies de sesión. Este valor debemos indicarlo en la siguiente línea:

...
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
...

Como se puede ver, no hay ningún valor por defecto, así que introduciremos cualquier cadena aleatoria de 32 caracteres:

...
$cfg['blowfish_secret'] = 'asdkljasdfjaskljfaasd089u12p3480';
...

Ahora configuraremos el uso de la base de datos propia de phpMyAdmin que creamos anteriormente. Para ello buscaremos la sección etiquetada en comentarios como «phpMyAdmin configuration storage settings«:

...
/**
 * phpMyAdmin configuration storage settings.
 */

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
...

Descomentamos las líneas para los valores controluser y controlpass y especificamos la contraseña que creamos anteriormente:

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

Justo bajo este bloque encontramos más líneas comentadas relativas a la base de datos de phpMyAdmin:

...
/* Storage database and tables */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma__relation';
...

Son unos 20 valores que debemos descomentar, sin modificar:

...
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
...
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
...

Ya podemos guardar los cambios y cerrar el archivo.

Fin de la configuración

En el momento en que existe un archivo config.inc.php en la carpeta de instalación de phpMyAdmin dejará de estar activo el configurador web:

configurar phpmyadmin en centos 8

Una vez terminada la configuración de phpMyAdmin en CentOS 8 ya podemos acceder desde el navegador especificando en la URL la ruta adecuada e iniciando sesión con nuestro usuario de trabajo:

Tras proporcionar nombre de usuario y contraseña, accederemos a nuestra página principal, donde no encontraremos ningún tipo de mensajes de aviso o error:

Ya podemos trabajar con nuestro usuario sobre el servicio de bases de datos, de acuerdo con sus permisos.

Conclusión

Ahora que sabes cómo instalar y configurar phpMyAdmin en CentOS 8 ya puedes administrar tus bases de datos y usuarios de forma muy intuitiva sin tener que activar el acceso remoto del servicio, ni instalar clientes. Basta un dispositivo conectado a la red con navegador.

Cualquier duda, pregunta, sugerencia de mejoras, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Te ha resultado útil esta guía de instalación y configuración de phpMyAdmin en CentOS 8? Pues si quieres agradecérnoslo, cualquier mínima contribución al mantenimiento del sitio y elaboración de nuevas guías y tutoriales es bienvenida. ¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 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