phpMyAdmin · 7 min read · Nov 06, 2025

Instalar y asegurar phpMyAdmin en CentOS 8

phpMyAdmin es una herramienta gratuita y de código abierto para gestionar servidores MySQL y MariaDB a través de una interfaz web. Con phpMyAdmin, puedes crear y gestionar bases de datos y usuarios, ejecutar sentencias SQL, importar y exportar datos, y realizar actividades de base de datos como crear, eliminar, tablas, columnas, índices, permisos y muchos más. phpMyAdmin es una de las herramientas de administración más populares y utilizadas, especialmente para servicios de alojamiento web.

Características

  • Proporciona una interfaz web simple y fácil de usar.

  • Importa datos desde CSV y SQL.

  • Soporta la mayoría de las características de MySQL, incluyendo crear, copiar, eliminar, renombrar, eliminar y alterar bases de datos, tablas, campos e índices.

  • Te permite exportar datos a varios formatos como PDF, CSV, SQL, XML y muchos más.

  • Gestión de múltiples servidores.

  • Creación de consultas complejas utilizando Consulta-por-ejemplo (QBE).

En este tutorial, te mostraremos cómo instalar y asegurar phpMyAdmin en un servidor CentOS 8.

Requisitos

  • Un servidor que ejecute CentOS 8.

  • Una contraseña de root configurada en el servidor.

Instalar Servidor LAMP

Primero, necesitarás instalar Apache, MariaDB, PHP y otras bibliotecas de PHP en tu servidor. Puedes instalar todos ellos con el siguiente comando:

dnf install httpd mariadb-server php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli php-mysqlnd php-json php-mbstring wget unzip

Una vez que todos los paquetes estén instalados, inicia el servicio de Apache y MariaDB y habilítalos para que se inicien después del reinicio del sistema con el siguiente comando:

systemctl start httpd  
systemctl start mariadb  
systemctl enable httpd  
systemctl enable mariadb

Una vez que hayas terminado, puedes proceder al siguiente paso.

Configurar MariaDB

Por defecto, MariaDB no está asegurado. Así que necesitarás asegurarlo primero. Puedes hacerlo ejecutando el script mysql_secure_installation:

mysql_secure_installation

Responde todas las preguntas como se muestra a continuación:

¿Establecer contraseña de root? [Y/n] Y
Nueva contraseña: 
¿Eliminar usuarios anónimos? [Y/n] Y
¿Deshabilitar el inicio de sesión remoto de root? [Y/n] Y
¿Eliminar la base de datos de prueba y el acceso a ella? [Y/n] Y
¿Recargar tablas de privilegios ahora? [Y/n] Y

Una vez que hayas terminado, deberías ver la siguiente salida:

 ... ¡Éxito!

Limpiando...

¡Todo listo! Si has completado todos los pasos anteriores, tu instalación de MariaDB
ahora debería estar segura.

¡Gracias por usar MariaDB!

En este punto, tu instalación de MariaDB está asegurada.

Instalar phpMyAdmin

Por defecto, phpMyAdmin no está disponible en el repositorio predeterminado de CentOS 8. Así que necesitarás descargar la última versión de phpMyAdmin desde su sitio web oficial. Puedes descargarlo con el siguiente comando:

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.2/phpMyAdmin-4.9.2-all-languages.zip

Una vez descargado, descomprime el archivo descargado con el siguiente comando:

unzip phpMyAdmin-4.9.2-all-languages.zip

A continuación, mueve el contenido extraído al directorio /usr/share como se muestra a continuación:

mv phpMyAdmin-4.9.2-all-languages /usr/share/phpmyadmin

A continuación, cambia el directorio a /usr/share/phpmyadmin y renombra el archivo config.sample.inc.php:

cd /usr/share/phpmyadmin  
mv config.sample.inc.php config.inc.php

A continuación, abre el archivo con tu editor de texto favorito como se muestra a continuación:

nano config.inc.php

Cambia la siguiente línea:

$cfg['blowfish_secret'] = 'tu-contraseña-secreta';

Guarda y cierra el archivo cuando hayas terminado. Luego, importa el create_tables.sql con el siguiente comando:

mysql < /usr/share/phpmyadmin/sql/create_tables.sql -u root -p

Proporciona tu contraseña de root cuando se te pida para importar la tabla.

A continuación, crea un directorio tmp para phpmyadmin y da los permisos adecuados:

mkdir /usr/share/phpmyadmin/tmp  
chown -R apache:apache /usr/share/phpmyadmin  
chmod 777 /usr/share/phpmyadmin/tmp

Configurar Apache para phpMyAdmin

A continuación, necesitarás crear un archivo de configuración de host virtual de Apache para phpMyAdmin. Puedes crearlo con el siguiente comando:

nano /etc/httpd/conf.d/phpmyadmin.conf

Agrega las siguientes líneas:

Alias /phpmyadmin /usr/share/phpmyadmin


   AddDefaultCharset UTF-8

   
     # Apache 2.4
      
      Require all granted
     
   
   
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   



   
     # Apache 2.4
     
       Require all granted
     
   
   
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   

Guarda y cierra el archivo cuando hayas terminado. Luego, reinicia el servicio de Apache con el siguiente comando:

systemctl restart httpd

Puedes verificar el estado de Apache con el siguiente comando:

systemctl status httpd

Deberías ver la siguiente salida:

