¿Cómo configurar una base de datos remota en PrestaShop?
¿Por qué configurar una base de datos remota en PrestaShop?
Cuando tu tienda PrestaShop crece, el rendimiento de la base de datos se vuelve crítico. Alojar la base de datos en un servidor separado (MySQL remoto) puede mejorar la velocidad de carga, la escalabilidad y la seguridad. Esto es especialmente útil si tienes un servidor web compartido o necesitas separar cargas de trabajo. En esta guía, te explicamos paso a paso cómo configurar una base de datos remota en PrestaShop, desde la creación del usuario MySQL hasta la modificación del archivo settings.inc.php.
Requisitos previos
Antes de empezar, asegúrate de tener:
- Acceso al panel de control de tu hosting o servidor (por ejemplo, Syspanel, cPanel, Plesk, o línea de comandos SSH).
- Una base de datos MySQL ya creada en el servidor remoto.
- Conocimiento básico de FTP o acceso al sistema de archivos de tu servidor web.
- PrestaShop instalado (o a punto de instalar) en tu servidor web.
[WARNING] Si estás usando Syspanel (panel de control recomendado), recuerda que el acceso se realiza por el puerto 2106. Por ejemplo:
https://tudominio.com:2106.
Paso 1: Crear la base de datos remota y el usuario MySQL
Lo primero es tener una base de datos en el servidor remoto. Si ya la tienes, omite este paso. De lo contrario, sigue estos pasos:
1.1. Accede a tu panel de control remoto
- Abre tu navegador y ve a la dirección de tu panel. Por ejemplo, si usas Syspanel:
https://tudominio.com:2106. - Inicia sesión con tus credenciales de administrador.
1.2. Crea una nueva base de datos
- Busca la sección "Bases de datos" o "MySQL".
- Haz clic en "Añadir base de datos".
- Asigna un nombre descriptivo, por ejemplo:
tienda_prestashop_remota. - Elige la codificación (recomendada:
utf8_general_cioutf8mb4_general_ci). - Guarda los cambios. Anota el nombre de la base de datos, el usuario y la contraseña que generes.
1.3. Crea un usuario con todos los privilegios
- En la misma sección, busca "Usuarios MySQL" o "Añadir usuario".
- Crea un nuevo usuario (ejemplo:
usuario_remoto). - Asigna una contraseña segura (usa una combinación de letras, números y símbolos).
- Concede todos los privilegios sobre la base de datos que acabas de crear. Esto es necesario para que PrestaShop pueda leer, escribir y modificar datos.
- Guarda los cambios.
[INFO] Si tu panel no permite asignar privilegios directamente, puedes hacerlo desde la línea de comandos MySQL con:
GRANT ALL PRIVILEGES ON tienda_prestashop_remota.* TO 'usuario_remoto'@'%' IDENTIFIED BY 'contraseña';. Luego ejecutaFLUSH PRIVILEGES;.
Paso 2: Configurar el acceso remoto en el servidor de base de datos
Para que PrestaShop pueda conectarse a la base de datos remota, el servidor MySQL debe permitir conexiones desde el exterior.
2.1. Verifica la IP del servidor web
Anota la dirección IP pública del servidor donde está alojado PrestaShop (por ejemplo, 192.168.1.100). La necesitarás para los permisos de acceso.
2.2. Configura el firewall (si es necesario)
- Accede al servidor remoto por SSH o panel.
- Asegúrate de que el puerto 3306 (MySQL) esté abierto para la IP de tu servidor web.
- En Syspanel, puedes ir a "Firewall" y añadir una regla: permitir TCP en puerto 3306 desde la IP de tu servidor web.
[WARNING] No abras el puerto 3306 a todo el mundo (
0.0.0.0). Solo a la IP específica de tu servidor web para evitar accesos no autorizados.
2.3. Modifica el archivo de configuración de MySQL
- Edita el archivo
/etc/mysql/mysql.conf.d/mysqld.cnf(o/etc/my.cnfsegún tu sistema). - Busca la línea
bind-address = 127.0.0.1y cámbiala porbind-address = 0.0.0.0(o la IP pública de tu servidor remoto). - Guarda y reinicia MySQL:
sudo systemctl restart mysql.
[TIP] Si no ves la línea, añádela. Esto permite que MySQL escuche en todas las interfaces de red.
Paso 3: Configurar PrestaShop para usar la base de datos remota
Ahora viene la parte clave: modificar el archivo de configuración de PrestaShop.
3.1. Localiza el archivo settings.inc.php
- Conéctate a tu servidor web por FTP o panel de archivos.
- Navega hasta la carpeta raíz de tu instalación de PrestaShop (normalmente
public_html,wwwoprestashop). - Busca el archivo
config/settings.inc.php. Si no existe, significa que PrestaShop aún no está instalado; entonces lo configurarás durante la instalación.
3.2. Edita el archivo settings.inc.php
- Abre
settings.inc.phpcon un editor de texto (como Notepad++ o el editor del panel). - Busca las siguientes líneas y modifícalas con los datos de tu base de datos remota:
define('_DB_SERVER_', 'IP_DEL_SERVIDOR_REMOTO');
define('_DB_NAME_', 'nombre_base_datos');
define('_DB_USER_', 'usuario_remoto');
define('_DB_PASSWD_', 'contraseña_segura');
define('_DB_PREFIX_', 'ps_'); // o el prefijo que uses
- Reemplaza
IP_DEL_SERVIDOR_REMOTOpor la IP pública del servidor donde está la base de datos (ejemplo:192.168.1.200). - Completa el nombre de la base de datos, usuario y contraseña que creaste en el Paso 1.
- Guarda los cambios.
[WARNING] Asegúrate de que la contraseña no contenga caracteres especiales que puedan romper la sintaxis PHP (como comillas simples). Si es necesario, escápala con una barra invertida.
3.3. Verifica la conexión
- Sube el archivo modificado al servidor (si lo editaste localmente).
- Accede a tu tienda PrestaShop desde el navegador. Si todo está bien, la tienda cargará normalmente.
- Si ves un error de conexión, revisa:
- Que la IP del servidor remoto sea correcta.
- Que el puerto 3306 esté abierto.
- Que el usuario tenga permisos desde la IP del servidor web (no solo desde
localhost).
Paso 4: Instalación de PrestaShop con base de datos remota (si es nueva instalación)
Si aún no has instalado PrestaShop, puedes configurarlo directamente durante el asistente de instalación.
4.1. Inicia la instalación
- Ve a la URL de tu dominio (ejemplo:
tudominio.com/install). - Sigue los pasos hasta la sección "Base de datos".
4.2. Introduce los datos remotos
- En "Servidor de base de datos", escribe la IP del servidor remoto.
- En "Nombre de la base de datos", el nombre que creaste.
- En "Usuario" y "Contraseña", los datos del usuario remoto.
- Deja el prefijo por defecto (
ps_) o cámbialo si lo prefieres. - Haz clic en "Probar conexión". Si es exitosa, continúa con la instalación.
[TIP] Si la prueba falla, verifica que el servidor remoto permita conexiones desde tu IP y que el usuario tenga privilegios.
Solución de problemas comunes (FAQ)
Error: "No se puede conectar a la base de datos"
- Causa: La IP del servidor web no está permitida en el firewall remoto.
- Solución: Añade la IP de tu servidor web a la lista blanca del firewall (puerto 3306).
Error: "Acceso denegado para el usuario"
- Causa: El usuario MySQL no tiene permisos desde la IP del servidor web.
- Solución: Ejecuta en MySQL:
GRANT ALL PRIVILEGES ON tienda_prestashop_remota.* TO 'usuario_remoto'@'IP_DEL_SERVIDOR_WEB' IDENTIFIED BY 'contraseña';y luegoFLUSH PRIVILEGES;.
La tienda carga muy lento
- Causa: Latencia de red entre servidores.
- Solución: Asegúrate de que ambos servidores estén en la misma región o centro de datos. Usa una conexión VPN si es necesario.
No encuentro el archivo settings.inc.php
- Causa: PrestaShop no está instalado o está en una versión diferente.
- Solución: Si es instalación nueva, usa el asistente. Si ya está instalado, busca en
config/settings.inc.php. Si no existe, puede que esté enapp/config/parameters.php(PrestaShop 1.7+). En ese caso, edita ese archivo con los mismos datos.
¿Puedo usar Syspanel para gestionar la base de datos remota?
Sí. Syspanel (puerto 2106) te permite crear bases de datos, usuarios y configurar el firewall de forma gráfica. Es una herramienta amigable para administrar servidores sin línea de comandos.
Consejos finales para optimizar tu base de datos remota
- Monitorea el rendimiento: Usa herramientas como MySQLTuner o phpMyAdmin para ver consultas lentas.
- Haz copias de seguridad periódicas: Programa backups automáticos de la base de datos remota.
- Usa SSL para la conexión: Si tu servidor lo permite, habilita SSL en MySQL para cifrar la comunicación.
- Actualiza PrestaShop y MySQL: Mantén todo actualizado para evitar vulnerabilidades.
Configurar una base de datos remota en PrestaShop no es complicado si sigues estos pasos. Recuerda siempre verificar los permisos de usuario y la configuración del firewall. Si encuentras algún problema, revisa los logs de MySQL (/var/log/mysql/error.log) para más detalles.
[INFO] Para más ayuda, consulta la documentación oficial de PrestaShop o contacta con tu proveedor de hosting. ¡Buena suerte con tu tienda!
