GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instale phpMyAdmin con LAMP Stack en Ubuntu 20.04 LTS

PhpMyAdmin es una herramienta de administración de base de datos basada en web gratuita y de código abierto escrita en lenguaje de programación PHP. Con phpMyAdmin, los administradores de la base de datos pueden administrar fácilmente servidores de bases de datos únicos o múltiples, ya sea a través de un navegador web. Esto puede ser útil para aquellos que no se sienten cómodos con el indicador de MySQL. phpMyAdmin permite a los administradores de bases de datos realizar todo tipo de tareas de administración de bases de datos, como crear, editar, renombrar, eliminar bases de datos, importar y exportar bases de datos, crear tablas, campos y campos, ejecutar comandos SQL y muchos más. En este tutorial, vamos a instalar phpMyAdmin con la pila LAMP en el sistema operativo del servidor Ubuntu 20.04 LTS.

Instalar phpMyAdmin con LAMP Stack en Ubuntu 20.04 LTS

Para instalar phpMyAdmin en el servidor Ubuntu 20.04 LTS, debe tener una pila LAMP en funcionamiento. Si aún no ha instalado LAMP stack, consulte la siguiente guía:

  • Instalar la pila Apache, MySQL, PHP (LAMP) en Ubuntu 20.04 LTS

Una vez que haya configurado la pila LAMP, habilite el repositorio 'universo' , si aún no está habilitado.

$ sudo add-apt-repository universe
$ sudo apt update

Ahora instale phpMyAdmin y todas las demás dependencias requeridas en Ubuntu 20.04 usando los comandos:

$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

A continuación, seleccione el servidor web que debe configurarse automáticamente para ejecutar phpMyAdmin. Elija el servidor web con las flechas ARRIBA/ABAJO y presione la tecla BARRA ESPACIADORA. Una vez que elija el servidor web, verá un símbolo * (estrella) delante de él. Presiona la tecla TAB para elegir Aceptar y nuevamente presiona la tecla ENTER para continuar.

PhpMyAdmin requiere una base de datos instalada y configurada antes de que pueda usarse. Puede hacerlo con el comando dbconfig.

Elija para configurar la base de datos para phpmyadmin con dbconfig-common:

Debe proporcionar una contraseña para que phpmyadmin se registre en el servidor de base de datos MySQL. Si no se proporciona la contraseña, se generará una contraseña aleatoria.

Ingrese una contraseña segura y presione ENTER para continuar:

Vuelva a introducir la contraseña:

Al momento de escribir esta guía, cuando traté de configurar la contraseña para phpmyadmin, arroja el siguiente error:

 An error occurred while installing the database:
mysql said: ERROR 1819 (HY000) at line 1: Your password does not satisfy
 the current policy requirements . Your options are:                                  
* abort - Causes the operation to fail; you will need to downgrade,             
reinstall, reconfigure this package, or otherwise manually intervene          
to continue using it. This will usually also impact your ability to           
install other packages until the installation failure is resolved.            
* retry - Prompts once more with all the configuration questions                
(including ones you may have missed due to the debconf priority               
setting) and makes another attempt at performing the operation.               
* retry (skip questions) - Immediately attempts the operation again,            
skipping all questions. This is normally useful only if you have 
solved the underlying problem since the time the error occurred.              
* ignore - Continues the operation ignoring dbconfig-common errors.             
This will usually leave this package without a functional database.

Este error se produce porque hemos habilitado la VALIDAR CONTRASEÑA como se describe en la sección titulada "2.2 Cambiar el método de autenticación para el usuario root de MySQL" en la guía de instalación de LAMP stack adjunta arriba.

Para solucionar este problema, debe deshabilitar temporalmente el componente Validar contraseña y volver a habilitarlo después de configurar la contraseña para phymyadmin. Haga clic en Aceptar para cerrar el mensaje de error anterior y elija "cancelar" para cancelar la instalación de phpmyadmin.

