Cómo conectar una base de datos remota a tu sitio web (cPanel y Plesk)
¿Qué es una base de datos remota y por qué te conviene?
Imagina que tu sitio web es una tienda física. Los archivos de tu web (las plantillas, las imágenes, el código) serían los muebles y la decoración. Pero la base de datos es el almacén: ahí guardas los productos, los clientes, los pedidos, los artículos del blog y todas las contraseñas. Normalmente, el almacén está en el mismo local que la tienda, pero a veces, por razones de seguridad, rendimiento o porque tienes varios locales, te interesa tener el almacén en otro sitio. Eso es una base de datos remota.
Conectar una base de datos remota a tu sitio web significa que tu web (el código) se encuentra en un servidor (por ejemplo, un hosting compartido o un VPS) y la base de datos (el almacén) está en otro servidor diferente. Esto es muy común cuando usas un servicio de base de datos en la nube como Amazon RDS, DigitalOcean Managed Databases, o cuando separas la carga para que el servidor web no sufra.
Para que esto funcione, no solo necesitas los datos de acceso, sino que debes configurar correctamente el servidor que aloja la base de datos para que acepte conexiones desde fuera. Y aquí es donde entran en juego los paneles de control como cPanel y Plesk.
Este artículo te guiará paso a paso, sin tecnicismos innecesarios, para que conectes tu web (sea WordPress o PrestaShop) a una base de datos que no está en el mismo sitio que tus archivos. Vamos a ello.
Requisitos previos antes de empezar
Antes de lanzarnos a configurar nada, necesitas tener a mano tres datos que son como las llaves de tu almacén:
- El nombre de la base de datos: Se ve así en cPanel:
usuario_basededatos. - El nombre de usuario de la base de datos: Normalmente es similar al nombre de la base de datos (ej.
usuario_bduser). - La contraseña de la base de datos: La que elegiste al crearla.
- El host de la base de datos: Este es el punto más importante. No es
localhost. Es una dirección IP pública (ej.192.168.1.100) o un nombre de dominio (ej.db.midominio.com). A menudo, el proveedor de la base de datos en la nube te da un "endpoint" que es justo el host que debes usar.
[WARNING]: Si no tienes estos datos, no podrás continuar. Si la base de datos está en otro servidor, es posible que tengas que configurarla desde el panel de ese servidor (como DigitalOcean o AWS) y luego venir a cPanel o Plesk solo a "abrir la puerta".
Parte 1: Conectar una base de datos remota usando cPanel
cPanel es uno de los paneles más usados en el mundo. Su interfaz es un tablero de iconos. Vamos a hacer dos cosas: primero, permitir que tu sitio web pueda hablar con la base de datos remota (esto se hace en el panel donde está tu web), y segundo, asegurarnos de que la base de datos remota acepte la conexión.
Paso 1: Añadir el host remoto en tu cPanel
Este paso es vital y mucha gente lo omite. Tu servidor de cPanel, por seguridad, bloquea las conexiones salientes a bases de datos que no sean las suyas locales. Para permitir que tu web se conecte a una base de datos externa, debes añadir esa IP remota a la lista de "hosts remotos".
- Inicia sesión en tu cPanel.
- Busca la sección llamada "Bases de Datos" y haz clic en "Base de Datos Remota" (o "Remote MySQL" en inglés).
- Verás un campo que dice "Host" o "Servidor". Aquí debes escribir la dirección IP del servidor donde está tu base de datos remota. No pongas
http://ni/. Solo la IP o el nombre del host (ej.192.168.1.50odb.example.com). - Haz clic en "Añadir Host".
[INFO]: ¿No sabes la IP de tu base de datos? Si la tienes en un servicio en la nube, suele aparecer en el panel de control de ese servicio. Si la base de datos está en otro hosting, puedes usar el comando ping desde tu ordenador o preguntar a tu proveedor.
Paso 2: Configurar la conexión en tu aplicación (WordPress o PrestaShop)
Ahora que tu servidor de cPanel tiene "permiso" para hablar con el servidor remoto, toca decirle a tu aplicación web dónde está la base de datos. Esto se hace en el archivo de configuración de tu CMS.
Para WordPress:
- Accede a tu hosting vía FTP o al Administrador de Archivos de cPanel.
- Busca el archivo
wp-config.phpen la raíz de tu instalación de WordPress. - Ábrelo con el editor de texto. Busca las líneas que empiezan por
define('DB_NAME',define('DB_USER',define('DB_PASSWORD'ydefine('DB_HOST'. - Edítalas así:
DB_NAME: El nombre de tu base de datos remota (ej.remoto_bd).DB_USER: El usuario de tu base de datos remota (ej.remoto_user).DB_PASSWORD: La contraseña de ese usuario.DB_HOST: La IP o el host remoto que anotaste antes (ej.192.168.1.50). ¡No pongaslocalhost!
- Guarda el archivo y súbelo de nuevo si lo editaste en local.
Para PrestaShop:
- Ve al Administrador de Archivos de cPanel y navega hasta
config/. - Busca el archivo
settings.inc.php(en versiones antiguas) oparameters.php(en versiones modernas). - Edítalo. Busca las definiciones de
_DB_SERVER_,_DB_NAME_,_DB_USER_y_DB_PASSWD_. - Sustituye los valores:
_DB_SERVER_: La IP o host de tu base de datos remota._DB_NAME_: El nombre de la base de datos remota._DB_USER_: El usuario remoto._DB_PASSWD_: La contraseña remota.
- Guarda los cambios.
[TIP]: Si después de esto tu web te da error de "Error al conectar a la base de datos", revisa que en el servidor remoto hayas permitido la IP de tu cPanel. Eso lo veremos en el paso siguiente, pero es el error más común.
Parte 2: Conectar una base de datos remota usando Plesk
Plesk es otro panel muy popular, sobre todo en servidores VPS y dedicados. Su filosofía es similar, pero la interfaz cambia.
Paso 1: Configurar el acceso remoto en Plesk
Plesk gestiona los accesos de forma diferente. En lugar de solo añadir una IP, te permite habilitar el acceso remoto a la base de datos.
- Inicia sesión en Plesk.
- Ve a la sección "Bases de Datos" dentro del panel de tu sitio web (o en "Herramientas y Configuración" si es un servidor).
- Selecciona la base de datos que quieres usar como remota (o crea una nueva).
- Entra en la base de datos y busca la pestaña "Acceso Remoto" o "Hosts Remotos".
- Añade la IP del servidor donde está tu sitio web (el que usa Plesk). Marca la casilla para "Permitir conexiones remotas" y guarda.
[WARNING]: A diferencia de cPanel, aquí tienes que asegurarte de que el servicio de base de datos (MySQL/MariaDB) esté escuchando en una interfaz de red accesible. Esto se configura en los ajustes avanzados del servidor, pero normalmente el botón de "Acceso Remoto" ya lo hace por ti.
Paso 2: Configurar la aplicación
Al igual que en cPanel, una vez que Plesk permite la conexión, debes editar los archivos de configuración de tu CMS.
Para WordPress en Plesk:
- Ve al Administrador de Archivos de Plesk o conecta por FTP.
- Edita
wp-config.php. - Cambia los valores de
DB_HOST,DB_NAME, etc., a los de tu base de datos remota, igual que hicimos en el ejemplo de cPanel. - Guarda.
Para PrestaShop en Plesk:
- Edita el archivo
config/parameters.php. - Modifica los parámetros
database_host,database_name,database_userydatabase_passwordcon los datos remotos. - Guarda.
Solución de problemas comunes (FAQ)
Aquí tienes las dudas que más nos llegan al soporte:
1. "Me da error: 'Connection refused' o 'Access denied for user'"
Esto es casi siempre un problema de permisos, no de contraseña.
- Revisa la IP: ¿Añadiste la IP exacta del servidor de tu web en el panel de la base de datos remota? A veces, si tu web usa una IP dinámica, la conexión falla. Necesitas una IP estática.
- Revisa el usuario: En cPanel, el usuario de la base de datos suele tener un prefijo (ej.
user_bd). Asegúrate de escribirlo completo en el archivo de configuración. - Revisa el host: En el archivo de configuración, ¿pusiste la IP o el nombre del host remoto? No puede ser
localhost.
2. "Mi web está muy lenta desde que la conecté a la base de datos remota"
Esto es normal si la distancia entre servidores es grande o si la base de datos remota es más débil que la local.
- [TIP]: Si la latencia es un problema, considera usar una base de datos remota en el mismo centro de datos que tu hosting.
- Comprueba la caché: Activa la caché de objetos en WordPress (con plugins como Redis) para reducir las consultas a la base de datos.
3. "¿Puedo conectar una base de datos de cPanel a un WordPress instalado en Plesk?"
Sí, perfectamente. La conexión remota no entiende de paneles, solo de IPs y puertos. Solo tienes que asegurarte de que ambos servidores se den permiso mutuamente (el que tiene la BD permite la IP del que tiene la web, y viceversa si es necesario).
4. "Estoy usando Syspanel (antes HestiaCP) para mi web, ¿cómo hago esto?"
Syspanel es un panel de control moderno. Para conectar una base de datos remota desde Syspanel, la lógica es la misma, pero el acceso al panel es diferente. Recuerda que el puerto de acceso a Syspanel es el 2106 (ej. https://tu-servidor:2106). Dentro, busca la sección de bases de datos y añade la IP remota en los ajustes de "Hosts Permitidos". Luego, edita el archivo de configuración de tu WordPress o PrestaShop como hemos explicado.
[INFO]: El proceso es idéntico en concepto: abrir el firewall/permisos del servidor de la BD y configurar el CMS con el host correcto.
Consejos finales y buenas prácticas
Conectar una base de datos remota no es complicado, pero requiere atención al detalle. Aquí tienes un resumen de lo que debes recordar:
- Nunca uses
localhosten el archivo de configuración si tu BD es remota. - La seguridad es clave: No uses contraseñas débiles. Limita el acceso remoto solo a las IPs que lo necesiten. No dejes el acceso abierto a todo el mundo (
%). - Haz una copia de seguridad de tu base de datos local antes de hacer el cambio, por si algo sale mal.
- Si usas Syspanel, recuerda siempre el puerto 2106 para acceder a su panel de control.
- Prueba la conexión antes de hacer el cambio definitivo en tu web. Puedes intentar conectarte desde la línea de comandos de tu servidor con
mysql -h IP_REMOTA -u USUARIO -p. Si te conecta, el problema estará en la configuración del CMS.
[WARNING]: Si tu proveedor de hosting tiene un firewall muy restrictivo, es posible que necesites abrir el puerto 3306 (el de MySQL/MariaDB) en el servidor de la base de datos para que acepte conexiones externas. Esto se hace desde el panel del proveedor de la BD, no desde cPanel/Plesk.
Con estos pasos, tendrás tu web funcionando con una base de datos externa sin despeinarte. Si te encuentras con un error extraño, revisa los logs de error de PHP y de MySQL, te darán la pista exacta de qué está fallando. ¡Mucha suerte!
