Búsqueda de sitios web

Cómo instalar phpMyAdmin en Ubuntu 22.04


Este tutorial existe para estas versiones del sistema operativo.

  • Ubuntu 24.04 (Noble Numbat)
  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 18.04 (Castor biónico)

En esta página

  1. Requisitos previos
  2. Instalación de phpMyAdmin
  3. Asegurar la instalación de phpMyAdmin
  4. Cambiar la ruta URL de la instalación de phpMyAdmin
  5. Proteger phpMyAdmin con autenticación básica Apache2
  6. Bloqueo del intento de inicio de sesión de phpMyAdmin con Fail2ban Jail
  7. Conclusión

phpMyAdmin es una herramienta gratuita y de código abierto para gestionar y administrar servidores MySQL. Se puede utilizar para gestionar incluso varios servidores MySQL en diferentes ubicaciones. phpMyAdmin es una aplicación basada en web escrita en PHP y se puede ejecutar bajo la pila LAMP (Linux, Apache2, MariaDB/MySQL, PHP) o LEMP (Linux, Nginx, MariaDB/MySQL, PHP-FPM). phpMyAdmin es una aplicación muy poderosa y se ha convertido en una aplicación ampliamente utilizada para administrar servidores MySQL, proporciona documentación y wikis extensas.

phpMyAdmin le permite administrar datos MySQL desde un navegador web, puede administrar bases de datos, tablas, columnas, índices, relaciones, usuarios, permisos, etc. desde una única interfaz de usuario en su navegador web. phpMyAdmin también le permite importar y exportar datos al servidor MySQL. Puede importar datos CSV y SQL a su MySQL, y también exportar sus datos a múltiples formatos como CSV, SQL, XML, Latex, XML, PDF y texto y hoja de cálculo OpenDocument.

En este tutorial, le mostraremos cómo instalar y configurar phpMyAdmin en el último servidor Ubuntu 22.04. Este tutorial también cubre algunas configuraciones adicionales para asegurar la instalación de phpMyAdmin.

Requisitos previos

  • Una máquina Ubuntu 22.04: puede usar el servidor Ubuntu o la versión de escritorio.
  • Un usuario no root con privilegios de administrador root.
  • Hay una pila LAMP instalada en la máquina. Este ejemplo utiliza la instalación básica de LAMP Stack (Linux, Apache2, MariaDB y PHP).

Instalación de phpMyAdmin

En la última versión de Ubuntu 22.04, el paquete phpMyAdmin está disponible en el repositorio oficial de Ubuntu Universe. Entonces, antes de instalar phpMyAdmin, asegúrese de que el repositorio del universo Ubuntu esté habilitado en su sistema.

En el estado actual, Ubuntu proporciona phpMyAdmin v5.x, que es la última versión estable de phpMyAdmin.

Antes de comenzar a instalar paquetes, ejecute el siguiente comando para actualizar y actualizar sus repositorios de Ubuntu.

sudo apt update

Asegúrese de que el repositorio Ubuntu APT Universe esté habilitado en su sistema.

Ahora verifique el paquete phpmyadmin usando el siguiente comando.

sudo apt info phpmyadmin

Como puede ver en la siguiente captura de pantalla, el repositorio APT de Ubuntu proporciona phpMyAdmin v5.x y está disponible en el repositorio Universe de Ubuntu.

A continuación, puede instalar el paquete phpMyAdmin usando el siguiente comando.

sudo apt install phpmyadmin

Ingrese Y para confirmar la instalación y presione ENTER para comenzar. Ahora la instalación de phpMyAdmin está en proceso.

Durante la instalación de phpMyAdmin, se le solicitarán las siguientes configuraciones:

Elija el servidor web para phpMyAdmin. En este ejemplo, el servidor web es apache2, luego seleccione Aceptar.

Ahora seleccione para comenzar a configurar phpMyAdmin con dbconfig-common. Esto automáticamente todas las configuraciones de la base de datos para phpMyAdmin.

Para la contraseña de la base de datos phpMyAdmin, puede dejarla en blanco o simplemente puede ingresar su propia contraseña y luego seleccionar Aceptar. Si lo deja en blanco, dbconfig-common generará automáticamente la contraseña para su phpMyAdmin.