Ahora inicie sesión en el indicador de Mysql ejecutando el siguiente comando:

$ mysql -u root -p

Desde el indicador de mysql, ejecute el siguiente comando para deshabilitar el complemento Validar contraseña:

mysql> UNINSTALL COMPONENT "file://component_validate_password";

Tenga en cuenta que el comando anterior solo deshabilitará el complemento, pero no lo eliminará. Puedes habilitarlo más tarde. Luego escriba "salir" para salir del indicador de Mysql.

mysql> exit

Ahora intente instalar phpmyadmin nuevamente usando el comando:

$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

Elija "Sí" y presione ENTER para configurar la base de datos para phpmyadmin con dbconfig-common. Esta vez, la instalación de phpmyadmin funcionará sin problemas.

Una vez que phpmyadmin esté instalado, vuelva a habilitar el complemento Validar contraseña. Para hacerlo, inicie sesión en su indicador Mysql:

$ mysql -u root -p

Desde el indicador de mysql, ejecute el siguiente comando para deshabilitar el complemento Validar contraseña:

mysql> INSTALL COMPONENT "file://component_validate_password";

Escriba exit para salir del indicador de mysql.

mysql> exit

Finalmente, habilite mbstring php y reinicie el servicio Apache para actualizar los cambios como se muestra a continuación.

$ sudo phpenmod mbstring
$ sudo systemctl restart apache2

Ahora puede verificar si la extensión mbstring está habilitada o no cargando el archivo info.php desde el navegador web.

Para hacerlo, vaya a http://dirección-IP/info.php desde su navegador.

Verá que el complemento mbstring está habilitado.

Cree un usuario dedicado para acceder al panel de phpMyAdmin

Una vez que se instala phpMyAdmin, un usuario de la base de datos llamado 'phpmyadmin' se creará automáticamente con la contraseña administrativa que estableció durante la instalación. Puede iniciar sesión en el panel de phpmyAdmin usando el usuario 'phpmyadmin' o mysql root usuario. Sin embargo, se recomienda crear un usuario dedicado para administrar las bases de datos a través de la interfaz web de phpMyAdmin.

Para hacerlo, inicie sesión en mysql shell usando el comando:

$ mysql -u root -p

Ingrese su contraseña raíz mysql. Ahora estará en mysql shell.

Ingrese el siguiente comando para crear un nuevo usuario dedicado para phpmyadmin:

mysql> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'Password123#@!';

Aquí, phpmyadmin es el nuevo usuario para acceder al panel de phpmyadmin. La contraseña para phpmyadminuser es Password123#@! . Reemplace estos valores con los suyos propios.

Luego otorgue los privilegios apropiados al 'phpmyadminuser' usando el comando:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;

Finalmente salga del shell mysql:

mysql> exit

Ahora hemos creado un usuario dedicado para administrar las bases de datos a través de la interfaz web phpmyadmin. Avancemos y accedamos al panel de control de phpmyadmin.

Acceder al panel de phpMyAdmin

Abra su navegador web y vaya a http://ip-address/phpmyadmin o http://dominio/phpmyadmin . Debería ver la página de inicio de sesión de phpmyadmin. Inicie sesión en la interfaz de phmyadmin usando mysql root usuario o el nuevo usuario que creamos en el paso anterior.

Así es como se ve el tablero de phpMyAdmin:

A partir de ahora, puede administrar sus bases de datos a través de la interfaz web de phpMyAdmin.

phpMyAdmin seguro

Esta sección proporciona algunos consejos para asegurar la instalación de PhpMyAdmin. Tenga en cuenta que los siguientes pasos no pudieron proteger phpMyAdmin de forma 100 % segura. Sin embargo, al menos ralentizarán cualquier intento de un perpetrador de entrar en su panel de phpmyadmin.

Deshabilitar el inicio de sesión raíz de MySQL en el panel de phpmyadmin

