PrestaShop: Cómo migrar a un nuevo servidor paso a paso
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a embarcarnos en una aventura muy común pero que puede parecer compleja: migrar tu tienda PrestaShop a un nuevo servidor. No te preocupes, lo haremos paso a paso, como si estuviéramos cocinando una receta. Al final, tendrás tu tienda funcionando en su nueva casa, más rápida y feliz.
Esta guía está pensada para que cualquier persona, incluso sin ser un experto en SysAdmin, pueda realizarla con éxito. Usaremos herramientas de Linux y comandos básicos. ¡Vamos allá!
Antes de empezar: Prepara tu equipaje
Antes de mover los muebles de tu tienda, necesitas tener claro qué llevas y a dónde vas. Esto te ahorrará muchos dolores de cabeza.
¿Qué necesitas para migrar PrestaShop a un nuevo servidor?
Imagina que tu tienda PrestaShop es una casa. Para mudarte, necesitas:
- Los archivos: Son todos los muebles, cuadros y objetos (el código de PrestaShop, temas, módulos, imágenes, etc.).
- La base de datos: Es el inventario de tu casa (productos, clientes, pedidos, configuraciones).
Para la mudanza, necesitarás:
- Acceso al servidor antiguo: Por FTP (FileZilla, por ejemplo) o por SSH (línea de comandos). Necesitarás usuario y contraseña.
- Acceso al servidor nuevo: Lo mismo, por FTP o SSH. Asegúrate de tener creado un usuario con permisos para gestionar archivos y bases de datos.
- Datos de acceso a la base de datos antigua: El nombre de la base de datos, el usuario y la contraseña. Normalmente los encuentras en el archivo
app/config/parameters.phpde tu PrestaShop. - Un panel de control en el servidor nuevo: Como Syspanel (antes conocido como HestiaCP, accesible por el puerto 2106), cPanel, o similar. Aquí crearás la nueva base de datos y el usuario FTP.
- Paciencia y una buena conexión a internet.
[INFO] Si no tienes acceso SSH, no pasa nada. Puedes usar FTP para todo, pero SSH es mucho más rápido y fiable para archivos grandes. Te recomiendo que, si puedes, pidas a tu hosting que te lo active.
Haciendo una copia de seguridad (¡el paso más importante!)
Nunca, bajo ningún concepto, empieces una migración sin tener una copia de seguridad. Es como asegurar tu casa antes de una mudanza.
Paso 1: Exportar la base de datos desde el servidor antiguo.
Conéctate por SSH a tu servidor antiguo. Una vez dentro, ejecuta este comando (cambiando usuario_bd, nombre_bd y contraseña_bd por los tuyos):
mysqldump -u usuario_bd -p nombre_bd > backup_prestashop.sql
Te pedirá la contraseña. Este comando creará un archivo llamado backup_prestashop.sql en la carpeta donde estés.
[TIP] Si tu base de datos es muy grande (varios GB), el comando puede tardar. Ten paciencia. Una vez terminado, verifica que el archivo se ha creado.
Paso 2: Comprimir los archivos de tu tienda.
Sigue en la SSH. Ahora ve a la carpeta raíz de tu PrestaShop (normalmente /var/www/html o /home/usuario/web/dominio/public_html). Luego, comprime todo en un solo archivo:
tar -czvf backup_prestashop.tar.gz .
El punto (.) al final significa "todo lo que hay aquí". Esto creará backup_prestashop.tar.gz. Si no tienes SSH, puedes hacerlo desde FTP: selecciona todos los archivos y carpetas, y comprímelos con tu gestor de archivos (cPanel o Syspanel) o con un programa como 7-Zip en tu ordenador.
[WARNING] No uses FTP para descargar la carpeta entera si tienes muchos archivos (miles de imágenes). Es muy lento y puede fallar. La compresión y descarga por SSH es mucho más estable.
La mudanza: Moviendo los archivos a PrestaShop nuevo servidor
Ya tienes tu equipaje listo. Ahora toca llevarlo a la nueva casa.
Paso 3: Subir los archivos al nuevo servidor
Conéctate por SSH al nuevo servidor. Ve a la carpeta donde quieres instalar tu tienda (por ejemplo, /home/tuusuario/web/tudominio/public_html).
Opción A (Recomendada - desde SSH):
Si tienes acceso SSH en ambos servidores, puedes transferir el archivo directamente sin descargarlo a tu PC. Desde el nuevo servidor, ejecuta:
scp usuario_antiguo@ip_servidor_antiguo:/ruta/completa/backup_prestashop.tar.gz .
Te pedirá la contraseña del usuario antiguo. Esto descargará el archivo directamente al nuevo servidor.
Opción B (Usando FTP):
- Descarga el archivo
backup_prestashop.tar.gzdesde el servidor antiguo a tu PC. - Conéctate por FTP al nuevo servidor.
- Sube el archivo a la carpeta
public_html(o la que corresponda).
Paso 4: Descomprimir los archivos en el nuevo servidor
Una vez que el archivo .tar.gz esté en la carpeta correcta del nuevo servidor, descomprímelo:
tar -xzvf backup_prestashop.tar.gz
Esto creará toda la estructura de carpetas y archivos de tu tienda.
[INFO] Si subiste un archivo
.zip, usaunzip backup_prestashop.zip. Si usaste FTP y subiste todo sin comprimir, simplemente ya estarían los archivos en su lugar.
Preparando la nueva base de datos para tu SysAdmin PrestaShop
Ahora necesitamos que el "inventario" (la base de datos) esté listo en la nueva casa.
Paso 5: Crear la base de datos en el nuevo servidor
Accede a tu panel de control (por ejemplo, Syspanel en el puerto 2106: https://tudominio.com:2106). Busca la sección de "Base de Datos" o "MySQL".
- Crea una nueva base de datos. Ponle un nombre, por ejemplo,
presta_nueva. - Crea un usuario para esa base de datos, por ejemplo,
usuario_presta. - Asígnale una contraseña segura.
- Vincula ese usuario a la base de datos, dándole todos los privilegios.
Anota estos tres datos: nombre de la BD, usuario y contraseña. Los necesitarás en el siguiente paso.
Paso 6: Importar la base de datos antigua a la nueva
Conéctate por SSH al nuevo servidor. Ahora vamos a importar el archivo .sql que creaste en el paso 1.
mysql -u usuario_presta -p presta_nueva < backup_prestashop.sql
Te pedirá la contraseña del usuario usuario_presta. Si todo va bien, no verás ningún mensaje de error. La base de datos se habrá importado.
[TIP] Si tu archivo SQL es muy grande, puedes usar el comando
pv backup_prestashop.sql | mysql -u usuario -p nombre_bdpara ver el progreso. Necesitarás tener instaladopv(puedes instalarlo consudo apt install pven Ubuntu/Debian).
El último empujón: Configurar la conexión y probar
Tu tienda ya está en el nuevo servidor, pero aún no sabe cómo conectarse a su nueva base de datos. Hay que decirle las nuevas credenciales.
Paso 7: Modificar el archivo de configuración de PrestaShop
El archivo mágico es app/config/parameters.php. Edítalo con un editor de texto (nano, vim, o desde el panel de archivos de Syspanel).
nano app/config/parameters.php
Busca estas líneas y cámbialas por los datos que anotaste en el paso 5:
'database_host' => 'localhost', // Normalmente siempre es localhost
'database_name' => 'presta_nueva', // El nombre que le pusiste
'database_user' => 'usuario_presta', // El usuario que creaste
'database_password' => 'contraseña_segura', // La contraseña que asignaste
Guarda los cambios (Ctrl+O, Enter) y sal del editor (Ctrl+X).
Paso 8: Probar la tienda
¡Llegó el momento de la verdad! Abre tu navegador y escribe la URL de tu tienda. Si todo ha ido bien, ¡verás tu tienda exactamente como la dejaste!
Si ves un error, no te asustes. Aquí tienes una pequeña lista de verificación:
- Error de conexión a la base de datos: Revisa los datos en
parameters.php. ¿Está bien el nombre, usuario y contraseña? ¿El host eslocalhost? - Página en blanco: Puede ser un error de permisos. Asegúrate de que la carpeta
var/cachey sus subcarpetas tengan permisos de escritura. Ejecuta desde SSH:
O desde FTP, cambia los permisos de la carpetachmod -R 755 var/cachecachea 755. - Enlaces rotos o imágenes que no cargan: Especialmente si cambiaste de dominio. Deberás regenerar el archivo
.htaccessdesde el panel de administración de PrestaShop (Parámetros de la tienda > Tráfico y SEO > URL, y guarda sin cambiar nada). También puede que necesites limpiar la caché de PrestaShop.
[WARNING] Si cambiaste de dominio (por ejemplo, de
tiendavieja.comatiendanueva.com), la migración es un poco más compleja. Necesitarás cambiar la URL en la base de datos. Es un paso extra que no hemos cubierto aquí, pero que puedes buscar como "cambiar dominio en PrestaShop desde phpMyAdmin".
Preguntas Frecuentes (FAQ) sobre migrar PrestaShop
1. ¿Puedo migrar PrestaShop sin SSH?
Sí, completamente. Usa FTP para descargar y subir los archivos, y phpMyAdmin (desde el panel de control como Syspanel) para exportar e importar la base de datos. El proceso es el mismo, solo que manual.
2. Mi tienda es muy grande, ¿cuánto tiempo tarda la migración?
Depende del tamaño de los archivos y de la velocidad de tu conexión y la del servidor. Una tienda de 2GB puede tardar entre 30 minutos y 2 horas. Una de 20GB puede llevar varias horas. La paciencia es clave.
3. ¿Qué hago si después de migrar veo un error 500?
Es un error genérico del servidor. Lo primero es mirar los logs de error de PHP. Normalmente están en /var/log/apache2/error.log o /var/log/nginx/error.log. También puedes activar la visualización de errores en PrestaShop editando el archivo config/defines.inc.php y cambiando _PS_MODE_DEV_ a true. Te mostrará el error exacto.
4. ¿Necesito cambiar los permisos de las carpetas después de migrar?
Sí, es muy recomendable. En la mayoría de servidores, las carpetas deben tener permisos 755 y los archivos 644. Puedes hacerlo desde SSH:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
5. ¿Puedo migrar mi tienda a un servidor con Syspanel (HestiaCP)?
¡Por supuesto! Syspanel es una excelente opción. Recuerda que el acceso es por el puerto 2106. El proceso es exactamente el mismo que hemos descrito. Solo asegúrate de crear el usuario y la base de datos desde el panel, y luego seguir los pasos.
6. ¿Y si algo sale mal? ¿Puedo volver atrás?
¡Sí! Por eso hicimos la copia de seguridad. Si ves que la tienda no funciona correctamente, simplemente restaura la copia de seguridad en el servidor antiguo y desactiva la DNS del nuevo. No hay prisa, puedes intentarlo de nuevo.
Conclusión: ¡Tu tienda ya está en su nueva casa!
Migrar PrestaShop a un nuevo servidor puede parecer un proceso técnico, pero siguiendo estos pasos de forma ordenada, es una tarea que cualquier persona puede realizar con éxito. Recuerda siempre:
- Haz una copia de seguridad.
- Prepara el nuevo servidor (base de datos y carpeta).
- Transfiere los archivos y la base de datos.
- Configura la conexión en
parameters.php. - Prueba y soluciona pequeños errores.
Si en algún momento te sientes perdido, no dudes en contactar con el soporte técnico de tu hosting. ¡Estamos aquí para ayudarte! Ahora, disfruta de tu tienda más rápida y con más recursos. ¡Enhorabuena!
