Migrar PrestaShop a un nuevo servidor (Plesk o DirectAdmin)
Antes de empezar: ¿qué significa migrar PrestaShop a un nuevo servidor?
Migrar PrestaShop a un nuevo servidor es, en esencia, copiar todos los archivos de tu tienda online (el código, las imágenes, los módulos, los temas) y, sobre todo, la base de datos, a un hosting diferente. Puede sonar a algo muy técnico, pero te aseguro que con una buena guía, paciencia y siguiendo los pasos en orden, es un proceso que puedes realizar sin necesidad de ser un experto en programación.
La razón más común para querer mover PrestaShop servidor suele ser la necesidad de más recursos, mejor velocidad, o simplemente cambiar a un proveedor de hosting con mejor soporte. También puede ser que tu sitio haya crecido y el plan actual se quede corto. Sea cual sea tu motivo, el objetivo es que tu tienda siga funcionando exactamente igual (o incluso mejor) en su nueva ubicación, sin perder pedidos, clientes ni configuraciones.
Si tienes un panel de control como Plesk o DirectAdmin, el proceso se simplifica mucho, pero aún así requiere que sigas una serie de pasos meticulosos. No te preocupes, estamos aquí para guiarte en cada uno de ellos.
Paso 1: Preparación y planificación (la clave del éxito)
Antes de tocar nada, debes preparar el terreno. Una migración no es simplemente copiar y pegar. Requiere un plan claro para evitar sustos.
Haz una copia de seguridad completa (Backup)
Este es el paso más importante de todo el proceso. Si algo sale mal, tu copia de seguridad es tu red de seguridad. Debes hacer una copia de seguridad de dos cosas por separado:
- Los archivos del sitio: Es decir, la carpeta donde está instalado PrestaShop (normalmente en
public_htmlohttpdocs). Esta carpeta contiene el código, las imágenes, los temas, los módulos, etc. - La base de datos: Es el cerebro de tu tienda. Contiene todos los productos, pedidos, clientes, contraseñas y configuraciones. Se exporta como un archivo
.sql.
¿Cómo hacerlo en Plesk?
- Archivos: Ve a la sección "Administrador de archivos", selecciona la carpeta de tu tienda y usa la opción "Descargar" o "Comprimir" para obtener un archivo ZIP o TAR.GZ.
- Base de datos: Ve a la sección "Bases de datos", selecciona tu base de datos y haz clic en "Exportar" o "Dump". Se descargará un archivo
.sql.
¿Cómo hacerlo en DirectAdmin?
- Archivos: Usa el "Administrador de archivos", selecciona la carpeta de tu dominio y crea un archivo comprimido.
- Base de datos: Ve a "Administrador de bases de datos MySQL", selecciona tu base y pulsa en "Descargar" o "Exportar".
[WARNING]
No empieces la migración sin una copia de seguridad reciente. Mejor aún, haz dos copias: una en tu ordenador y otra en un servicio de almacenamiento en la nube. Es tu garantía ante cualquier imprevisto.
Comprueba los requisitos de PrestaShop en el nuevo servidor
No todos los servidores son iguales. Antes de transferir PrestaShop hosting, asegúrate de que el nuevo servidor cumple con los requisitos mínimos de la versión de PrestaShop que tienes instalada.
- Versión de PHP: PrestaShop necesita una versión específica de PHP (por ejemplo, 7.4, 8.0 o 8.1). Verifica en el panel de control que puedes seleccionar la versión adecuada.
- Versión de MySQL/MariaDB: Asegúrate de que la base de datos del nuevo servidor sea compatible.
- Espacio en disco: Comprueba que tienes suficiente espacio para alojar todos los archivos de tu tienda.
- Extensiones PHP: PrestaShop requiere ciertas extensiones como
curl,gd,mbstring,openssl, entre otras. En Plesk o DirectAdmin, normalmente se pueden activar desde la configuración de PHP.
[INFO]
Si tu tienda es antigua y usas una versión de PrestaShop muy desactualizada (como 1.6), es posible que el nuevo servidor no sea compatible con la versión de PHP que necesitas. En ese caso, considera actualizar PrestaShop antes o después de la migración.
Paso 2: Crear y configurar el nuevo entorno
Ahora que tienes tu copia de seguridad, es hora de preparar el "hogar" de tu tienda en el nuevo servidor.
Crea una base de datos y un usuario (si no existen)
En la mayoría de los casos, el hosting ya viene con una base de datos creada, pero es mejor asegurarse.
En Plesk:
- Ve a la sección "Bases de datos" y haz clic en "Agregar base de datos".
- Dale un nombre a tu base de datos y crea un usuario con su contraseña.
- Asegúrate de otorgarle todos los privilegios (o al menos los de lectura, escritura y modificación) sobre esa base de datos.
En DirectAdmin:
- Ve a "Administrador de bases de datos MySQL".
- Crea una nueva base de datos y un usuario asociado.
- Añade el usuario a la base de datos con todos los privilegios.
Sube los archivos de tu tienda
Ahora es el momento de subir los archivos. No los subas directamente a la raíz (public_html) si ya hay contenido. Es mejor subirlos a una carpeta temporal o directamente si el servidor está vacío.
- Sube el archivo ZIP/TAR.GZ que hiciste con la copia de seguridad a la carpeta
public_html(ohttpdocs) del nuevo servidor. - Descomprime el archivo en esa misma ubicación. En Plesk y DirectAdmin, hay una opción para "Extraer" o "Descomprimir" en el administrador de archivos.
- Asegúrate de que la estructura de carpetas quede correcta. Es decir, si tu tienda estaba en la raíz, los archivos como
index.php,config/,admin/, etc., deben estar directamente enpublic_html.
[TIP]
Si tu archivo es muy grande (más de 500 MB), es recomendable usar un cliente FTP como FileZilla para subir los archivos. Es más rápido y no depende del límite de subida del navegador.
Paso 3: Importar la base de datos
Con los archivos en su lugar, es hora de darle vida a tu tienda importando la base de datos. Este paso es crucial para migrar PrestaShop sin perder información.
Importa el archivo .sql
En Plesk:
- Ve a la sección "Bases de datos" y selecciona la base de datos que creaste.
- Busca la opción "Importar" o "Importar dump".
- Selecciona el archivo
.sqlque descargaste en el paso de la copia de seguridad y haz clic en "Aceptar".
En DirectAdmin:
- Ve a "Administrador de bases de datos MySQL".
- Haz clic en el icono de la base de datos a la que quieres importar.
- Busca la opción "Importar" o "Subir" y selecciona tu archivo
.sql.
[WARNING]
La importación puede tardar unos minutos si la base de datos es grande. No cierres la ventana del navegador ni interrumpas el proceso. Espera a que aparezca un mensaje de éxito.
Verifica que los datos están correctos
Una vez importada, puedes hacer una comprobación rápida. Ve a la sección de "phpMyAdmin" (disponible en Plesk y DirectAdmin) y revisa que las tablas de tu base de datos estén ahí. Deberías ver tablas con nombres como ps_products, ps_orders, ps_customers, etc. Si las ves, la importación ha sido un éxito.
Paso 4: Configurar la conexión a la base de datos
Ahora viene el paso más técnico y delicado. PrestaShop necesita saber cómo conectarse a la nueva base de datos. Esta información se encuentra en el archivo parameters.php, que está en la carpeta app/config/ de tu instalación de PrestaShop.
Editar el archivo parameters.php
- Ve al "Administrador de archivos" en tu nuevo servidor.
- Navega hasta
app/config/y busca el archivoparameters.php. - Haz clic en "Editar" o "Editar en el editor de texto".
- Busca las líneas que empiezan con
'database_host','database_name','database_user'y'database_password'. - Reemplaza los valores con los datos de la nueva base de datos que creaste:
'database_host'-> Normalmente eslocalhosto127.0.0.1.'database_name'-> El nombre de la nueva base de datos.'database_user'-> El nombre del nuevo usuario.'database_password'-> La contraseña del nuevo usuario.
- Guarda los cambios.
[INFO]
Si tu nuevo hosting utiliza un puerto diferente para MySQL, puede que también tengas que modificar el valor de'database_port'. Normalmente es el3306, pero verifícalo con tu proveedor si tienes dudas.
¿Y si no encuentro el archivo? (PrestaShop 1.6 y anteriores)
Si tienes una versión de PrestaShop más antigua (1.6 o anterior), el archivo se llama settings.inc.php y se encuentra en la carpeta config/. Los parámetros a modificar son similares, pero con nombres como _DB_SERVER_, _DB_NAME_, _DB_USER_ y _DB_PASSWD_.
Paso 5: Limpiar caché y actualizar URLs
Después de la migración, es muy común que la tienda no se vea bien o dé errores. Esto se debe a la caché y a URLs que apuntan a la ubicación anterior.
Limpia la caché de PrestaShop
PrestaShop guarda archivos de caché para acelerar la carga. Estos archivos contienen información de la antigua ubicación y pueden causar problemas.
- Conecta a tu servidor por FTP o usa el administrador de archivos.
- Navega a la carpeta
var/cache/(en PrestaShop 1.7 y 1.8) ocache/(en PrestaShop 1.6). - Elimina el contenido de esta carpeta, pero no la carpeta en sí. Si no puedes borrarlos, vacía la carpeta.
[TIP]
También puedes forzar la limpieza de la caché desde el back-office, pero es posible que no puedas acceder a él si la tienda está rota. Por eso es mejor hacerlo manualmente.
Actualiza las URLs en la base de datos (si es necesario)
Si tu dominio no cambia (por ejemplo, si solo cambias de hosting pero mantienes www.mitienda.com), este paso no es necesario. Pero si cambias de dominio, debes actualizar las URLs en la base de datos.
Para ello, puedes usar phpMyAdmin y ejecutar una consulta SQL. Busca en las tablas ps_shop_url y ps_configuration las entradas que contengan tu vieja URL y reemplázalas por la nueva.
Consulta SQL de ejemplo:
UPDATE ps_shop_url SET domain='www.nuevodominio.com', domain_ssl='www.nuevodominio.com' WHERE id_shop_url=1;
[WARNING]
Esta consulta es solo un ejemplo. Debes adaptarla a tu caso. Si no te sientes cómodo haciendo esto, es mejor que busques la ayuda de un profesional o de tu soporte de hosting.
Paso 6: Probar la tienda y solucionar problemas comunes
Llegó el momento de la verdad. Abre tu navegador y visita tu tienda. ¿Qué ves?
Pruebas básicas
- ¿Carga la página principal? Si ves un error de conexión a la base de datos, revisa que los datos en
parameters.phpsean correctos. - ¿Puedes acceder al back-office? Prueba a entrar en
/admin(o la URL que tengas configurada). Si no puedes, puede ser un problema de permisos de archivos o de caché. - ¿Las imágenes se ven correctamente? Si las imágenes están rotas, puede ser un problema con los permisos de las carpetas o con la configuración de las URLs amigables.
- ¿Los módulos funcionan? Ve al back-office y comprueba que no haya errores en el administrador de módulos.
Solución de problemas frecuentes
- Error 500 (Internal Server Error): Esto suele deberse a permisos incorrectos en archivos o carpetas. Asegúrate de que las carpetas tengan permiso
755y los archivos644. - Error de conexión a la base de datos: Revisa el archivo
parameters.phposettings.inc.phpuna vez más. Asegúrate de que no haya espacios en blanco o comillas mal colocadas. - Página en blanco: Limpia la caché de nuevo. Si el problema persiste, revisa los logs de error del servidor (en Plesk o DirectAdmin hay una sección para ello).
- No puedo acceder al back-office: Intenta cambiar el nombre de la carpeta
admin(por ejemplo, aadmin123) en el servidor. Esto puede solucionar problemas de acceso.
[INFO]
Si tu tienda usa URLs amigables (rewrite), es posible que tengas que regenerarlas. Ve a "Parámetros avanzados" -> "URLs" en el back-office y guarda la configuración para que se regeneren.
Paso 7: Configuración final y puesta en marcha
Una vez que la tienda funciona correctamente, hay algunos pasos finales para asegurar que todo esté perfecto.
Configura el envío de correos electrónicos
PrestaShop necesita enviar correos (confirmaciones de pedido, recuperación de contraseñas, etc.). En el nuevo servidor, la configuración SMTP puede ser diferente.
- Ve a "Parámetros avanzados" -> "E-mail" en el back-office.
- Configura los parámetros SMTP de tu nuevo hosting. Normalmente, puedes usar la opción "Usar la función mail() de PHP" si no sabes los datos exactos, pero es más fiable usar SMTP.
Actualiza los servidores DNS (si cambias de hosting)
Si tu dominio estaba apuntando al servidor antiguo, deberás actualizar los servidores DNS (nameservers) para que apunten al nuevo. Esto se hace desde el registrador de dominios donde compraste tu dominio.
[WARNING]
Este paso puede tardar entre 24 y 72 horas en propagarse a nivel mundial. Durante ese tiempo, algunos usuarios verán la tienda en el servidor antiguo y otros en el nuevo. Es un proceso normal.
Revisa los permisos de las carpetas
Asegúrate de que las carpetas var/cache, var/logs, img, download y upload tengan permisos de escritura para el usuario del servidor web. Esto es esencial para que la tienda funcione correctamente.
Preguntas frecuentes (FAQ) sobre migrar PrestaShop
¿Puedo migrar PrestaShop yo mismo sin ser un experto?
Sí, es posible si sigues una guía paso a paso como esta. Sin embargo, requiere tiempo y paciencia. Si no te sientes seguro, siempre puedes contratar el servicio de migración de tu nuevo proveedor de hosting, que lo suelen hacer por ti.
¿Perderé mis pedidos y clientes durante la migración?
No, si haces una copia de seguridad completa de la base de datos y la importas correctamente, no perderás ningún dato. La clave está en no tocar la tienda original hasta que la nueva esté 100% funcional.
¿Qué pasa si mi nueva base de datos tiene un nombre de usuario o contraseña diferentes?
No hay problema. Solo tienes que actualizar el archivo parameters.php con los nuevos datos. Es uno de los pasos más importantes del proceso.
¿Cuánto tiempo tarda la migración?
Depende del tamaño de tu tienda y de la velocidad de tu conexión. Puede tardar desde 30 minutos hasta varias horas. Lo más lento suele ser la subida de los archivos y la importación de la base de datos.
¿Qué hago si la tienda se ve mal después de migrar?
Lo primero es limpiar la caché.
