Para trabajar con bases de datos a través de la interfaz web, existe un editor web phpMyAdmin. Esta herramienta se conecta a la base de datos MariaDB y muestra las bases de datos existentes, le permite crear nuevas, editar datos en tablas. En general, todo es igual a lo que se puede hacer en la consola mysql, pero mucho más conveniente y claro, especialmente cuando se trabaja con datos con frecuencia. Considere instalar phpMyAdmin en Debian 12 Linux Server con Nginx + MariaDB + PHP (LEMP) preconfigurado.
Realizamos todas las configuraciones desde el usuario raíz, si está utilizando un usuario normal, agregue antes del comando sudo.
1. Instale los componentes necesarios y el propio editor de base de datos
apt install php-mbstring
apt install phpmyadmin
Durante el proceso de instalación, se le pedirá al usuario que seleccione para qué servidor web debe configurarse el editor.
- []apache2
- []lighttpd
En nuestro caso, el servidor tiene preinstalado LEMP y dejamos ambos campos vacíos y pulsamos Ok.
A continuación, se propondrá crear una base de datos para el propio editor de bases de datos, donde se almacenarán las configuraciones de usuario del editor y otros datos necesarios para su funcionamiento. Aquí seleccionamos la opción Sí y en la siguiente ventana se le pedirá que cree una contraseña para el usuario phpmyadmin. Ingresamos la contraseña y la confirmamos en la siguiente ventana para evitar errores de ingreso.
2. Ajustes básicos
Sigamos el enlace http://server-ip/phpmyadmin para verificar el trabajo, podemos ingresar el nombre de usuario y la contraseña de cualquier base de datos, por ejemplo, la recién creada, el nombre de usuario de phpmyadmin y la contraseña que configuramos. A veces, por conveniencia, se requiere trabajar con varias bases de datos a la vez, para mostrarlas en un solo usuario, debemos crear una y delegar los derechos del usuario raíz.
mysql -u root -p
CREATE USER 'alldbuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON . TO 'alldbuser'@'localhost';
FLUSH PRIVILEGES;
Ahora, al autorizar bajo el usuario alldbuser, se muestran todas las bases de datos creadas en este servidor.
Si necesita establecer una contraseña para el usuario root, use los siguientes comandos:
mysql -u root
use mysql;
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
FLUSH PRIVILEGES;
exit
Agreguemos un enlace a la carpeta phpMyAdmin en el directorio raíz del servidor web nginx:
ln -s /usr/share/phpmyadmin /usr/share/nginx/html
3. Configuración de seguridad
Para proteger al editor de la base de datos de adivinar contraseñas y posibles vulnerabilidades, agreguemos autorización en el nivel sin servidor.
vi /etc/nginx/conf.d/default.conf
location /phpmyadmin {
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/pma_pass;
}
Agregue un usuario y especifique una contraseña para él:
htpasswd -c /etc/nginx/pma_pass pma_username
Reinicie el servicio nginx:
systemctl restart nginx
Ahora, cuando haga clic en el enlace http://server-ip/phpmyadmin, aparecerá una ventana para ingresar su nombre de usuario y contraseña. En nuestro caso, el inicio de sesión será pma_username.
La configuración está completa, le recomendamos encarecidamente que ingrese contraseñas solo usando el protocolo https con un certificado SSL, para evitar la interceptación de datos.
Agreguemos un enlace a la carpeta phpMyAdmin en el directorio raíz del servidor web nginx:
ln -s /usr/share/phpmyadmin /usr/share/nginx/html