![](https://m.unixlinux.online/article/uploadfiles/202204/2022042508172910.jpg)
phpMyAdmin es una aplicación PHP de código abierto diseñada para manejar la administración de servidores MySQL y MariaDB a través de una interfaz basada en web.
phpMyAdmin le permite administrar bases de datos MySQL, cuentas de usuario y privilegios, ejecutar declaraciones SQL, importar y exportar datos en una variedad de formatos de datos y mucho más.
Este tutorial cubre los pasos necesarios para instalar y asegurar phpMyAdmin con Apache en Ubuntu 18.04.
Requisitos previos #
Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:
- Tenga LAMP (Linux, Apache, MySQL y PHP) instalado en su servidor Ubuntu.
- Iniciar sesión como usuario con privilegios sudo.
Aunque no es necesario, se recomienda acceder a su instalación de phpMyAdmin a través de HTTPS. Si su dominio aún no está protegido por un SSL, puede seguir esta guía y asegurar su Apache con Let's Encrypt en Ubuntu 18.04.
Instalando phpMyAdmin #
Para instalar phpMyAdmin en su servidor Ubuntu 18.04, siga estos pasos:
-
Actualice el índice de paquetes y actualice los paquetes del sistema a las últimas versiones:
sudo apt update && sudo apt upgrade
-
Instale el paquete phpMyAdmin desde los repositorios predeterminados de Ubuntu con el siguiente comando:
sudo apt install phpmyadmin
El instalador le pedirá que elija el servidor web que debe configurarse automáticamente para ejecutar phpMyAdmin, elija apache presionando
Space
y luegoEnter
.A continuación, se le preguntará si desea utilizar
dbconfig-common
para configurar la base de datos, seleccioneYes
y pulsaEnter
.Ingrese una contraseña para que phpMyAdmin se registre en la base de datos, seleccione
OK
y presionaEnter
.Se le pedirá que confirme la contraseña, ingrese la misma contraseña, seleccione
OK
y presionaEnter
. -
Una vez que se complete el proceso de instalación, reinicie Apache para que los cambios surtan efecto:
sudo systemctl restart apache2
Crear un número de usuario administrativo de MySQL
En los sistemas Ubuntu que ejecutan MySQL 5.7 (y versiones posteriores), el usuario raíz está configurado para usar el auth_socket
método de autenticación por defecto.
El auth_socket
El complemento autentica a los usuarios que se conectan desde el host local a través del archivo de socket de Unix. Esto significa que no puede autenticarse como raíz proporcionando una contraseña.
En lugar de cambiar el método de autenticación para el usuario raíz de MySQL, crearemos un nuevo usuario administrativo de MySQL. Este usuario tendrá los mismos privilegios que el usuario raíz y se configurará para usar mysql_native_password
método de autenticación.
Usaremos este usuario para iniciar sesión en el panel de phpMyAdmin y realizar tareas administrativas en nuestro servidor MySQL o MariaDB.
Comience por iniciar sesión en el servidor MySQL como usuario root:
sudo mysql
Desde el shell de MySQL, ejecute los siguientes comandos que crearán un nuevo usuario administrativo y otorgarán los permisos apropiados:
CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';
GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
En nuestro ejemplo, nombramos al usuario administrativo padmin
. Puede usar cualquier nombre que desee, solo asegúrese de establecer una contraseña segura.
Accediendo a phpMyAdmin #
Para acceder a la interfaz de phpMyAdmin, abra su navegador favorito y escriba el nombre de dominio de su servidor o la dirección IP pública seguida de /phpmyadmin
:
https://your_domain_or_ip_address/phpmyadmin
Ingrese las credenciales de inicio de sesión del usuario administrativo que creó anteriormente y haga clic en Go
.
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042508173186.jpg)
Una vez que inicie sesión, verá el panel de control de phpMyAdmin, que se verá así:
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042508173205.jpg)
Asegurando phpMyAdmin #
Para agregar una capa adicional de seguridad, protegeremos con contraseña el directorio phpMyAdmin configurando una autenticación básica.
Primero crearemos un archivo de contraseñas con los usuarios usando htpasswd
herramienta que viene con el paquete Apache. Guardaremos el .htpasswd
archivo en /etc/phpmyadmin
directorio:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd padmin
En este ejemplo estamos creando un usuario llamado padmin
. Puede elegir cualquier nombre de usuario, no tiene que ser el mismo que el usuario administrativo de MySQL.
El comando anterior le pedirá que ingrese y confirme la contraseña del usuario.
New password:
Re-type new password:
Adding password for user padmin
Si desea agregar un usuario adicional, puede usar el mismo comando sin -c
bandera:
sudo htpasswd /etc/phpmyadmin/.htpasswd padmin2
El siguiente paso es configurar Apache para proteger con contraseña el directorio phpMyAdmin y usar .htpasswd
archivo.
Para hacerlo, abra el phpmyadmin.conf
archivo que se creó automáticamente durante la instalación de phpMyAdmin:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Y edite/inserte las siguientes líneas resaltadas en amarillo:
/etc/apache2/conf-disponible/phpmyadmin.conf<Directory /usr/share/phpmyadmin>
Options +FollowSymLinks +Multiviews +Indexes # edit this line
DirectoryIndex index.php
AllowOverride None
AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
<IfModule mod_php5.c>
...
Guarde y cierre el archivo y reinicie Apache para que los cambios surtan efecto:
sudo systemctl restart apache2
Ahora, al acceder a su phpMyAdmin, se le pedirá que ingrese las credenciales de inicio de sesión del usuario que creó anteriormente:
https://your_domain_or_ip_address/phpmyadmin
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042508173318.jpg)
Después de ingresar la autenticación básica, será llevado a la página de inicio de sesión de phpMyAdmin donde deberá ingresar sus credenciales de inicio de sesión de usuario administrativo de MySQL.
También es una buena idea cambiar el/phpmyadmin
alias a algo más único y seguro.