Permitir que el usuario raíz de mysql acceda al panel de phpMyAdmin no es seguro, especialmente cuando se administran bases de datos a través de la red. Es por eso que creamos un usuario dedicado en la sección anterior. Dado que ya tenemos un usuario dedicado, podemos deshabilitar de forma segura el inicio de sesión raíz de mysql para acceder al panel de control de phpmyadmin para minimizar los ataques.

Generalmente, phpmyadmin se instala en /usr/share/phpmyadmin/ El directorio y sus archivos de configuración se almacenan en el directorio /etc/phpmyadmin.

Edite el archivo de configuración de phpmyadmin:

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

Agregue/modifique los siguientes parámetros:

[...]
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
[...]

Guarde y cierre el archivo.

Reinicie el servidor web Apache usando el comando:

$ sudo systemctl restart apache2

Ahora intente iniciar sesión en phpmyadmin como usuario raíz. Obtendrá el Acceso denegado mensaje de error:

Proteger con contraseña la página de inicio de sesión de phpMyAdmin

Dado que phpMyAdmin es un objetivo fácil para los atacantes, la siguiente tarea recomendada es asegurar la página de inicio de sesión web de phpyMyAdmin. La forma más común de proteger phpMyAdmin del acceso no autorizado es mediante el .htaccess integrado de Apache. funcionalidades de autenticación y autorización.

En primer lugar, habilite el uso de .htaccess anula el archivo editando el /phpmyadmin.conf archivo:

$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Agregue "Permitir anular todo" línea dentro del sección como se muestra a continuación.

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All

Presiona CTL+X seguido de Y para guardar y cerrar el archivo.

Reinicie el servicio de apache para actualizar los cambios usando el comando:

$ sudo systemctl restart apache2

A continuación, cree un archivo llamado .htaccess dentro de /usr/share/phpmyadmin/ directorio usando el comando:

$ sudo nano /usr/share/phpmyadmin/.htaccess

Agregue las siguientes líneas en él:

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

Guarde y cierre el archivo.

Ahora, ejecute el siguiente comando para crear un nuevo usuario, por ejemplo ostechnix :

$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd ostechnix

Reemplace 'ostechnix' con cualquier nombre de usuario de su elección. Se le pedirá que proporcione una contraseña para el nuevo usuario. Introdúcelo dos veces.

Salida de muestra:

New password: 
Re-type new password: 
Adding password for user ostechnix

Ahora hemos agregado una capa adicional de seguridad para acceder a la interfaz web de phpMyAdmin. De ahora en adelante, cada vez que intente acceder a la interfaz web de phpMyAdmin, se le pedirá que ingrese el nombre de usuario adicional y su contraseña que acaba de configurar en el paso anterior.

Una vez que haya ingresado el nombre de usuario y la contraseña correctos, será redirigido a la página de inicio de sesión de autenticación de phpmyadmin. Simplemente ingrese las credenciales de su base de datos para acceder al panel de Phpmyadmin.

Lectura relacionada:

  • Instalar phpMyAdmin con LEMP Stack en Ubuntu 20.04 LTS

Ubuntu
  1. Instale WordPress con LAMP Stack en Ubuntu 20.04

  2. Instale phpMyAdmin en Ubuntu 14.10

  3. Cómo instalar phpMyAdmin con la pila LAMP en Ubuntu

  4. Instale phpMyAdmin con LAMP Stack en Ubuntu 18.04 LTS

  5. Cómo instalar LAMP Stack en Ubuntu 22.04 LTS

Cómo instalar LAMP Stack con PhpMyAdmin en Ubuntu 20.04

Cómo instalar phpMyAdmin con Apache en Ubuntu 22.04 LTS

Cómo instalar LAMP Stack en Ubuntu 18.04 LTS

Cómo instalar phpMyAdmin en Ubuntu 18.04 LTS

Cómo instalar phpMyAdmin con Nginx en Ubuntu 18.04 LTS

Cómo instalar phpMyAdmin con Nginx en Ubuntu 20.04 LTS