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 unzipUna 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 mariadbUna 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_installationResponde 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.zipUna vez descargado, descomprime el archivo descargado con el siguiente comando:
unzip phpMyAdmin-4.9.2-all-languages.zipA 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/phpmyadminA 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.phpA continuación, abre el archivo con tu editor de texto favorito como se muestra a continuación:
nano config.inc.phpCambia 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 -pProporciona 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/tmpConfigurar 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.confAgrega 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 httpdPuedes verificar el estado de Apache con el siguiente comando:
systemctl status httpdDeberí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-utilsA 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 --reloadphpMyAdmin 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:

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.confEncuentra 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 adminSe 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.confAgrega 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 httpdAcceder 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:

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:

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:

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.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.