Cómo restaurar un backup de PrestaShop en un nuevo servidor (cPanel/Plesk)
Antes de empezar: ¿Qué necesitas para restaurar PrestaShop en un servidor nuevo?
Restaurar tu tienda PrestaShop en un servidor nuevo (ya sea con cPanel o Plesk) puede sonar a algo muy técnico, pero te prometo que con esta guía paso a paso lo harás sin problemas. No necesitas ser un experto en programación, solo seguir las instrucciones con calma y tener a mano los datos de tu backup.
Para que la restauración sea un éxito, necesitas tener preparados estos tres elementos:
- El backup de tu base de datos (normalmente un archivo
.sqlo.zip). - Los archivos de tu tienda (la carpeta completa de PrestaShop, que incluye el código, las imágenes, los módulos, etc.). Lo más común es tenerlos en un
.zipo.tar.gz. - Acceso al panel de control de tu nuevo hosting (cPanel o Plesk) y las credenciales de FTP o del administrador de archivos.
[WARNING] No empieces la migración sin tener una copia de seguridad reciente de tu tienda original. Si algo sale mal, necesitarás poder volver atrás. Un backup de hace tres meses no te servirá si has añadido 200 productos desde entonces.
Paso 1: Localiza y prepara tu backup de PrestaShop
Antes de tocar nada en el servidor nuevo, asegúrate de que tu backup es completo. Un backup de PrestaShop "de verdad" tiene dos partes: los archivos y la base de datos.
¿Cómo sé si mi backup es correcto?
- Base de datos: Busca un archivo con extensión
.sql,.sql.gzo.zip. Si usaste el backup de tu hosting anterior (por ejemplo, desde cPanel), suele venir en un.zipque contiene el.sqldentro. - Archivos de la tienda: Busca un
.zipo.tar.gzque contenga carpetas comoadmin,config,img,modules,themes,vary el archivoindex.php. Si no tienes esta carpeta, tu backup está incompleto y la restauración no funcionará.
[TIP] Si tu backup está en un
.zipque contiene tanto la carpeta de archivos como la base de datos, perfecto. Pero si solo tienes un.sql, solo podrás restaurar la base de datos, no los archivos. En ese caso, necesitarás descargar los archivos de tu tienda por FTP desde el servidor antiguo.
Una vez que tengas ambos componentes en tu ordenador (o en una URL accesible), puedes pasar al siguiente paso.
Paso 2: Sube los archivos de PrestaShop al nuevo servidor
Aquí es donde empieza la migración. El objetivo es que la carpeta de tu tienda (la que contiene el index.php) esté en la raíz de tu dominio o en una subcarpeta, según cómo quieras que se vea tu tienda.
Opción A: Usar el Administrador de Archivos de cPanel
- Entra a tu cPanel y busca la sección Archivos > Administrador de archivos.
- Navega hasta
public_html(ohttpdocssi estás en Plesk). Esta es la carpeta raíz de tu web. - Haz clic en Subir y selecciona tu archivo
.zipcon los archivos de PrestaShop. - Una vez subido, haz clic derecho sobre el
.zipy selecciona Extraer. - Si al extraer te crea una subcarpeta (por ejemplo,
prestashop/), tendrás que mover todos los archivos de esa subcarpeta apublic_htmlpara que la tienda quede en la raíz. Selecciona todo (Ctrl+A) y arrastra apublic_html.
Opción B: Usar el Administrador de Archivos de Plesk
En Plesk, el proceso es muy similar:
- Ve a Sitios web y dominios > tu dominio > Administrador de archivos.
- Accede a la carpeta
httpdocs(equivalente apublic_html). - Sube el
.zipy haz clic en Extraer archivos. - Mueve los archivos a la raíz si es necesario.
[WARNING] Si tu tienda va a estar en un subdominio (por ejemplo,
tienda.tudominio.com), la carpeta de destino será la raíz de ese subdominio, no la depublic_html. No la pongas en la raíz principal o tendrás problemas de rutas.
Paso 3: Crea una base de datos nueva y un usuario en tu hosting
PrestaShop guarda toda la información (productos, pedidos, clientes) en una base de datos MySQL. Ahora toca crear una nueva base de datos en el servidor destino e importar la que tienes en tu backup.
En cPanel:
- Ve a Bases de datos > Bases de datos MySQL.
- Escribe un nombre para tu base de datos (por ejemplo,
tienda_presta) y haz clic en Crear base de datos. - Ve a Usuarios MySQL y crea un usuario nuevo (por ejemplo,
admin_tienda) con una contraseña segura. - Ahora, en Añadir usuario a la base de datos, selecciona tu base de datos y tu usuario, y asígnale TODOS LOS PRIVILEGIOS.
En Plesk:
- Ve a Sitios web y dominios > tu dominio > Bases de datos.
- Haz clic en Añadir base de datos, ponle un nombre y elige MySQL como tipo.
- Crea un usuario para esa base de datos y recuerda la contraseña.
[INFO] Guarda bien estos datos: nombre de la base de datos, nombre de usuario y contraseña. Los necesitarás en el Paso 6 para configurar el archivo
parameters.php.
Paso 4: Importa tu backup de la base de datos (el archivo .sql)
Ahora viene la parte más delicada: importar los datos. Tienes dos formas de hacerlo, pero la más fiable es siempre desde el panel de control.
Método 1: Importar desde phpMyAdmin (cPanel y Plesk)
- En cPanel, busca phpMyAdmin dentro de Bases de datos. En Plesk, suele estar en Bases de datos > clic en el nombre de la base de datos > phpMyAdmin.
- Selecciona la base de datos que acabas de crear en el panel izquierdo.
- Ve a la pestaña Importar.
- Haz clic en Elegir archivo y selecciona tu archivo
.sql(si estaba comprimido, puedes subir el.zipo.gzdirectamente, phpMyAdmin lo descomprime solo). - Haz clic en Continuar y espera. Si el archivo es muy grande (más de 50 MB), puede que necesites aumentar el límite de subida, pero en la mayoría de los casos funcionará.
Método 2: Importar desde la terminal (si tienes acceso SSH)
Si tu hosting te da acceso SSH y el backup es gigante, puedes usar este comando:
mysql -u tu_usuario -p tu_base_de_datos < backup.sql
Te pedirá la contraseña y listo. Es más rápido, pero requiere conocimientos básicos de terminal.
[WARNING] Si al importar te da un error de "SQL syntax" o "Unknown database", revisa que has seleccionado la base de datos correcta en phpMyAdmin antes de importar. También asegúrate de que el archivo
.sqlno esté truncado o corrupto.
Paso 5: Configura el archivo parameters.php con los datos de la nueva base de datos
PrestaShop guarda la configuración de conexión a la base de datos en un archivo llamado parameters.php. Sin editarlo, tu tienda no sabrá a qué base de datos conectarse.
¿Dónde está el archivo?
Dentro de la carpeta de tu PrestaShop, busca la ruta app/config/parameters.php.
¿Cómo editarlo?
- Abre el archivo con un editor de texto (como Notepad++ o el editor del Administrador de archivos de tu hosting).
- Busca las líneas que dicen
'database_host','database_name','database_user'y'database_password'. - Sustituye los valores antiguos por los de tu nueva base de datos:
'database_host' => 'localhost',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
[TIP] En la mayoría de los hostings, el host es
localhost. Si tu hosting usa un host remoto (te lo indicarán en el panel), cámbialo por el que te den.
Paso 6: Ajusta las URLs de tu tienda en la base de datos
Este es el paso que más se olvida y que causa el famoso error de "página no encontrada" o "redirección en bucle". Tu backup tiene las URLs de tu servidor antiguo, y ahora debes cambiarlas a las del nuevo.
¿Cómo cambiar las URLs?
- Ve a phpMyAdmin y selecciona tu base de datos.
- Busca la tabla
ps_shop_url(el prefijo puede variar si lo cambiaste, pero el estándar esps_). - Haz clic en Editar (el lápiz) y cambia los campos:
domain: pon tu nuevo dominio (sinhttp://).domain_ssl: lo mismo, pero para la versión segura.physical_uri: normalmente es/, a menos que hayas instalado PrestaShop en una subcarpeta.
Por ejemplo, si antes era miviejatienda.com y ahora es nuevatienda.com, cambia ambos campos.
[INFO] Si no encuentras la tabla
ps_shop_url, puedes ejecutar esta consulta SQL en la pestaña SQL de phpMyAdmin:
UPDATE ps_shop_url SET domain = 'nuevatienda.com', domain_ssl = 'nuevatienda.com';
Paso 7: Limpia la caché de PrestaShop
Después de mover archivos y cambiar la base de datos, PrestaShop tendrá una caché guardada que puede mostrar errores. Hay que borrarla.
Método manual (el más rápido):
- Conéctate por FTP o al Administrador de archivos.
- Borra el contenido de las carpetas
var/cache/prod/yvar/cache/dev/(si existen). No borres las carpetas en sí, solo su contenido.
Método desde el panel de administración:
Si tu tienda carga, entra a /admin (o la URL que tengas) y ve a Parámetros avanzados > Rendimiento > Vaciar la caché. Pero si no carga, hazlo manualmente.
Paso 8: Verifica que todo funciona y corrige permisos
Ya casi está. Ahora toca comprobar que tu tienda responde.
Prueba rápida:
- Abre tu dominio en el navegador. Deberías ver tu tienda sin errores.
- Entra al panel de administración (
tudominio.com/admin). Si te pide usuario y contraseña, usa las mismas credenciales que tenías antes.
Permisos de archivos:
En cPanel, selecciona todos los archivos de public_html, haz clic derecho y elige Cambiar permisos. Pon 755 para carpetas y 644 para archivos. En Plesk, puedes hacerlo desde el Administrador de archivos o con un cliente FTP como FileZilla.
[WARNING] Si ves un error de "500 Internal Server Error", es casi seguro un problema de permisos en los archivos o en la carpeta
var. Revisa que los permisos sean los correctos (755/644) y que el archivo.htaccessno esté corrupto. Puedes regenerarlo yendo a Parámetros avanzados > SEO y URLs y guardando la configuración.
Preguntas frecuentes (FAQ) sobre restaurar PrestaShop en un servidor nuevo
¿Puedo restaurar un backup de PrestaShop de un hosting a otro con versiones diferentes de PHP?
Sí, pero es importante que la versión de PHP del nuevo servidor sea compatible con la versión de PrestaShop que tienes. Por ejemplo, PrestaShop 1.7 necesita PHP 7.1 o superior. Si tu backup es de una versión antigua y el servidor tiene PHP 8.2, puede haber errores. Consulta la documentación de tu versión de PrestaShop.
¿Qué hago si mi backup de la base de datos es demasiado grande para subirlo por phpMyAdmin?
Si el archivo supera los 100 MB, te recomiendo usar la opción de importación por SSH o dividir el backup en partes más pequeñas. También puedes usar herramientas como BigDump, pero es más complejo. Otra opción es pedir a tu hosting que lo importe por ti; muchos lo hacen gratis.
¿Necesito cambiar algo en el archivo .htaccess?
Normalmente, no. PrestaShop regenera el .htaccess automáticamente cuando entras al panel de administración y guardas la configuración de URLs amigables. Si tu tienda no carga bien, ve a Parámetros avanzados > SEO y URLs y guarda de nuevo para regenerarlo.
¿Qué es Syspanel y cómo me ayuda en esta migración?
Syspanel (antes conocido como HestiaCP) es un panel de control de hosting que puedes encontrar en algunos servidores. Si tu nuevo hosting usa Syspanel, el acceso se realiza a través del puerto 2106 (por ejemplo, http://tudominio.com:2106). El proceso de restauración es muy similar al de cPanel: tendrás un administrador de archivos, un gestor de bases de datos (phpMyAdmin) y opciones de FTP. Solo cambian los nombres de las secciones, pero la lógica es la misma.
¿Puedo migrar PrestaShop a un servidor con Plesk si mi backup venía de cPanel?
Por supuesto. La migración es agnóstica al panel de control. Lo único que importa es que tengas acceso a los archivos y a la base de datos. Sigue los pasos de esta guía usando las herramientas equivalentes de Plesk (Administrador de archivos y phpMyAdmin).
Conclusión: Tu tienda ya está en el nuevo servidor
Restaurar un backup de PrestaShop en un servidor nuevo con cPanel o Plesk es un proceso que, siguiendo estos pasos, puedes hacer en menos de una hora. La clave está en no saltarte ninguno: subir archivos, crear e importar la base de datos, configurar parameters.php, cambiar las URLs y limpiar la caché.
Si algo falla, no te desesperes. Revisa los errores en el orden de esta guía: primero los archivos, luego la base de datos, después la configuración y por último los permisos. El 90% de los problemas se solucionan revisando esos cuatro puntos.
[TIP] Después de la migración, activa el modo mantenimiento de PrestaShop mientras haces las pruebas, y desactívalo cuando todo esté funcionando. Así evitarás que los clientes vean errores a mitad de proceso.
Y recuerda: si tu hosting usa Syspanel, el acceso es por el puerto 2106, pero el procedimiento es el mismo que te he explicado. ¡Buena suerte con tu migración!