? httpd.service - El servidor HTTP Apache
   Cargado: cargado (/usr/lib/systemd/system/httpd.service; habilitado; ajuste de proveedor: deshabilitado)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Activo: activo (en ejecución) desde mié 2019-12-18 01:07:52 EST; hace 6s
     Docs: man:httpd.service(8)
 Main PID: 5636 (httpd)
   Estado: "Iniciado, escuchando en: puerto 80"
    Tareas: 213 (límite: 25044)
   Memoria: 28.7M
   CGroup: /system.slice/httpd.service
           ??5636 /usr/sbin/httpd -DFOREGROUND
           ??5639 /usr/sbin/httpd -DFOREGROUND
           ??5640 /usr/sbin/httpd -DFOREGROUND
           ??5641 /usr/sbin/httpd -DFOREGROUND
           ??5642 /usr/sbin/httpd -DFOREGROUND

Dec 18 01:07:52 centos8 systemd[1]: Detenido El servidor HTTP Apache.
Dec 18 01:07:52 centos8 systemd[1]: Iniciando El servidor HTTP Apache...
Dec 18 01:07:52 centos8 httpd[5636]: AH00558: httpd: No se pudo determinar de manera confiable el nombre de dominio completamente calificado del servidor, usando fe80::200:d0>
Dec 18 01:07:52 centos8 httpd[5636]: Servidor configurado, escuchando en: puerto 80
Dec 18 01:07:52 centos8 systemd[1]: Iniciado El servidor HTTP Apache.

Configurar SELinux y Firewall

Por defecto, SELinux está habilitado en CentOS 8. Así que necesitarás configurar SELinux para que phpMyAdmin funcione correctamente.

Primero, instala el paquete policycoreutils-python-utils para gestionar un entorno SELinux con el siguiente comando:

dnf install policycoreutils-python-utils

A continuación, habilita el acceso al directorio /usr/share/phpmyadmin con el siguiente comando:

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(/.*)?"

Ahora recorre todos los archivos en tu directorio phpmyadmin ejecutando el siguiente comando:

restorecon -Rv '/usr/share/phpmyadmin/'

A continuación, necesitarás crear una regla de firewall para permitir el servicio HTTP desde redes externas. Puedes permitirlo con el siguiente comando:

firewall-cmd --permanent --add-service=http  
firewall-cmd --reload

phpMyAdmin ahora está instalado y configurado. Ahora es el momento de verificar si está funcionando o no.

Abre tu navegador web y escribe la URL http://tu-ip-del-servidor/phpmyadmin. Serás redirigido a la siguiente página:

Inicio de sesión de PHPMyAdmin

Asegurar phpMyAdmin

En este punto, la instancia de phpMyAdmin está funcionando correctamente. Sin embargo, asegurar tu instancia de phpMyAdmin del mundo exterior es una tarea importante para ti. En esta sección, te mostraremos cómo asegurar tu instancia de phpMyAdmin.

Permitir phpMyAdmin desde IP Específica

Primero, necesitarás configurar tu phpMyAdmin para que sea accesible solo desde la dirección IP de tu conexión a casa.

Puedes configurarlo editando el archivo /etc/httpd/conf.d/phpmyadmin.conf:

nano /etc/httpd/conf.d/phpmyadmin.conf

Encuentra las siguientes líneas:

     
       Require all granted
     

Y reemplázalas con lo siguiente:


    Require ip tu-dirección-ip-de-conexión-a-casa
    Require ip ::1

Guarda y cierra el archivo cuando hayas terminado.

Configurar Capa Adicional de Autenticación

Es una buena idea proteger con contraseña tu directorio phpmyadmin configurando una autenticación básica.

Para hacerlo, crea un nuevo archivo de autenticación usando la herramienta htpasswd como se muestra a continuación:

mkdir /etc/phpmyadmin  
htpasswd -c /etc/phpmyadmin/.htpasswd admin

Se te pedirá que proporciones tu contraseña de administrador como se muestra a continuación:

Nueva contraseña: 
Reescribe la nueva contraseña: 
Agregando contraseña para el usuario admin

A continuación, necesitarás configurar Apache para usar el archivo .htpasswd. Puedes hacerlo editando el archivo /etc/httpd/conf.d/phpmyadmin.conf.

nano /etc/httpd/conf.d/phpmyadmin.conf

Agrega las siguientes líneas debajo de la línea “AddDefaultCharset UTF-8”:

    Options  +FollowSymLinks +Multiviews +Indexes
    AllowOverride None
    AuthType basic
    AuthName "Autenticación Requerida"
    AuthUserFile /etc/phpmyadmin/.htpasswd
    Require valid-user

Guarda el archivo y reinicia el servicio de Apache para que los cambios surtan efecto:

systemctl restart httpd

Acceder a phpMyAdmin

Ahora, tu instancia de phpMyAdmin está asegurada con una capa adicional de seguridad. Abre tu navegador web y escribe la URL http://tu-ip-del-servidor/phpmyadmin. Se te pedirá que ingreses las credenciales de inicio de sesión del usuario que creaste anteriormente como se muestra a continuación:

phpMyAdmin Asegurado

Proporciona tu nombre de usuario y contraseña de administrador, luego haz clic en el botón OK. Serás redirigido a la página de inicio de sesión de phpMyAdmin:

Iniciar sesión como usuario root en phpMyAdmin

Ahora, proporciona tus credenciales de inicio de sesión de usuario administrativo de MySQL y haz clic en el botón Go. Deberías ver la siguiente página:

Tablero de base de datos de phpMyAdmin

Conclusión

¡Felicidades! has instalado y asegurado con éxito phpMyAdmin en el servidor CentOS 8. Ahora puedes crear bases de datos, usuarios, tablas y gestionarlos desde la interfaz web. No dudes en preguntarme si tienes alguna pregunta.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.