phpMyAdmin es una herramienta de administración web de código abierto para administrar los servidores MySQL y MariaDB. Es una de las herramientas de administración de bases de datos más populares que utilizan las empresas de hosting y los administradores de sistemas para realizar actividades de bases de datos como crear, eliminar, consultar tablas, columnas, relaciones, índices, usuarios, permisos, etc.
phpMyAdmin es una aplicación web portátil escrita en PHP. Está publicado bajo GNU GPL v2.
En esta publicación, veremos cómo instalar phpMyAdmin con Apache en CentOS 8 / RHEL 8.
Requisitos
Instalar servidor MySQL/MariaDB
Antes de instalar phpMyAdmin, debe tener una instancia de base de datos (MySQL o MariaDB) ejecutándose en su sistema para conectarse. Podría ser una instancia de base de datos independiente o instalada como parte de la pila LAMP.
Base de datos independiente
LEER: Cómo instalar MariaDB en CentOS 8 / RHEL 8
LEER: Cómo instalar MySQL 8.0 en CentOS 8 / RHEL 8
Instale PHP, el paquete de soporte MySQL para PHP y otros paquetes PHP en su sistema para que phpMyAdmin se conecte con la base de datos.
dnf install -y wget php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli php-mysqlnd php-xml tar
Pila LÁMPARA
LEER: Cómo instalar LAMP Stack en CentOS 8 / RHEL 8
Instale los paquetes PHP a continuación para que phpMyAdmin se conecte con la base de datos.
dnf install -y php-json php-mbstring
Instalar phpMyAdmin
El paquete phpMyAdmin aún no está disponible en el repositorio del sistema operativo para CentOS 8/RHEL 8. Por lo tanto, debemos descargarlo del sitio web oficial.
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.tar.gz
Instale phpMyAdmin usando el siguiente comando.
tar -zxvf phpMyAdmin-5.1.1-all-languages.tar.gz
Mueva la configuración de phpMyAdmin a la ubicación deseada.
mv phpMyAdmin-5.1.1-all-languages /usr/share/phpMyAdmin
Configurar phpMyAdmin
Copie el archivo de configuración de muestra.
cp -pr /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php
Edite el archivo de configuración y agregue un secreto de pez globo.
vi /usr/share/phpMyAdmin/config.inc.php
Genera el secreto del pez globo y colócalo en la línea de abajo.
$cfg['blowfish_secret'] = 'bo95yavJ;V,1PzSlxyFwtyMJ}WmG98-6'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Importe create_tables.sql para crear nuevas tablas para phpMyAdmin.
mysql < /usr/share/phpMyAdmin/sql/create_tables.sql -u root -p
Cree un alias en el servidor web Apache para que se pueda acceder a phpMyAdmin con http://your-ip-add-dress/phpmyadmin.
vi /etc/httpd/conf.d/phpMyAdmin.conf
Copie y pegue el contenido a continuación en el archivo anterior.
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> <Directory /usr/share/phpMyAdmin/setup/> <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory>
Cree un directorio tmp para phpMyAdmin y cambie el permiso.
mkdir /usr/share/phpMyAdmin/tmp chmod 777 /usr/share/phpMyAdmin/tmp
Establezca la propiedad de phpMyAdmin como se muestra a continuación.
chown -R apache:apache /usr/share/phpMyAdmin
Reinicie el servicio.
systemctl restart httpd
SELinux
Cree políticas de SELinux para que phpMyAdmin funcione correctamente.
yum install -y policycoreutils-python-utils semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/phpMyAdmin/' semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/phpMyAdmin/tmp(/.*)?" restorecon -Rv '/usr/share/phpMyAdmin/'
Cortafuegos
Cree una regla de firewall para permitir solicitudes HTTP de redes externas.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
Notas importantes
Lea las notas importantes antes de acceder a phpMyAdmin con usuarios raíz o de base de datos regulares.
MySQL 8.x
MySQL 8.0 instalado desde el repositorio MySQL Dev Community utiliza un mecanismo caching_sha2_password para la autenticación, que impide que las aplicaciones heredadas accedan a las bases de datos, incluido phpMyAdmin, en este momento. En términos simples, no iniciará sesión en phpMyAdmin a menos que deshabilitemos este nuevo mecanismo de contraseña.
Puede deshabilitar globalmente el nuevo mecanismo de contraseña colocando default-authentication-plugin=mysql_native_password en /etc/my.cnf (los usuarios creados después de este cambio tendrán el mecanismo de autenticación mysql_native_password), o puede volver a la autenticación nativa anterior (mysql_native_password) para usuarios individuales (Ej:root) ejecutando ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '
Acceda a phpMyAdmin
Ahora acceda a phpMyAdmin desde el navegador, la URL será:
http://localhost/phpMyAdminO
http://su-dirección-ip-ess/phpMyAdminInicie sesión con la raíz (administrador de la base de datos) o cualquier usuario de la base de datos.
Obtendrá la página de la base de datos donde puede realizar todas las actividades de la base de datos.
Conclusión
Espero que haya aprendido a instalar phpMyAdmin con Apache CentOS 8 / RHEL 8 para administrar la base de datos MariaDB y MySQL. Además de esto, puede echar un vistazo a cómo proteger su instalación de phpMyAdmin.