Cómo instalar la herramienta de administración de bases de datos Adminer en Ubuntu 22.04

Adminer (antes phpMinAdmin) es una herramienta de administración de bases de datos con todas las funciones que admite tanto RDBMS (Sistema de Gestión de Bases de Datos Relacionales) como MySQL/MariaDB, PostgreSQL, SQLite, MS SQL y Oracle, como NoSQL como MongoDB y otros (mediante plugin). Es una herramienta de gestión de bases de datos ligera, fácil de usar y de alto rendimiento que puedes utilizar fácilmente para gestionar tus bases de datos.

Adminer se ha creado como alternativa a phpMyAdmin, está escrito en PHP y consta de un único y minúsculo archivo PHP y se distribuye bajo la Licencia Apache (o GPL v2).

En este tutorial, te mostraremos instrucciones paso a paso sobre cómo instalar «Adminer» la herramienta de administración de bases de datos en el servidor Ubuntu 22.04.

Requisitos previos

Antes de empezar con la siguiente guía, debes tener algunos de los siguientes requisitos:

  • Un servidor Ubuntu 22.04.
  • Un usuario no root con privilegios de root/administrador.
  • Un Servidor de Base de Datos instalado en tu máquina. Las herramientas Adminer son compatibles con varios RDBMS (Sistema de Gestión de Bases de Datos Relacionales) como MySQL/MariaDB, PostgreSQL, SQLite3 y OracleDB.

Instalación de Adminer en un servidor Ubuntu

En los sistemas Ubuntu más recientes (incluido Ubuntu 22.04), la herramienta de base de datos Adminer está disponible por defecto en el repositorio Ubuntu Universe. Esto facilita al administrador la instalación de Adminer sin ningún repositorio de terceros ni pasos adicionales para la instalación básica.

Antes de empezar a instalar Adminer, ejecuta el siguiente comando apt para actualizar y refrescar el índice de paquetes de tu repositorio de Ubuntu.

sudo apt update

Ahora puedes comprobar el paquete«adminer» utilizando el siguiente comando. En el momento de escribir esto, el repositorio de Ubuntu proporciona la última versión de Admuiner v4.8, que está disponible en el repositorio de Ubuntu«universe/web«. Además, puedes ver que hay algunas dependencias de paquetes para Adminer, que incluyen controladores PHP para múltiples RDBMS como MySQL/MariaDB, PostgreSQL y SQLite3.

sudo apt info adminer

comprobar paquete adminer

Ahora puedes instalar la herramienta de administración de bases de datos «Adminer» utilizando el siguiente comando apt. Introduce Y para confirmar la instalación y pulsa ENTER para continuar, y comenzará la instalación de «Adminer».

sudo apt install adminer

instalar adminer

Una vez finalizada la instalación de «Adminer», tendrás que activar la configuración por defecto de Apache2 para Adminer«/etc/apache2/conf-available/adminer.conf«.

Ejecuta el siguiente comando para activar la configuración de Adminer para el servidor web Apache2.

sudo ln -s /etc/apache2/conf-available/adminer.conf /etc/apache2/conf-enabled/

A continuación, comprueba y verifica la configuración de Apache2 mediante el siguiente comando. A continuación, reinicia el servicio Apache2 para aplicar los nuevos cambios.

sudo apachectl configtest
sudo systemctl restart apache2

configuración adminer