Por último, abra su navegador web y visite la dirección IP del servidor con la ruta URL /phpmyadmin (por ejemplo: http://192.168.10.15/phpmyadmin). Y ahora obtendrá la página de inicio de sesión de phpMyAdmin.

Ingrese el usuario y la contraseña de su servidor MariaDB, luego haga clic en Ir para iniciar sesión.

Una vez que haya iniciado sesión, verá el panel de phpMyAdmin a continuación. Como puede ver, phpMyAdmin 5.x está instalado en la máquina Ubuntu 22.04 con Apache2, MariaDB 10.x y PHP 8.1.

Asegurar la instalación de phpMyAdmin

Después de haber instalado phpMyAdmin. A continuación, aprenderá cómo proteger la instalación de phpMyAdmin.

A continuación, aprenderá tres métodos para proteger la instalación de phpMyAdmin en su sistema Ubuntu:

  • Cambiar la ruta URL de la instalación de phpMyAdmin: la instalación predeterminada de phpMyAdmin está disponible en la ruta URL /phpmyadmin, que es fácil de adivinar para los atacantes. Puede cambiar la ruta predeterminada a su URL de ruta personalizada.
  • Autenticación adicional mediante autenticación básica Apache2: en este escenario, a los usuarios se les mostrará la autenticación básica Apache2 antes de mostrar la página de inicio de sesión de phpMyAdmin. Esto agregará autenticación adicional, por lo que solo a los usuarios en la lista de autenticación básica de Apache2 se les mostrará la página de inicio de sesión de phpMyAdmin y podrán iniciar sesión en phpMyAdmin.
  • Bloqueo del intento de inicio de sesión de phpMyAdmin con Fail2ban Jail: Necesitará que Fail2ban esté instalado y configurado en su máquina Ubuntu. Esto prohibirá la dirección IP de intentos maliciosos de inicio de sesión en phpMyAdmin. Además, puede configurar el intento máximo de inicio de sesión en la cárcel de Fail2ban.

Ahora, comencemos a proteger phpMyAdmin usando tres métodos diferentes.

Cambiar la ruta URL de la instalación de phpMyAdmin

La instalación predeterminada de phpMyAdmin viene con una configuración adicional para el servidor web apache2, la configuración es el archivo /etc/phpmyadmin/apache.conf. Para cambiar la ruta de instalación predeterminada de phpMyAdmin, deberá editar la configuración /etc/phpmyadmin/apache2.conf y reiniciar el servicio Apache2.

Edite el archivo de configuración /etc/phpmyadmin/apache.conf usando nano editor.

sudo nano /etc/phpmyadmin/apache.conf

Cambie la opción "Alias /phpmyadmin" a su nueva ruta de ULR. En el siguiente ejemplo, phpMyAdmin estará disponible en la ruta URL /padm.

Alias /padm /usr/share/phpmyadmin

Guarde y cierre el archivo cuando haya terminado.

A continuación, verifique y verifique la configuración de Apache2 usando el siguiente comando. Si su configuración es correcta, recibirá un mensaje de salida como "Sintaxis correcta".

sudo apchectl configtest

Ahora reinicie el servicio Apache2 para aplicar nuevos cambios en el archivo /etc/phpmyadmin/apache.conf.

sudo systemctl restart apache2

Vuelva a su navegador web y visite phpMyAdmin con la nueva ruta URL /padm (por ejemplo, http://192.168.10.15/padm). Obtendrá el panel de phpMyAdmin en la siguiente captura de pantalla.

Ahora ha cambiado con éxito la ruta URL de instalación predeterminada de phpMyAdmin a la nueva ruta URL /padm.

Proteger phpMyAdmin con autenticación básica Apache2

La autenticación básica de Apache2 es un método de autenticación proporcionado por el módulo de Apache mod_basic_auth. Para configurar la autenticación básica de Apache2, deberá generar el archivo de contraseña y configurar el archivo .htaccess en el directorio raíz del documento phpMyAdmin.

Ahora ejecute el siguiente comando para generar un nuevo archivo de autenticación básica de Apache2 /etc/phpmyadmin/.htpasswd con el nuevo usuario llamado padm. Si no tiene el comando htpasswd, necesitará instalar el paquete apache2-utils en su sistema.

sudo htpasswd -c /etc/phpmyadmin/.htpasswd padm

Ahora ingrese la contraseña para el padm de usuario de autenticación básica de Apache2 y repita la contraseña. Esto generará un nuevo archivo de contraseña /etc/phpmyadmin/.htpasswd.

A continuación, edite la configuración /etc/phpmyadmin/apache.conf usando nano editor.

sudo nano /etc/phpmyadmin/apache.conf

Agregue la configuración dentro de "" como se muestra a continuación.

<Directory /usr/share/phpmyadmin>
...
...
AllowOverride All

Guarde y cierre el archivo cuando haya terminado.

A continuación, ejecute el siguiente comando para habilitar el módulo Apache2 mod_rewrite.

sudo a2enmod rewrite

Cree un nuevo archivo /usr/share/phpmyadmin/.htaccess usando nano editor.

sudo nano /usr/share/phpmyadmin/.htaccess

Agregue la siguiente configuración al archivo.

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Guarde y cierre el archivo cuando haya terminado.

Ahora reinicie el servicio Apache2 para aplicar nuevos cambios.

sudo systemctl restart apache2

Por último, regrese a su navegador web y actualice la URL de phpMyAdmin (por ejemplo, http://192.168.10.15/padm). Ahora se le solicitará la autenticación básica de Apache2.

Ingrese el usuario padm con su contraseña y haga clic en Iniciar sesión. Si su usuario y contraseña coinciden con la configuración /etc/phpmyadmin/.htpasswd entonces podrá obtener el panel de phpMyAdmin; de lo contrario, recibirá un mensaje de error como "421 no autorizado".

Ahora ha asegurado phpMyAdmin con autenticación básica Apache2. Se recomienda utilizar este método con certificados SSL en su servidor web Apache2.

Bloqueo del intento de inicio de sesión de phpMyAdmin con Fail2ban Jail

En este escenario, necesitará que Fail2ban esté instalado y configurado en su máquina Ubuntu. El uso de la cárcel Fail2ban limitará el error de autenticación contra phpMyAdmin y limitará el ataque de fuerza bruta. Fail2ban bloqueará cualquier intento de inicio de sesión malicioso detectado en phpMyAdmin.

Failban funciona verificando el archivo de registro de la aplicación, por lo que deberá habilitar el archivo de registro para phpMyAdmin.

Edite la configuración de phpMyAdmin /etc/phpmyadmin/config.inc.php usando el editor nano.

sudo nano /etc/phpmyadmin/config.inc.php

Agregue la siguiente configuración al final de la línea. Esto registrará toda la autenticación de phpMyAdmin en el archivo Syslog /var/log/auth.log.

...
...
...
$cfg['AuthLog'] = 'syslog';

Guarde y cierre el archivo cuando haya terminado.

A continuación, edite la configuración de la cárcel Fail2ban /etc/fail2ban/jail.local usando el editor nano.

sudo nano /etc/fail2ban/jail.local

Busque la cárcel llamada "phpmyadmin-syslog" y agregue la opción "enabled=true" para habilitar la cárcel.

[phpmyadmin-syslog]
enabled = true
port    = http,https
logpath = %(syslog_authpriv)s
backend = %(syslog_backend)s

Guarde y cierre el archivo cuando haya terminado.

Ahora reinicie el servicio Fail2ban usando el siguiente comando para aplicar la nueva configuración de la cárcel.

sudo systemctl restart fail2ban

Para verificar la cárcel "phpmyadmin-syslog", ejecute los siguientes comandos de fail2ban-client.

Comprobando la lista de cárceles Fail2ban habilitadas.

sudo fail2ban-client status

Comprobando los detalles de la cárcel Fail2ban phpmyadmin-syslog.

sudo fail2ban-client status phpmyadmin-syslog

A continuación puede ver el estado detallado de la cárcel phpmyadmin-syslog. En la siguiente captura de pantalla, puede ver que Fail2ban bloquea una dirección IP "192.168.10.1".

Si verifica el archivo de registro /var/log/auth.log usando el siguiente comando.

cat /var/log/auth.log

Verá los registros de autenticación de phpMyAdmin a continuación. Puede ver que la dirección IP "192.168.10.1" se detecta como un inicio de sesión malicioso debido al uso de un usuario y contraseña incorrectos.

En este punto, ha protegido phpMyAdmin utilizando varios métodos diferentes; otra consideración es utilizar SSL en cada host virtual de su servidor. Esto hace que su phpMyAdmin sea aún más seguro porque SSL cifrará las conexiones entre su navegador web y el servidor.

Conclusión

¡Felicitaciones! Ahora ha aprendido cómo instalar y configurar phpMyAdmin en la última versión de Ubuntu 22.04. Además, ha aprendido varios métodos para proteger la instalación de phpMyAdmin, incluido cambiar la ruta URL predeterminada, agregar autenticación usando la autenticación básica Apache2 y bloquear intentos de inicio de sesión maliciosos usando Fail2ban Jail.

Artículos relacionados: