PS PrestaShop Intermedio

Migrar una tienda PrestaShop con DataFirefly Server Migration

Comprueba la tienda, genera el paquete, envíalo al nuevo servidor, restáuralo con el instalador autónomo y ponla en marcha con la lista de comprobación.

Actualizado Versión del módulo 2.0.1

Presentación

DataFirefly Server Migration traslada una tienda PrestaShop completa, archivos y base de datos, a un nuevo servidor, un nuevo dominio o una subcarpeta. El back office te guía en cinco pasos: Comprobaciones, Paquete, Transferencia, Restauración y Puesta en marcha. En el nuevo servidor, un instalador autónomo restaura la tienda y reescribe todo lo que depende del servidor antiguo.

Tu tienda actual solo se lee: los archivos se abren en modo de solo lectura y la base de datos se exporta con consultas de lectura. El módulo solo escribe en su propia carpeta de almacenamiento.

El módulo funciona con PrestaShop 1.7.8 a 9.x y PHP 7.1 a 8.5. El back office y el instalador están traducidos al inglés, francés, español, alemán, italiano, polaco, neerlandés y portugués.

Instalación

  1. En Módulos > Gestor de módulos, haz clic en Subir un módulo y suelta el archivo dfservermigration-2.0.1.zip.
  2. Abre Parámetros Avanzados > Migración de servidor.

Solo los superadministradores pueden usar el módulo: un paquete contiene toda la base de datos de la tienda.

Paso 1: comprobaciones

El primer paso analiza la tienda y el servidor. Los cuatro bloques de la parte superior muestran los archivos que copiar, la base de datos, el paquete estimado (comprimido, y en el peor caso sin compresión) y el espacio libre en disco. Un aviso resume el resultado: todo listo, puntos que vigilar o puntos bloqueantes.

Comprobaciones previas de la migración PrestaShop: archivos, base de datos, paquete estimado y espacio en disco
Comprobaciones previas y análisis de tamaño.

Comprobaciones previas

  • Versión y extensiones de PHP: pdo_mysql es obligatoria; zlib, cURL y OpenSSL son recomendables (compresión, transferencia directa, cifrado de la contraseña HTTP).
  • max_execution_time y memory_limit: el trabajo se divide en pasos de unos pocos segundos, así que cualquier límite de tiempo sirve.
  • upload_max_filesize / post_max_size: no limitan nada en esta tienda. En el nuevo servidor, el instalador adapta el tamaño de los fragmentos de transferencia a sus propios límites.
  • Almacenamiento de paquetes: fuera de la raíz web cuando el hosting lo permite. Si no, en una carpeta aleatoria con reglas de denegación, y tu navegador comprueba que no se pueda descargar un paquete desde la web.
  • Espacio libre en disco: se compara con el paquete estimado. Si tu hosting desactiva disk_free_space(), verás un aviso en lugar de la medida: comprueba el espacio en el panel de tu hosting.
  • Servidor de base de datos: versión y max_allowed_packet.

Análisis de tamaño

Las carpetas y tablas más pesadas aparecen en una lista con un botón Excluir. Si se encuentra otra instalación de PrestaShop en una subcarpeta (una copia de pruebas, una tienda antigua), un mensaje te propone excluirla.

Paso 2: el paquete

Qué incluir

  • Archivos + base de datos: la migración completa.
  • Solo base de datos: la sincronización final de pedidos y clientes justo antes del cambio.
  • Solo archivos: temas, imágenes, módulos.

Las cachés, los registros, las copias de seguridad de 1-Click Upgrade y las carpetas Git se excluyen por defecto. También puedes excluir las miniaturas generadas (regenéralas después en Diseño > Ajustes de imágenes), añadir tus propios patrones (uno por línea, * dentro de una carpeta, ** a través de varias carpetas) y omitir los archivos que superen un tamaño determinado. La opción Base de datos ligera exporta las estadísticas de visitantes y los registros como tablas vacías.

Enlaces simbólicos: los enlaces que apuntan dentro de la tienda se recrean como enlaces. Los enlaces que apuntan fuera de la tienda, por ejemplo una carpeta uploads guardada en otro lugar, se copian como carpetas reales: el nuevo servidor no tiene su destino. Los enlaces rotos, los bucles y las carpetas del sistema se excluyen y se enumeran en el informe. Puedes desactivarlo con la opción Copiar el contenido de los enlaces simbólicos que apuntan fuera de la tienda.

Opciones del paquete de migración: archivos y base, solo base o solo archivos, exclusiones y compresión
Opciones del paquete y estimación.

Generar el paquete

Haz clic en Crear el paquete. El panel muestra las etapas (análisis, exportación de la base de datos, empaquetado, verificación), los contadores, la velocidad, el tiempo restante y el registro. Puedes salir de la página: la generación se reanuda donde se quedó cuando vuelvas. Puedes descargar el registro en cualquier momento.

Exportación de la tienda en curso con etapas, contador de archivos, tamaño del paquete y registro en directo
Generación en curso.

Al terminar, el paquete se verifica y aparece en la lista con su contenido, su tamaño, el espacio que necesita en el nuevo servidor y su fecha de eliminación automática (3 días por defecto, se ajusta en los ajustes avanzados).

Paquete de migración verificado, listo para enviar o descargar, con su contenido y fecha de eliminación
Paquete listo.

Espacio en disco

Antes de empezar, el módulo compara el espacio libre con el paquete estimado. Si no cabe, se rechaza el inicio y se muestran las cifras y la solución. Aun así, puedes empezar igualmente: la generación está protegida.

Control del espacio en disco antes de exportar: el paquete estimado supera el espacio libre
No hay espacio suficiente para el paquete estimado.

Durante la generación, el módulo mantiene al menos 128 MB libres para que la tienda en producción siga funcionando. Si falta espacio, la generación se pausa e indica cuánto espacio falta todavía y qué hacer. Libera espacio o excluye carpetas y haz clic en Reintentar: la generación se reanuda donde se detuvo. Eliminar los archivos parciales la cancela de forma limpia.

Exportación pausada de forma segura cuando el disco se llena, con la solución y un botón Reintentar
Generación en pausa antes de que se llene el disco.

Paso 3: transferencia

Sube el instalador al nuevo servidor

Descarga dfsm-installer.php y súbelo a la carpeta que alojará la tienda (normalmente public_html o www). El nuevo servidor necesita PHP y una base de datos vacía, no PrestaShop. Cada instalador es válido durante 3 días por defecto y está protegido por la clave de migración que aparece junto al botón.

Transferencia directa (recomendada)

  1. Introduce la dirección del instalador en el nuevo servidor. Antes del cambio de DNS, usa la dirección temporal que te facilita el nuevo hosting.
  2. Haz clic en Probar la conexión: el módulo comprueba la versión del instalador, la versión de PHP para tu versión de PrestaShop, el espacio libre para este paquete y los permisos de escritura.
  3. Elige el paquete y haz clic en Enviar al nuevo servidor.

El paquete viaja en fragmentos firmados con HMAC-SHA256. Una transferencia interrumpida se reanuda desde el último byte confirmado, y Detener elimina el archivo parcial del nuevo servidor. Si la carpeta está protegida o el servidor no tiene un certificado válido, abre Autenticación HTTP y SSL.

Transferencia directa de servidor a servidor con comprobación de compatibilidad del nuevo servidor
Comprobaciones de compatibilidad y transferencia completada.

Descarga y subida por FTP

Descarga el paquete desde la lista y súbelo junto a dfsm-installer.php en modo binario. El instalador lo encuentra por sí solo y rechaza cualquier archivo truncado.

Paso 4: restauración con el instalador

  1. Abre dfsm-installer.php en tu navegador, elige tu idioma e introduce la clave de migración.
  2. Elige el paquete recibido o subido.
  3. Revisa el nuevo servidor: PHP comparado con las versiones compatibles con tu versión de PrestaShop, extensiones, espacio libre comparado con el paquete, permisos de escritura, límites y sitio ya existente en la carpeta.
  4. Introduce la nueva base de datos y prueba la conexión. El instalador compara el servidor con el de origen, comprueba max_allowed_packet y cuenta las tablas que ya usan el prefijo.
  5. Revisa los dominios: una línea por cada URL de tienda con el nuevo dominio, el nuevo dominio SSL y la carpeta base. También puedes cambiar el prefijo de las tablas.
  6. Haz clic en Iniciar la restauración.