Ahora puedes acceder a él a través de tu navegador web con la ruta URL por defecto «/adminer» (es decir: http://192.168.5.75/adminer). Y deberías obtener la página de inicio de sesión de la herramienta de administración de bases de datos «Adminer».

página de inicio de sesión del administrador

Adminer es una herramienta de administración de múltiples bases de datos, muy diferente de las herramientas de administración de bases de datos como phpMyAdmin, que sólo admite MySQL/MariaDB, o pgAdmin para PostgreSQL.

Puedes utilizar «Adminer» para conectarte a múltiples RDBMS como MySQL/MariaDB, PostgreSQL, SQLite y OracleDB. Para conectarte a tu base de datos utilizando «Adminer», sólo tienes que introducir los datos del usuario de la base de datos, la contraseña y la base de datos en la página de inicio de sesión de «Adminer».

adminer bases de datos compatibles

Asegurar la instalación de Adminer

Una vez que hayas instalado «Adminer», ahora deberás asegurar la instalación utilizando distintos métodos.

A continuación, asegurarás la instalación de «Adminer» utilizando dos métodos:

  • Cambiando la ruta URL por defecto: La instalación por defecto de Adminer está disponible en la ruta URL «/adminer», que es adivinable para los atacantes. Cambiar la ruta URL por defecto hará que tu Adminer sea más seguro, porque sólo tú conoces la ruta URL de acceso a tu instalación de Adminer.
  • Añadir autenticaciónbásica: Esto añadirá una autenticación antes de que aparezca la página de inicio de sesión de Adminer. La autenticación básica se puede crear utilizando el módulo basic_auth de Apache2.

Cambiar la ruta URL por defecto

La instalación por defecto de Adminer incluye el archivo de configuración de Apache2 «/etc/apache2/conf-available/adminer.conf» que puede utilizarse para configurar la herramienta de administración de bases de datos Adminer en tu servidor.

Edita el archivo«/etc/apache2/conf-available/adminer.conf» utilizando el siguiente comando.

sudo nano /etc/apache2/conf-available/adminer.conf

En la parte superior de la línea, puedes ver la opción«Alias ...» que define la ruta URL por defecto de Adminer. En la demostración, cambiaremos la ruta URL por defecto de«/adminer» a la ruta personalizada«/mydbadmin» utilizando la siguiente configuración.

Alias /mydbadmin /etc/adminer

Guarda y cierra el archivo cuando hayas terminado.

A continuación, ejecuta el siguiente comando para comprobar y verificar la configuración de Apache2. Si recibes un mensaje como«Sintaxis correcta«, significa que la configuración de Apache2 es correcta.

sudo apachectl configtest

Ahora reinicia el servicio Apache2 para aplicar los nuevos cambios utilizando el siguiente comando.

sudo systemctl restart apache2

Por último, puedes visitar tu instalación de Adminer en la nueva ruta URL«/mydbadmin» (es decir: http://192.168.5.75/mydbadmin). Y deberías obtener la página de inicio de sesión de la herramienta de administración de bases de datos Adminer.

cambiar ruta url adminer

Añadir autenticación básica de Apache

Tras cambiar la ruta URL de instalación por defecto, es hora de añadir la autenticación básica al Adminer utilizando el módulo«basic_auth» de Apache2.

Ejecuta el siguiente comando para crear un nuevo archivo de usuario «/etc/adminer/.htpasswd» para la autenticación básica de Apache. En este ejemplo, definirás el nuevo usuario para la autenticación básica de Apache como«dbadmin«.

Ahora introduce la contraseña para el usuario«dbadmin» y repite la contraseña. Y se creará el nuevo archivo de usuario para la autenticación básica de Apache.

sudo htpasswd -B -c /etc/adminer/.htpasswd dbadmin

Si sólo quieres añadir un nuevo usuario, puedes eliminar la opción «-c«, que significa crear un nuevo archivo de usuario de base de datos. Así, el comando para añadir un nuevo usuario debería ser como el siguiente.

sudo htpasswd -B /etc/adminer/.htpasswd newuser

A continuación, edita la configuración«/etc/apache2/conf-available/adminer.conf» utilizando el siguiente comando.

sudo nano /etc/apache2/conf-available/adminer.conf

Añade la siguiente configuración al archivo. Con la configuración, sólo los usuarios válidos en el archivo de usuario«/etc/adminer/.htpasswd » podrán iniciar sesión y acceder a la herramienta de administración de bases de datos Adminer en la ruta URL«/mydbadmin«.

<Location /mydbadmin>
  AuthType Basic
  AuthName "Restricted Resource"
  AuthBasicProvider file
  AuthUserFile /etc/adminer/.htpasswd
  Require valid-user
</Location>

Guarda y cierra el archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando para comprobar y verificar el archivo de configuración de Apache. A continuación, reinicia el servicio Apache2 para aplicar los nuevos cambios.

sudo apachectl configtest
sudo systemctl restart apache2

configurar apache basic auth adminer

Por último, vuelve a tu navegador web y visita la URL de tu instalación de Adminer (es decir: http://192.168.5.75/mydbadmin). Ahora se te pedirá la autenticación básica de Apache antes de que aparezca la página de inicio de sesión de Adminer.

Introduce el usuario«dbadmin» y la contraseña, y haz clic en«Iniciar sesión«. Y deberías obtener la página de inicio de sesión de Adminer.

apache basic auth adminer

Configurar el usuario de la base de datos (MySQL/MariaDB)

En este ejemplo, utilizaremos la base de datos MariaDB en un servidor diferente. Por lo tanto, tendrás que configurar los detalles de la base de datos, como el nombre de usuario y la contraseña para un servidor que no sea localhost.

Antes de crear un nuevo usuario de MariaDB, tendrás que configurar MariaDB para que se ejecute en la dirección IP privada, lo que puedes hacer mediante la configuración de MariaDB«/etc/mysql/mariadb.conf.d/50-server.cnf«.

Edita el archivo de configuración de MariaDB «/etc/mysql/mariadb.conf.d/50-server.cn f» utilizando el siguiente comando.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Cambia la dirección «listen» por defecto por la IP privada del servidor MariaDB. En este ejemplo, la dirección IP del servidor MariaDB es«192.168.5.20«.

listen   = 192.168.5.20

Guarda y cierra el archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando para reiniciar el servicio MariaDB y aplicar los nuevos cambios.

sudo systemctl restart mariadb

A continuación, accede a tu servidor MySQL/MariaDB y ejecuta el siguiente comando mysql.

sudo mysql -u root -p

Ahora ejecuta las siguientes consultas MariaDB para crear un nuevo usuario y contraseña para tu servidor MariaDB. En este ejemplo, el usuario MariaDB«[email protected]» podrá conectarse al servidor MariaDB desde el servidor Adminer, que tiene una dirección IP«192.168.5.75«.

CREATE USER 'dbadmin'@'192.168.5.75' IDENTIFIED BY 'dbpassword';
GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'192.168.5.75' WITH GRANT OPTION;
FLUSH PRIVILEGES;

crear usuario para adminer

A continuación, ejecuta las siguientes consultas para comprobar y verificar los privilegios del usuario«[email protected]». A continuación, escribe«quit» para salir del intérprete de comandos MariaDB. Como puedes ver, el usuario MariaDB«[email protected]» podrá acceder a todas las bases de datos del servidor MariaDB.

SHOW GRANTS FOR [email protected];
quit

comprobar privilegios del usuario mariadb

Ahora, si tienes el cortafuegos UFW ejecutándose en tu servidor MariaDB, también puedes añadir nuevas reglas UFW para asegurar el acceso a MariaDB. Ejecuta el siguiente comando para permitir el puerto MySQL/MariaDB sólo desde la dirección IP del servidor Adminer«192.168.5.75».

sudo ufw allow from 192.168.5.75 to 192.168.5.20 port 3306 proto tcp comment 'allow mysql access for Adminer'
sudo ufw reload

Después, comprueba la lista de reglas UFW utilizando el comando siguiente. Y deberías ver que la nueva regla para el acceso a MySQL/MariaDB en el puerto «3360/tcp» está disponible en el cortafuegos UFW.

sudo ufw status

asegurar mariadb con ufw

Acceder al servidor MariaDB desde Adminer

Después de configurar el usuario de la base de datos en tu sistema, es hora de conectarse al servidor de la base de datos desde la herramienta de administración de bases de datos Adminer.

En la página de inicio de sesión de Adminer, introduce los datos del host de la base de datos, el nombre de usuario y la contraseña. A continuación, haz clic en el botón «Iniciar sesión» para conectarte.

conectarse a mariadb con adminer

Tras iniciar sesión, ya puedes gestionar tu base de datos desde el panel de Adminer. Además, verás la versión de la base de datos y el usuario que estás utilizando actualmente para conectarte al servidor.

iniciar sesión en el servidor mariadb con adminer

Conclusión

¡Enhorabuena! Ya has instalado correctamente la herramienta de administración de bases de datos Adminer en Ubuntu 22.04. También has asegurado la instalación de Adminer cambiando la ruta URL por defecto y añadiendo la autenticación básica mediante el módulo de Apache basic_auth. Y, por último, también has configurado el usuario de la base de datos (MySQL/MariaDB) que se puede utilizar para iniciar sesión con Adminer.

También te podría gustar...