Cómo instalar phpMyAdmin en FreeBSD 12

En esta ocasión veremos cómo instalar phpMyAdmin en FreeBSD 12 paso a paso, de modo que al final de este tutorial podrás administrar el servicio de bases de datos de tu servidor o VPS FreeBSD desde cualquier dispositivo a través de un navegador.

Antes de instalar phpMyAdmin en FreeBSD 12

Para completar esta guía de instalación de phpMyAdmin en FreeBSD 12 necesitas partir de estos requisitos mínimos:

  • Un sistema FreeBSD 12 actualizado.
  • Una pila tipo FAMP, es decir, servidor web con PHP y servidor de bases de datos MariaDB/MySQL.
  • Acceso a consola como root o usuario con permisos de sudo.
  • Conexión a Internet.

En esta guía usaremos como servicio de bases de datos MySQL 8.0, pero puedes usar perfectamente versiones anteriores de MySQL o también MariaDB. Así que si tienes todo listo, abrimos una terminal y empezamos con el trabajo.

Cómo instalar phpMyAdmin en FreeBSD 12

Para instalar phpMyAdmin en FreeBSD 12 nos encontramos con la grata sorpresa de que tenemos paquetes bastante actualizados con versiones muy recientes (la 5.1.3 en el momento de actualizar esta guía).

Por tanto, la primera tarea será actualizar las listas de paquetes:

~$ sudo pkg update

Hay que tener en cuenta la versión de PHP instalada, ya que phpMyAdmin nos ofrece paquetes específicos para las versiones 7.4, 8.0 y 8.1:

~$ sudo pkg search phpmyadmin
phpMyAdmin-php74-4.9.10        Set of PHP-scripts to manage MySQL over the web
phpMyAdmin-php80-4.9.10        Set of PHP-scripts to manage MySQL over the web
phpMyAdmin-php81-4.9.10        Set of PHP-scripts to manage MySQL over the web
phpMyAdmin5-php74-5.1.3        Set of PHP-scripts to manage MySQL over the web
phpMyAdmin5-php80-5.1.3        Set of PHP-scripts to manage MySQL over the web
phpMyAdmin5-php81-5.1.3        Set of PHP-scripts to manage MySQL over the web

Si no sabes qué versión de PHP tienes instalada, puedes usar el comando php -v:

como instalar phpmyadmin en freebsd 12

En este ejemplo tenemos instalada la versión 8.0, por lo tanto el paquete que instalaremos será phpmyadmin5-php80:

~$ sudo pkg install -y phpmyadmin5-php80

Una vez descargados e instalados el paquete y sus dependencias, phpMyAdmin queda instalado en la carpeta /usr/local/www/phpMyAdmin/, pero aún no funciona, ya que tenemos que hacer configuraciones adicionales en el servidor web.

Preparativos del servidor web

La forma habitual de activar phpMyAdmin es introduciendo un alias en la configuración web, de modo que añadiendo una ruta como /phpmyadmin al dominio o dirección del servidor FreeBSD 12 se ejecute la aplicación.

En este ejemplo usamos Apache 2.4 como servidor web, por lo que creamos un archivo de configuración phpmyadmin.conf que podemos situar en /usr/local/etc/apache24/Includes/:

$ sudo nano /usr/local/etc/apache24/Includes/phpmyadmin.conf

El contenido de este archivo podría ser este:

Alias /phpmyadmin "/usr/local/www/phpMyAdmin"

<Directory "/usr/local/www/phpMyAdmin">
        Options None
        AllowOverride Limit

#       Require local
#       Require .example.com
        Require all granted
</Directory>

En este caso hemos adaptado la directiva Require para que acepte conexiones desde cualquier punto de la red, pero puedes modificarla para configurar el acceso según tus necesidades (sólo desde la máquina local, sólo desde dominios conocidos, etc.).

Debemos recargar la configuración del servidor web para que los cambios entren en funcionamiento:

$ sudo service apache24 reload

Preparativos del servicio de bases de datos

Conectamos al servicio con algún usuario con privilegios:

~$ mysql -u root -p

Crearemos un usuario para el manejo de la base de datos propia de phpMyAdmin en FreeBSD 12.

Si usamos MariaDB o MySQL 5.x creamos dicho usuario de la siguiente forma:

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

Y si usamos MySQL 8.0 puede resultar más interesante crear el usuario con el plugin de autenticación más compatible:

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

En cualquier caso concedemos permisos a este usuario sobre la base de datos de phpMyAdmin:

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

Y cerramos la conexión.

La base de datos de phpMyAdmin se crea a partir de un script que incluye el paquete que instalamos anteriormente con el siguiente comando:

~$ mysql -u pma -p < /usr/local/www/phpMyAdmin/sql/create_tables.sql

Para esta operación usaremos la contraseña del usuario pma tal como la creamos en el paso anterior.

Preparativos de phpMyAdmin

También hay que hacer algún ajuste en la configuración de phpMyAdmin, editando su archivo config.inc.php:

~$ sudo nano /usr/local/www/phpMyAdmin/config.inc.php

Añadiremos el siguiente código PHP antes del cierre del bloque existente:

...
declare(strict_types=1);

$cfg['blowfish_secret'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

$i = 1;

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

?>

Como valor de la variable blowfish_secret debes especificar una clave de 32 caracteres al azar para cifrar las cookies de sesión. En cuanto al valor de la variable controlpass será la contraseña del usuario de la base de datos de phpMyAdmin que creamos en el paso anterior.

Guardamos los cambios y cerramos el archivo.

Cómo acceder a phpMyAdmin en FreeBSD 12

Una vez configurado el alias, acceder a phpMyAdmin es tan sencillo como añadir /phpmyadmin (o el alias que hayas configurado) a la dirección del servidor FreeBSD 12.

En este ejemplo, el servidor FreeBSD 12 es accesible desde el dominio freebsd12.local.lan, por lo que podríamos usar http://freebsd12.local.lan/phpmyadmin como URL de acceso:

instalar phpmyadmin en freebsd 12

Se nos presenta la página de inicio de sesión, donde debemos introducir los datos del usuario del servicio de bases de datos con el que queremos trabajar.

Una vez introducidas las credenciales con éxito, se nos presenta la página principal de la interfaz web de phpMyAdmin:

phpmyadmin en freebsd 12

Ya puedes trabajar con tus bases de datos según los permisos y privilegios que tenga otorgado el usuario con el que has iniciado sesión.

Problemas de conexión

Vamos a ver qué puede pasar en algunas situaciones en las que obtenemos un error al intentar iniciar sesión.

Problemas con MySQL 8

Puede que al intentar iniciar sesión en phpMyAdmin con tu usuario y contraseña el acceso no sea posible y recibas una serie de mensajes de error como:

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

configurar phpmyadmin en freebsd 12

Esto se debe a que estás accediendo con un usuario que tiene configurado un plugin de acceso distinto al nativo de MySQL, en este caso concreto el plugin caching_sha2_password, típico de MySQL 8.

Los métodos de conexión de phpMyAdmin con PHP hasta 7.3 no contemplan este plugin, por lo que la única solución es configurar el plugin del usuario como myslql_native_password.

Esto lo puedes hacer conectando al servicio de bases de datos con el cliente mysql y un usuario con capacidades de administración:

$ mysql -u root -p

Para cambiar el plugin de acceso del usuario bastará con lanzar este comando:

> alter user usuario identified with mysql_native_password;

Será necesario cambiar la contraseña, ya que el hash almacenado no se corresponderá con el nuevo método de autentificación:

> alter user usuario identified by 'XXXXXXXX';

Ya sólo queda recargar la tabla de permisos y salir del cliente:

> flush privileges;
> exit

Ahora sí que puedes acceder a phpMyAdmin con el usuario.

Problemas con MariaDB

En ocasiones podría ocurrir que al intentar conectar con un usuario con el que puedes acceder desde consola, obtengas un error como este:

mysqli_real_connect(): (HY000/1045): Access denied for user ‘usuario’@’localhost’ (using password: YES)

instalar y configurar phpmyadmin en freebsd 12

Muchas veces el problema es que se crea el usuario con permiso de acceso desde cualquier lugar, usuario@%, pero phpMyAdmin intenta la autenticación como usuario local, usuario@localhost. La forma de solucionar esto es cambiar el acceso universal por local para ese usuario.

Para ello conectaremos con algún usuario administrador desde consola:

$ sudo mysql

Usando el comando RENAME USER cambiaremos los permisos de acceso del usuario usuario:

> rename user usuario@'%' to usuario@localhost;

Actualizamos la tabla de permisos y cerramos el cliente:

> flush privileges;
> exit

El acceso a phpMyAdmin debería ser posible.

Conclusión

Ahora que ya sabes cómo instalar phpMyAdmin en FreeBSD 12 ya puedes administrar remotamente tu servicio de bases de datos MariaDB Server o MySQL Server, sin necesidad de activar el acceso remoto en el servidor ni tener que instalar clientes gráficos o de consola en el cliente.

Además podrás realizar muchas tareas de gestión de bases de datos, tablas, usuarios, etc. sin tener que conocer a fondo la sintaxis del lenguaje SQL y los comandos de MySQL.

Para cualquier duda, pregunta, notificación de errores, sugerencia de nuevos tutoriales y guías, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Ya has conseguido instalar phpMyAdmin en tu máquina FreeBSD 12 gracias a este tutorial? Pues si ardes en deseos de agradecérnoslo, cualquier mínima contribución al mantenimiento de este sitio es bienvenida.

Puedes ayudarnos dejando una propina de tan sólo 1 $ con PayPal:

O, si te sientes especialmente generoso, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (4 votos)

1 comentario en «Cómo instalar phpMyAdmin en FreeBSD 12»

Deja un comentario