Instalador autónomo en el nuevo servidor: comprobaciones, base de datos y nuevo dominio
Comprobaciones, base de datos y dominios en el instalador.

La restauración extrae los archivos, recrea los enlaces simbólicos de PrestaShop 9, importa la base de datos, actualiza ps_shop_url y los ajustes de dominio de cada tienda, sustituye las URLs antiguas en todas las tablas (incluidos los datos serializados, sin tocar las direcciones de e-mail), escribe app/config/parameters.php, deja que PrestaShop regenere el .htaccess y vacía las cachés. Mantén la página abierta; si se cierra, vuelve a abrir el instalador y la restauración se reanuda.

Restauración de la tienda en curso en el nuevo servidor: extracción, importación de la base y URL
Restauración en curso.

Después de la restauración

La última pantalla muestra las cifras de la restauración, las comprobaciones automáticas (conexión a la base de datos, URL principal de la tienda, .htaccess, carpeta del back office, carpetas con permisos de escritura, página de inicio) y una lista de comprobación de puesta en marcha. El paquete y la contraseña de la base de datos ya se han eliminado del servidor. Haz clic en Eliminar el instalador ahora cuando hayas revisado la tienda; si no, se eliminará solo 24 horas después.

Migración completada: comprobaciones automáticas de la nueva tienda, lista de comprobación y limpieza
Migración completada.

Paso 5: puesta en marcha

La lista de comprobación del back office te ayuda a seguir las últimas tareas: probar la nueva tienda, congelar la antigua y sincronizar los últimos datos con un paquete de solo base de datos, DNS, certificado SSL, tareas cron, e-mails, caché, webhooks de pago, SEO y limpieza.

Lista de comprobación tras la migración: DNS, SSL, tareas cron, emails, caché y pagos
Lista de comprobación de puesta en marcha.

Para no perder ningún pedido: prueba la nueva tienda, activa el mantenimiento en la antigua, crea un paquete Solo base de datos y restáuralo con un nuevo instalador. Los accesos a la base de datos de la tienda ya restaurada aparecen rellenados; deja la contraseña vacía para conservarla.

Seguridad

  • Los paquetes se guardan fuera de la raíz web siempre que sea posible y se eliminan automáticamente al terminar el periodo de conservación.
  • La contraseña HTTP del nuevo servidor se guarda cifrada en la configuración.
  • El instalador exige la clave de migración, rechaza las peticiones sin firmar, sella la contraseña de la base de datos y la borra al final, y después se elimina solo 24 horas tras la restauración o al caducar.
  • Nueva clave, en el paso 3, invalida todos los instaladores descargados antes.

Solución de problemas

Los paquetes SÍ se pueden descargar desde la web

Tu servidor ignora el .htaccess (Nginx). Añade una regla que deniegue el acceso a /modules/dfservermigration/var/ antes de crear un paquete.

El nuevo servidor rechaza la conexión o pide usuario y contraseña

Comprueba la dirección del instalador (http o https, www). Para un HTTP 401, rellena los campos de autenticación HTTP. Para un HTTP 413, reduce el tamaño del fragmento de transferencia en los ajustes avanzados.

El instalador ha rechazado la clave de migración

Se ha generado una nueva clave después de descargar el instalador, o los relojes de los dos servidores difieren en más de 15 minutos. Vuelve a descargar el instalador.

Error SQL durante la importación

El instalador muestra la tabla y el detalle del error. Si se trata de max_allowed_packet, pide a tu hosting que lo suba a 16 MB o más y haz clic en Reintentar: la tabla en curso se vuelve a importar.

No se ha podido regenerar el .htaccess

El dominio se ha actualizado en él de todos modos. Guarda una vez Parámetros de la tienda > Tráfico & SEO en el nuevo back office.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte