Aquí tienes una guía paso a paso para instalar MariaDB y configurar phpMyAdmin en Ubuntu 24.04 Server:
Paso 1: Actualizar el sistema
Antes de empezar, asegúrate de que el sistema esté actualizado.
<code>sudo apt update && sudo apt upgrade -y
Paso 2: Instalar MariaDB
Instala el servidor de MariaDB:
<code>sudo apt install mariadb-server -y
Verifica que el servicio esté activo:
<code>sudo systemctl status mariadb
Si no está activo, inícialo con:
<code>sudo systemctl start mariadb
Protege la instalación ejecutando el script de configuración segura:
<code>sudo mysql_secure_installation
Durante el proceso:
Configura una contraseña para el usuario root
.
Elimina usuarios anónimos.
Prohíbe el acceso remoto al usuario root
.
Elimina las bases de datos de prueba.
Ingresa a la consola de MariaDB para probar la conexión:
<code>sudo mysql -u root -p
Paso 3: Instalar Apache y PHP
Para que phpMyAdmin funcione, necesitas un servidor web y soporte para PHP.
Instala Apache y PHP:
<code>sudo apt install apache2 php php-mysql libapache2-mod-php -y
Verifica que Apache esté funcionando:
<code>sudo systemctl status apache2
Si no está activo, inícialo con:
<code>sudo systemctl start apache2
Paso 4: Instalar phpMyAdmin
Instala phpMyAdmin desde los repositorios oficiales:
<code>sudo apt install phpmyadmin -y
Durante la instalación:
Selecciona Apache2 como servidor web.
Configura <strong>dbconfig-common</strong>
para gestionar la base de datos automáticamente.
Establece una contraseña para el usuario <strong>phpmyadmin</strong>
.
Si omitiste la configuración automática o deseas configurar manualmente, puedes ejecutar:
<code>sudo dpkg-reconfigure phpmyadmin
Habilita el archivo de configuración de phpMyAdmin en Apache:
<code>sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Reinicia Apache para aplicar los cambios:
<code>sudo systemctl restart apache2
Paso 5: Configurar el acceso remoto a MariaDB (opcional)
Si necesitas permitir conexiones remotas a MariaDB, sigue estos pasos:
Edita el archivo de configuración de MariaDB:
<code>sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Busca la línea que contiene:
<code>bind-address = 127.0.0.1
Cambia <strong>127.0.0.1</strong>
por <strong>0.0.0.0</strong>
para permitir conexiones desde cualquier dirección IP, o especifica una IP concreta.
Reinicia MariaDB:
<code>sudo systemctl restart mariadb
Asegúrate de que el usuario root
tenga permisos para acceder de forma remota:
<code>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'tu_contraseña' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Paso 6: Probar phpMyAdmin
Abre un navegador y accede a:
<code>http://<TU_IP_SERVIDOR>/phpmyadmin
Inicia sesión con las credenciales de MariaDB (root
o el usuario configurado).
Paso 7: Asegurar phpMyAdmin
Por razones de seguridad, es recomendable:
Limitar el acceso a phpMyAdmin editando el archivo de configuración en /etc/apache2/conf-enabled/phpmyadmin.conf
.
Habilitar un firewall (como UFW) y permitir únicamente IPs de confianza para acceder al servidor.
Y si tengo Nginx?
Si estás utilizando Nginx en lugar de Apache, puedes instalar y configurar MariaDB y phpMyAdmin siguiendo estos pasos específicos para Nginx:
Paso 1: Instalar y configurar MariaDB
Instala el servidor MariaDB como se describe en los pasos anteriores.
<code>sudo apt install mariadb-server -y
sudo mysql_secure_installation
Verifica que MariaDB esté activo:
<code>sudo systemctl status mariadb
Paso 2: Instalar y configurar Nginx y PHP
Instala Nginx y PHP-FPM (FastCGI Process Manager):
<code>sudo apt install nginx php-fpm php-mysql -y
Verifica que Nginx esté activo:
<code>sudo systemctl status nginx
Si no está activo, inícialo con:
<code>sudo systemctl start nginx
Configura PHP-FPM para que funcione con Nginx:
Edita el archivo de configuración de PHP-FPM:
<code>sudo nano /etc/php/8.3/fpm/php.ini
(Reemplaza 8.3
por la versión de PHP instalada si es diferente).Asegúrate de habilitar la directiva cgi.fix_pathinfo=0
descomentándola y asignándole el valor 0
:
<code>cgi.fix_pathinfo=0
Reinicia PHP-FPM para aplicar los cambios:
<code>sudo systemctl restart php8.3-fpm
Paso 3: Instalar phpMyAdmin
Instala phpMyAdmin:
<code>sudo apt install phpmyadmin -y
Durante la instalación:
NO selecciones un servidor web cuando se te pida. Esto se configurará manualmente.
Configura <strong>dbconfig-common</strong>
para gestionar la base de datos automáticamente.
Si necesitas volver a configurar phpMyAdmin, usa:
<code>sudo dpkg-reconfigure phpmyadmin
Crea un enlace simbólico para que Nginx pueda acceder a phpMyAdmin:
<code>sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Paso 4: Configurar Nginx para phpMyAdmin
Edita el archivo de configuración de tu sitio Nginx o crea uno nuevo:
<code>sudo nano /etc/nginx/sites-available/default
Asegúrate de que el bloque del servidor contenga las configuraciones para manejar PHP y phpMyAdmin:
server {
listen 80;
server_name TU_DOMINIO_O_IP;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; # Ajusta si tienes otra versión de PHP
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /phpmyadmin {
root /var/www/html;
index index.php;
try_files $uri $uri/ =404;
}
location ~ /\.ht {
deny all;
}
}
Prueba la configuración de Nginx:
<code>sudo nginx -t
Reinicia Nginx para aplicar los cambios:
<code>sudo systemctl restart nginx
Paso 5: Probar phpMyAdmin
Abre un navegador y accede a:
<code>http://<TU_IP_SERVIDOR>/phpmyadmin
Inicia sesión con las credenciales de MariaDB.
Paso 6: Asegurar phpMyAdmin
Restringe el acceso editando la configuración de Nginx. Por ejemplo, para permitir solo una IP específica:
location /phpmyadmin {
allow 192.168.1.100; # Reemplaza con la IP permitida
deny all;
}
Habilita el firewall (UFW):
<code>sudo ufw allow 'Nginx Full'
Opcional: Usa un certificado SSL para asegurar las conexiones. Puedes configurar Let’s Encrypt con:
<code>sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx
Si no puedes acceder a phpMyAdmin porque no recuerdas el usuario o contraseña, aquí tienes una guía para resolverlo:
Usuario predeterminado para MariaDB
Por defecto, el usuario para MariaDB es:
Usuario: root
Contraseña: Ninguna (si no configuraste una durante mysql_secure_installation
).
Si configuraste una contraseña durante la instalación, úsala. Si no recuerdas la contraseña o el acceso falla, sigue los pasos a continuación.
Restablecer o verificar la contraseña de MariaDB
Accede al terminal de MariaDB con el usuario root
:
<code>sudo mysql -u root -p
Si no configuraste una contraseña, usa solo:
<code>sudo mysql
Si el acceso funciona, verifica o cambia la contraseña del usuario root
:
<code>ALTER USER 'root'@'localhost' IDENTIFIED BY 'NuevaContraseñaSegura';
FLUSH PRIVILEGES;
Si necesitas habilitar el acceso remoto para phpMyAdmin (por ejemplo, usando el usuario phpmyadmin
):
<code>GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'NuevaContraseñaSegura';
FLUSH PRIVILEGES;
Sal de MariaDB:
<code>EXIT;
Probar acceso a phpMyAdmin
Ve a http://<IP_DEL_SERVIDOR>/phpmyadmin.
Inicia sesión con:
Usuario: root
o phpmyadmin
(dependiendo de cómo lo configuraste).
Contraseña: La que configuraste en los pasos anteriores.
Si olvidaste la contraseña del usuario root
Detén MariaDB temporalmente:
<code>sudo systemctl stop mariadb
Inicia MariaDB en modo seguro:
<code>sudo mysqld_safe --skip-grant-tables --skip-networking &
Conéctate a MariaDB sin contraseña:
<code>sudo mysql
Cambia la contraseña del usuario root:
<code>UPDATE mysql.user SET authentication_string = PASSWORD('NuevaContraseñaSegura') WHERE User = 'root';
FLUSH PRIVILEGES;
EXIT;
Detén el proceso en modo seguro:
<code>sudo killall mysqld
Inicia MariaDB normalmente:
<code>sudo systemctl start mariadb
Intenta acceder nuevamente a phpMyAdmin.
Instalar y configurar MariaDB junto con phpMyAdmin en Ubuntu 24.04 utilizando Apache o Nginx puede parecer un desafío, pero siguiendo estos pasos tendrás un entorno funcional y seguro para gestionar tus bases de datos con facilidad. Recuerda siempre proteger tus configuraciones con contraseñas fuertes, limitar el acceso y mantener tu sistema actualizado para evitar vulnerabilidades. Si tienes dudas o necesitas más ayuda, ¡no dudes en dejar un comentario! 😊
¡Buena suerte con tu instalación y configuración! 🚀