El uso de las bases de datos es una de las formas más comunes para gestionar grandes cantidades de datos en una organización y por ello debemos contar con aplicaciones que sean fiable, seguras, estables y nos den funciones integrales para cada dato que sea ingresado en ella. Una de las plataformas de base de datos más popular es phpMyAdmin la cual cumple con todas las expectativas a nivel de desempeño, arquitectura y funcionalidad. phpMyAdmin es una utilidad escrita en PHP que nos permitirá gestionar MySQL por medio de la web. Entre sus tareas más habituales están los permisos, la gestión de usuarios y de permisos, la configuración de base de datos, creación de tablar o columnas, etc. Gracias a la documentación que incluye, los usuarios pueden compartir sus ideas e información para hacer una guía común.
Solvetic explicará cómo podemos instalar phpMyAdmin en Ubuntu 18.04 o 19.04 de una forma simple y sabremos cómo proteger el acceso a dicha plataforma para evitar cambios no autorizados.
phpMyAdmin está disponible en 72 idiomas y es compatible con los idiomas LTR y RTL.
- Tiene una interfaz web de uso fácil.
- Capacidad para administrar diversos servidores.
- Genera gráficos sobre el diseño de la base de datos en múltiples formatos.
- Puede crear consultas complejas haciendo uso de Query-by-example (consulta, por ejemplo) (QBE).
- Ejecución de una búsqueda global en una base de datos o un subconjunto de ella.
- Puede convertir los datos almacenados a cualquier formato usando un conjunto de funciones predefinidas.
- Permite exportar los datos a diversos formatos como CSV, SQL, XML, PDF, ISO / IEC 26300 - archivos de texto y hoja de cálculo de OpenDocument, Word, LATEX y más.
- Soporte para gran parte de las características de MySQL como gestión de bases de datos, tablas, vistas, campos e índice, crear, copiar, soltar, renombrar y alterar bases de datos, tablas, campos e índices, ejecutar, editar y marcar cualquier declaración SQL, administrar las cuentas de usuario y los privilegios de MySQL y más.
Ahora veremos cómo instalar y asegurar phpMyAdmin en Ubuntu 18.04 o 19.04.
1. Instalar phpMyAdmin en Ubuntu 19.04
El primer paso que dar será instalar Apache y MySQL en el sistema, esta acción se puede ejecutar con el siguiente comando:
sudo apt-get install apache2 mysql-server -y
Una vez este proceso concluya veremos lo siguiente:
Por defecto, phpMyAdmin no está disponible en el repositorio predeterminado de Ubuntu 18.04 o 19.04, para esto, debemos agregar el repositorio PHP de terceros al sistema ejecutando en primer lugar la siguiente línea:
sudo apt-get install software-properties-common -y
Luego añadimos el repositorio ejecutando. Allí pulsamos la tecla Enter y esperamos que el proceso se complete.
sudo add-apt-repository ppa:ondrej/php
Tan pronto se agregue el repositorio, vamos a instalar phpMyAdmin ejecutando el siguiente comando:
sudo apt-get install phpmyadmin php-mbstring php-gettext -y
Durante el proceso de instalación, se desplegará el siguiente mensaje indicando que seleccionemos el servidor web a usar automáticamente:
Allí seleccionamos “Apache” pulsando la barra espaciadora y pulsando Enter, ahora veremos el siguiente mensaje asociado a la base de datos para phpMyAdmin:
Seleccionamos “Sí” y pulsamos Enter, y más adelante será necesario ingresar la contraseña de la aplicación:
Pulsamos en Aceptar y debemos confirmarla:
Una vez que se haya completado el proceso de instalación de phpMyAdmin, debemos habilitar la extensión de PHP mbstring con el siguiente comando:
sudo phpenmod mbstring
Luego reiniciamos Apache para aplicar los cambios:
sudo systemctl restart apache2
2. Configurar la autenticación de usuario de phpMyAdmin en Ubuntu 19.04
phpMyAdmin crea de forma automática un usuario de base de datos denominado phpmyadmin con la contraseña administrativa que ingresamos en el proceso de instalación, peor por seguridad se aconseja crear un usuario por separado para administrar las bases de datos a través de la interfaz web de phpMyAdmin.
En la última versión de MariaDB, el usuario root de MySQL ha sido configurado para autenticarse usando el complemento auth_socket de forma predeterminada, de modo que, si se desea iniciar sesión en phpMyAdmin como usuario root de MySQL, debemos cambiar el método de autenticación de auth_socket a mysql_native_password.
En primer lugar, vamos a iniciar sesión en el Shell de MySQL con la siguiente línea:
sudo mysql
Ahora, vamos a verificar el método de autenticación del usuario de MySQL con el siguiente comando:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Podemos ver que el usuario root usa el complemento auth_socket. Para configurar que el usuario root se autentique con una contraseña, debemos ejecutar el siguiente comando:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Aplicamos los cambios ejecutando:
FLUSH PRIVILEGES;
Podemos comprobar el método de autenticación ejecutando:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Vemos que el método de autenticación ha sido modificado. A continuación, vamos a crear un usuario separado el cual llamaremos "phpmyadminuser" con el fin de conectarse a phpMyAdmin. El primer paso es iniciar sesión en MySQL con el siguiente comando:
mysql -u root -p
Allí ingresaremos la contraseña establecida en el paso anterior:
En primer lugar, crearemos el usuario y asignamos la contraseña:
CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';
Luego le otorgamos los privilegios correctos a phpmyadminuser con el siguiente comando:
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;
Finalmente salimos del Shell ejecutando:
exit;
3. Acceder a phpMyAdmin en Ubuntu 19.04
Ahora, vamos a algún navegador e ingresamos la siguiente sintaxis:
http://Direccion_IP/phpmyadmin
Allí usaremos el idioma deseado e ingresamos el usuario y contraseña asignados, luego pulsamos en el botón “Continuar” para acceder a phpMyAdmin:
4. Asegurar phpMyAdmin en Ubuntu 19.04
Podemos ver que phpMyAdmin está instalado y configurado, pero pro seguridad se aconseja proteger la instancia de phpMyAdmin para evitar el acceso no autorizado. Es posible proteger phpMyAdmin hacinso uso de las funciones de autenticación y autorización .htaccess integradas en Apache.
Para este método, primero debemos habilitar el uso de anulaciones de archivos .htaccess editando el archivo phpmyadmin.conf así:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Allí vamos a añadir la línea “AllowOverride All” de modo que la estructura quede de la siguiente forma:
<Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All
Guardamos los cambios usando la combinación de teclas siguiente:
Ctrl + O
Salimos del editor usando:
Ctrl + X
A continuación, debemos reiniciar el servicio de Apache ejecutando:
sudo systemctl restart apache2
Ahora vamos a crear un archivo .htaccess dentro del directorio phpmyadmin ejecutando:
sudo nano /usr/share/phpmyadmin/.htaccess
En este archivo añadiremos lo siguiente:
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
Guardamos los cambios y salimos del editor. Ahora vamos a crear un usuario llamado admin con la utilidad htpasswd:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin
Allí debemos ingresar y confirmar la contraseña de este:
Ahora, cuando accedamos de nuevo a “ se desplegará la siguiente ventana emergente donde ingresaremos las credenciales del usuario admin recién creado:
Una vez ingresadas, pulsamos en “Acceder” y así estaremos en el entorno de phpMyAdmin:
De este modo, phpMyAdmin se convierte en una solución integral para todo el trabajo en base de datos desde la web en sistemas Ubuntu de Linux.