phpMyAdmin es la mejor herramienta de administración de bases de datos basada en interfaz web, gratuita y de código abierto para administrar MySQL y MariaDB. Puede administrar bases de datos MySQL, cuentas de usuario y privilegios, importar y exportar datos y mucho más usando la interfaz phpmyadmin.
Aquí en LinuxAPT, como parte de nuestros Servicios de Administración de Servidores, ayudamos regularmente a nuestros Clientes a realizar consultas relacionadas con phpMyAdmin.
En este contexto, veremos cómo instalar phpMyAdmin con Apache en CentOS 7.
Características principales de phpMyAdmin:
- Cree, explore, edite y suelte bases de datos, tablas, vistas, columnas e índices.
- Muestre múltiples conjuntos de resultados a través de consultas o procedimientos almacenados.
- Cree, copie, suelte, cambie el nombre y modifique bases de datos, tablas, columnas e índices.
- Servidor de mantenimiento, bases de datos y tablas, con propuestas de configuración del servidor.
- Cargar archivos de texto en tablas.
¿Cómo instalar phpMyAdmin en CentOS?
Antes de continuar con esta tarea de instalación, asegúrese de que se cumplan los siguientes requisitos:
- Iniciar sesión en el servidor CentOS como cuenta de usuario no root con privilegios sudo.
- Asegúrese de que la pila LAMP (Linux, Apache, MySQL y PHP) esté instalada en su sistema CentOS.
Le recomendamos que acceda a su instalación de phpMyAdmin a través de conexiones HTTPS para evitar ataques innecesarios. Si su dominio no es seguro con un certificado SSL/TLS, puede seguir esta guía para proteger Apache con Let's Encrypt en CentOS.
1. Instale phpMyAdmin en CentOS
El paquete phpMyAdmin no está disponible en los repositorios principales de CentOS 7. Así que lo instalaremos desde el repositorio de EPEL. Para comenzar la instalación, primero debe habilitar el repositorio EPEL con el siguiente comando:
$ sudo yum install epel-release
Una vez habilitado el repositorio EPEL, puede instalar phpMyAdmin y sus dependencias con el siguiente comando:
$ sudo yum install phpmyadmin
2. Configurar phpMyAdmin
En el momento de la instalación de phpMyAdmin, se creó un archivo de configuración de Apache automáticamente. De forma predeterminada, se niegan todas las conexiones, excepto localhost, por lo que deberá editar el archivo de configuración y agregar direcciones IP específicas.
i. Abra el archivo de configuración de phpMyAdmin con el siguiente comando:
$ sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
ii. Ahora reemplace Require ip 127.0.0.1 con Require ip YOUR_IP_ADDRESS. Donde su dirección IP es la dirección IP de sus conexiones. El siguiente es el ejemplo después de reemplazar:
# Apache 2.4
<RequireAny>
Require ip 192.168.43.125
Require ip ::1
</RequireAny>
iii. Guardar y cerrar archivo.
IV. A continuación, debe reiniciar Apache escribiendo:
$ sudo systemctl restart httpd
3. Crear usuario de MySQL y establecer privilegios
Puede crear un usuario mysql separado para acceder desde la interfaz web de phpMyAdmin.
i. Inicie sesión en mysql con el siguiente comando:
$ sudo mysql
ii. Ahora, ejecute los siguientes comandos para crear un nuevo usuario administrativo con contraseña segura y otorgar los permisos apropiados:
mysql> CREATE USER 'newadmin'@'localhost' IDENTIFIED BY 'STRONG-PASSWORD';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'newadmin'@'localhost' WITH GRANT OPTION;
iii. Salga del shell de MySQL escribiendo:
exit;
¿Cómo acceder a phpMyAdmin?
Puede acceder a la interfaz de phpMyAdmin abriendo un navegador web y escriba la dirección IP pública o el nombre de dominio de su servidor seguido de /phpmyadmin:
https://ip_address_or_your_domain/phpmyadmin
Ahora, inicie sesión en la interfaz con el nombre de usuario y la contraseña administrativos que creó en el paso anterior y presione el botón Ir.
Cuando inicie sesión, verá la interfaz de usuario de phpMyAdmin.
¿Cómo asegurar phpMyAdmin?
Puede agregar una capa de seguridad más a su interfaz web phpMyAdmin configurando una autenticación básica. Crearemos un directorio protegido por contraseña.
Primero, crearemos un archivo de contraseña con el usuario utilizando la herramienta htpasswd que viene con el paquete Apache.
Guardaremos el archivo .htpasswd en el directorio /etc/phpmyadmin:
$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd newadmin
Aquí, newadmin es el nombre de usuario administrativo que creamos para acceder a la interfaz de phpMyAdmin. Puede elegir cualquier nombre de usuario de su elección.
Una vez que ejecute el comando anterior, se le pedirá que ingrese la contraseña y confirme la contraseña como se muestra a continuación:
New password:
Re-type new password:
Adding password for user newadmin
Ahora configuraremos Apache para proteger con contraseña el directorio phpMyAdmin y usaremos el archivo .htpasswd.
Para hacerlo, abra phpmyadmin.conf escribiendo:
$ sudo nano /etc/httpd/conf.d/phpmyadmin.conf
Realice los cambios de la siguiente manera:
<Directory /usr/share/phpmyadmin>
Options +FollowSymLinks +Multiviews +Indexes # change this line
DirectoryIndex index.php
# Add new line start
AllowOverride None
AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
# Add new line end
...
Después de eso, guarde y cierre el archivo. Para que surta efecto, reinicie el servicio de Apache por tipo:
$ sudo systemctl restart httpd
Ahora, cuando acceda a su subdirectorio phpMyAdmin, se le solicitará el nombre de cuenta y la contraseña adicionales que acaba de configurar:
https://ip_address_or_your_domain/phpmyadmin
Una vez que ingrese los detalles básicos de autenticación, solo se le llevará 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.