Cómo instalar MySQL Server y phpMyAdmin en un VPS (Apache)
Este tutorial cubre la instalación de MySQL Server, PHP y phpMyAdmin en un VPS Linux usando Apache.
Compatible con: Ubuntu 20.04 / 22.04 / 24.04
Requisitos
- VPS con acceso root
- Sistema Ubuntu actualizado -Apache instalado
Si aún no tienes Apache:
apt update && apt upgrade -y
apt install apache2 -y
systemctl enable apache2
systemctl start apache2
1. Instalar el servidor MySQL
Instalar MySQL:
apt install mysql-server -y
Compruebe si se está ejecutando:
systemctl status mysql
Si no está activo:
systemctl start mysql
systemctl enable mysql
2. Configurar la seguridad de MySQL
Ejecute el script de seguridad:
mysql_secure_installation
Recomendaciones:
- VALIDAR CONTRASEÑA: opcional (puedes introducir N)
- Eliminar usuarios anónimos: Y
- Deshabilitar el inicio de sesión remoto como root: Y
- Quitar banco de pruebas: Y
- Recargar privilegios: Sí
3. Crear usuario y base de datos
Accede a MySQL:
mysql -u root -p
Crear banco y usuario:
CREATE DATABASE meubanco;
CREATE USER 'usuario'@'%' IDENTIFIED BY 'SenhaForte123!';
GRANT ALL PRIVILEGES ON meubanco.* TO 'usuario'@'%';
FLUSH PRIVILEGES;
EXIT;
Nota:
'%' permite el acceso remoto. Para mayor seguridad, utilice una IP específica.
4. Instale PHP y las extensiones necesarias
apt install php libapache2-mod-php php-mysql php-cli php-curl php-mbstring php-xml php-zip -y
Reinicie Apache:
systemctl restart apache2
5. Instale phpMyAdmin
apt install phpmyadmin -y
Durante la instalación:
- Elija: apache2
- Configurar banco automáticamente: Sí
6. Habilite phpMyAdmin en Apache
Si no funciona automáticamente:
ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Reiniciar:
systemctl restart apache2
7. Accede a phpMyAdmin
En el navegador:
http://IP-DA-VPS/phpmyadmin
Iniciar sesión:
- Usuario: root o el usuario creado
- Contraseña: la previamente definida
Preguntas frecuentes (Preguntas frecuentes)
No puedo acceder a phpMyAdmin
Comprobar:
systemctl status apache2
También confirme que el puerto 80 esté permitido en el firewall:
ufw allow 80
Error "Acceso denegado al usuario 'root'"
En Ubuntu, root usa autenticación de socket.
Solución: use el usuario creado o cambie el método:
mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SuaSenha';
FLUSH PRIVILEGES;
phpMyAdmin pregunta por la extensión que falta
Instalar:
apt install php-mbstring php-zip php-gd php-json php-curl -y
Reiniciar:
systemctl restart apache2
Cómo permitir el acceso remoto a MySQL
Editar:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
Cambiar:
bind-address = 0.0.0.0
Reiniciar:
systemctl restart mysql
Y suéltelo en el firewall:
ufw allow 3306
¿Es seguro phpMyAdmin?
Por defecto no se recomienda dejarlo público.
Recomendaciones:
- Proteger con contraseña adicional (Apache/Nginx)
- Restringir por IP
- Cambiar URL predeterminada (/phpmyadmin)
Cómo cambiar la URL de phpMyAdmin
Ejemplo:
mv /var/www/html/phpmyadmin /var/www/html/painel-db
Acceso:
http://IP-DA-VPS/painel-db
Cómo eliminar phpMyAdmin
apt remove phpmyadmin -y
apt purge phpmyadmin -y
##Buenas prácticas
- No usar root en aplicaciones
- Crear usuarios específicos por sistema.
- Realizar copias de seguridad frecuentes
- Restringir el acceso al banco.
- Monitorear conexiones
Si aún necesita ayuda, abra un ticket con nuestro soporte.