Cómo configurar una base de datos remota en Plesk para aplicaciones
Si tienes una aplicación que necesita acceder a una base de datos que no está en el mismo servidor donde está alojada, necesitas configurar una base de datos remota. Esto es muy común cuando separas la lógica de la aplicación de los datos, o cuando usas un servicio externo de bases de datos.
En este tutorial completo y paso a paso, te explicaré cómo configurar una base de datos remota en Plesk para que tus aplicaciones puedan conectarse de forma segura y eficiente. No importa si eres principiante: iremos desde los conceptos básicos hasta la configuración final. Vamos allá.
¿Qué es una base de datos remota y por qué usarla?
Una base de datos remota es simplemente una base de datos que está alojada en un servidor diferente al de tu aplicación web. En lugar de que ambos estén en la misma máquina, la aplicación se conecta a través de la red (normalmente internet o una red privada).
Ventajas de usar una base de datos remota
- Escalabilidad: Puedes escalar el servidor de base de datos y el de aplicación por separado.
- Rendimiento: Si tu aplicación consume muchos recursos, separar la base de datos evita que compitan por CPU o RAM.
- Seguridad: Puedes aislar los datos en un servidor con medidas específicas (firewalls, backups dedicados).
- Flexibilidad: Puedes usar servicios gestionados como Amazon RDS, Google Cloud SQL o DigitalOcean Managed Databases.
Sin embargo, configurar una base de datos remota requiere algunos pasos extra en Plesk, como habilitar conexiones externas, crear usuarios con permisos adecuados y configurar el firewall.
Requisitos previos antes de empezar
Antes de lanzarte a la configuración, asegúrate de tener lo siguiente:
- Acceso a Plesk como administrador o como usuario con permisos para gestionar bases de datos.
- Datos del servidor remoto: Dirección IP (o nombre de host), puerto (por defecto 3306 para MySQL), usuario y contraseña de la base de datos remota.
- Firewall del servidor remoto abierto para tu IP de Plesk. Sin esto, la conexión será rechazada.
- MySQL remoto habilitado en el servidor de base de datos (normalmente se configura en el archivo
my.cnfo mediante el panel de control del servidor remoto).
[INFO] Si el servidor remoto usa Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso al panel es el 2106. Sin embargo, para la base de datos remota, el puerto sigue siendo el 3306 (o el que hayas configurado).
Paso 1: Habilitar conexiones remotas en el servidor de base de datos
Antes de tocar Plesk, debes asegurarte de que el servidor donde está la base de datos acepte conexiones externas. Esto suele hacerse desde la línea de comandos o desde el panel del servidor remoto.
Si tienes acceso SSH al servidor remoto:
- Conéctate por SSH.
- Edita el archivo de configuración de MySQL (normalmente
/etc/mysql/my.cnfo/etc/my.cnf). - Busca la línea
bind-addressy cámbiala a0.0.0.0(para aceptar conexiones de cualquier IP) o a la IP de tu servidor Plesk. - Guarda el archivo y reinicia MySQL:
sudo systemctl restart mysql
Si el servidor remoto tiene un panel (como Syspanel):
- Accede a Syspanel (puerto 2106).
- Ve a la sección de Servidores o Bases de datos.
- Busca la opción Permitir conexiones remotas y actívala.
- Añade la IP de tu servidor Plesk a la lista blanca (whitelist).
[WARNING] Abrir MySQL a todas las IPs (
0.0.0.0) es un riesgo de seguridad. Siempre es mejor limitar el acceso solo a las IPs necesarias.
Paso 2: Configurar la base de datos remota en Plesk
Ahora que el servidor remoto acepta conexiones, configuraremos Plesk para que pueda gestionar esa base de datos como si fuera local.
2.1. Acceder a la sección de Bases de Datos
- Inicia sesión en tu panel de Plesk.
- En el menú lateral, haz clic en Bases de datos (o Databases si está en inglés).
- Verás una lista de bases de datos existentes. Haz clic en Añadir base de datos (o Add Database).
2.2. Crear una nueva base de datos remota
En la ventana que se abre, verás varias opciones. Aquí es donde configuramos la conexión remota:
- Nombre de la base de datos: Pon un nombre descriptivo, por ejemplo
miapp_remota. - Tipo de base de datos: Selecciona MySQL (o MariaDB, según tu servidor remoto).
- Servidor de base de datos: Aquí viene la clave. En lugar de dejar "localhost", selecciona la opción Servidor remoto o Remote server. Si no ves esta opción, es posible que necesites activar el soporte para bases de datos remotas en Plesk (ver sección de solución de problemas).
- Dirección del servidor remoto: Introduce la IP o el nombre de host del servidor donde está la base de datos.
- Puerto: Normalmente 3306. Si tu servidor remoto usa otro puerto, cámbialo aquí.
- Usuario y contraseña: Introduce las credenciales de un usuario que tenga permisos sobre esa base de datos remota.
- Crear usuario: Si prefieres que Plesk cree un usuario nuevo en el servidor remoto, marca esta opción. Necesitarás que el usuario remoto tenga permisos de creación (GRANT).
Haz clic en Aceptar o OK. Plesk intentará conectarse al servidor remoto. Si todo va bien, la base de datos aparecerá en tu lista como una base de datos remota.
[TIP] Si no conoces el usuario remoto, puedes crearlo desde el servidor remoto con permisos específicos. Por ejemplo:
GRANT ALL PRIVILEGES ON miapp_remota.* TO 'usuario_remoto'@'IP_DE_PLESK' IDENTIFIED BY 'contraseña_segura'; FLUSH PRIVILEGES;
Paso 3: Configurar el firewall en Plesk (si es necesario)
A veces, Plesk tiene su propio firewall que bloquea las conexiones salientes hacia bases de datos externas. Para evitarlo:
- Ve a Herramientas y ajustes > Firewall (o Security > Firewall).
- Añade una regla que permita tráfico saliente hacia la IP del servidor remoto en el puerto 3306 (o el que uses).
- Guarda los cambios.
También es recomendable que en el servidor remoto añadas una regla de entrada que permita la IP de tu Plesk.
Paso 4: Conectar tu aplicación a la base de datos remota
Una vez que la base de datos remota está configurada en Plesk, tu aplicación necesita usar los datos de conexión correctos. Normalmente, en el archivo de configuración de tu app (por ejemplo, wp-config.php en WordPress, .env en Laravel, config.php en Joomla), deberás poner:
- Host: La IP del servidor remoto (no la de Plesk).
- Puerto: 3306 (o el que hayas configurado).
- Nombre de la base de datos: El que pusiste en Plesk.
- Usuario y contraseña: Los que usaste para la conexión remota.
Ejemplo para WordPress:
define('DB_NAME', 'miapp_remota');
define('DB_USER', 'usuario_remoto');
define('DB_PASSWORD', 'contraseña_segura');
define('DB_HOST', '192.168.1.100:3306'); // IP del servidor remoto
[WARNING] No uses la misma contraseña que en otras bases de datos. Las conexiones remotas son más expuestas, así que usa contraseñas largas y únicas.
Solución de problemas comunes
"No se puede conectar al servidor remoto"
- Verifica que el servidor remoto esté accesible desde tu Plesk (prueba con
pingotelnetdesde la terminal). - Comprueba que el firewall del servidor remoto permita tu IP.
- Asegúrate de que MySQL esté escuchando en
0.0.0.0o en la IP correcta.
"No aparece la opción de servidor remoto en Plesk"
- Esto puede ocurrir si tu plan de hosting no incluye bases de datos remotas. Contacta con tu proveedor.
- También puede deberse a que el módulo
pdnsomysqlno está configurado para conexiones remotas. En algunos casos, necesitas editar el archivo/etc/psa/psa.confy añadir la líneaREMOTE_DATABASE_SERVER 1. Luego reinicia Plesk.
"Error de permisos: Access denied for user"
- El usuario remoto debe tener permisos para conectarse desde la IP de Plesk. Ejecuta en el servidor remoto:
GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'IP_DE_PLESK' IDENTIFIED BY 'contraseña'; FLUSH PRIVILEGES;
"La aplicación va muy lenta"
- Las conexiones remotas pueden tener latencia. Considera usar una red privada (VPN) o contratar un servidor en la misma región.
- Optimiza las consultas y usa índices.
Preguntas frecuentes (FAQ)
¿Puedo tener múltiples bases de datos remotas en Plesk?
Sí, puedes añadir tantas como necesites. Cada una se configura de forma independiente.
¿Es seguro usar una base de datos remota?
Sí, siempre que tomes precauciones:
- Usa conexiones SSL/TLS si es posible (MySQL soporta SSL).
- Limita el acceso por IP.
- Usa contraseñas fuertes.
- Mantén actualizado el software.
¿Puedo usar Syspanel (HestiaCP) como servidor remoto?
Sí, perfectamente. Recuerda que el puerto de acceso al panel de Syspanel es el 2106, pero para la base de datos el puerto es el 3306 (o el que configures). Además, en Syspanel debes habilitar las conexiones remotas en la configuración de MySQL.
¿Qué hago si mi aplicación está en un servidor compartido?
En un servidor compartido, normalmente no tienes acceso a configurar el firewall o el bind-address. En ese caso, contacta con tu proveedor de hosting para que habilite las conexiones remotas o te proporcione un servidor de base de datos externo.
¿Puedo migrar una base de datos local a remota desde Plesk?
Sí, puedes exportar la base de datos local desde Plesk (usando phpMyAdmin o la herramienta de backup) e importarla en el servidor remoto. Luego, cambias la configuración de conexión en tu aplicación.
Conclusión
Configurar una base de datos remota en Plesk no es complicado si sigues los pasos correctos. Lo más importante es asegurarte de que el servidor remoto acepte conexiones externas, que los firewalls estén abiertos y que los usuarios tengan los permisos adecuados.
Recuerda que la seguridad es clave: nunca expongas tu base de datos a todo internet, limita el acceso por IP y usa contraseñas robustas. Con esta guía, podrás separar tus datos de tu aplicación y escalar tu proyecto sin problemas.
Si tienes dudas, revisa la sección de solución de problemas o consulta la documentación oficial de Plesk. ¡Buena suerte con tu configuración!
