Cómo mover PrestaShop de un hosting a otro (DirectAdmin a cPanel)
¿Tienes tu tienda PrestaShop en un hosting con DirectAdmin y quieres pasarla a uno con cPanel? Es una operación que da un poco de respeto, pero te adelanto algo: no es tan complicada como parece. Si sigues esta guía paso a paso, podrás migrar PrestaShop hosting sin perder datos, sin romper la tienda y, sobre todo, sin volverte loco en el intento.
Vamos a hacerlo de forma segura y metódica. Olvídate de los tecnicismos complejos; aquí te lo explico como si estuviéramos tomando un café. El objetivo es que al final del proceso, tu tienda funcione exactamente igual (o mejor) en el nuevo servidor.
Antes de Empezar: Prepara el Terreno
Antes de tocar nada, necesitas tener claro qué necesitas y de dónde partes. Mover PrestaShop DirectAdmin a cPanel implica transferir tres cosas fundamentales: los archivos de la tienda, la base de datos y la configuración del servidor (como los certificados SSL y las cuentas de correo).
1. Reúne tus Herramientas y Accesos
Esto es como hacer la maleta para un viaje: si no llevas lo esencial, tendrás que volver a mitad de camino.
Necesitarás tener a mano:
- Acceso FTP o al Administrador de Archivos del hosting antiguo (DirectAdmin).
- Acceso a phpMyAdmin del hosting antiguo.
- Acceso FTP o al Administrador de Archivos del hosting nuevo (cPanel).
- Acceso a phpMyAdmin del hosting nuevo.
- Los datos de acceso a tu Panel de Control de ambos hostings, claro.
2. Haz una Copia de Seguridad Completa (¡Sí o Sí!)
Este es el paso más importante de toda la guía. No, no es negociable. Antes de cambiar servidor PrestaShop, debes tener una copia de seguridad local en tu ordenador. Si algo sale mal, podrás restaurar todo sin despeinarte.
Para ello:
- Ve a tu Panel de Control de DirectAdmin.
- Busca la sección de Gestión de Archivos o Backups.
- Crea un backup completo de la carpeta donde está tu tienda (normalmente
public_html). - También necesitas exportar la base de datos. Entra en phpMyAdmin, selecciona tu base de datos de PrestaShop y haz clic en "Exportar". Elige el método "Rápido" y formato SQL.
Guarda estos dos archivos (el ZIP de archivos y el SQL de la base de datos) en tu escritorio. Son tu red de seguridad.
Paso 1: Prepara el Nuevo Hosting (cPanel)
Ahora vamos a trabajar en el destino. Lo primero es crear el "hogar" para tu tienda en el nuevo servidor.
1. Crea la Base de Datos y el Usuario
En cPanel, busca la sección "Bases de Datos MySQL".
- Crea una nueva base de datos. El nombre suele llevar un prefijo con tu usuario de cPanel (ej:
usuario_prestashop). - Crea un usuario para esa base de datos y asígnale una contraseña segura.
- Importante: Añade ese usuario a la base de datos y otórgale TODOS LOS PRIVILEGIOS. Sin esto, PrestaShop no podrá escribir en la base de datos y te dará errores raros.
2. Sube los Archivos de tu Tienda
Ahora tienes dos opciones: subir el backup que hiciste o subir los archivos directamente desde tu ordenador. Te recomiendo la primera, es más limpia.
- Accede al Administrador de Archivos de cPanel.
- Entra en la carpeta
public_html. - Sube el archivo ZIP que exportaste desde DirectAdmin.
- Una vez subido, haz clic derecho sobre el archivo ZIP y selecciona "Extraer". cPanel lo descomprimirá automáticamente.
- Asegúrate de que todos los archivos (carpetas como
admin,cache,config, etc.) estén dentro depublic_html, no en una subcarpeta.
Paso 2: Importa la Base de Datos
Este paso es crucial. Aquí es donde la mayoría de la gente se pierde, pero es más fácil de lo que crees.
1. Importa tu Archivo SQL
- Vuelve a phpMyAdmin en tu nuevo cPanel.
- Selecciona la base de datos que acabas de crear.
- Haz clic en la pestaña "Importar".
- Selecciona el archivo
.sqlque exportaste al principio. - Haz clic en "Continuar" y espera a que termine. Si la base de datos es muy grande, puede tardar unos minutos. Ten paciencia.
2. Ajusta la Configuración de la Base de Datos
PrestaShop guarda los datos de conexión a la base de datos en un archivo llamado parameters.php. Este archivo se encuentra en la carpeta app/config/.
- En el Administrador de Archivos de cPanel, navega a
public_html/app/config/. - Busca el archivo
parameters.phpy haz clic en "Editar". - Dentro, verás algo como esto:
'database_host' => 'localhost',
'database_name' => 'usuario_prestashop',
'database_user' => 'usuario_prestashop',
'database_password' => 'tu_contraseña',
- CRÍTICO: Cambia estos valores por los de tu nueva base de datos en cPanel. El
database_hostnormalmente se queda comolocalhost, pero si tu hosting usa un host remoto, te lo indicarán en tu panel. - Guarda los cambios.
[WARNING] Si este archivo no está bien configurado, verás un error de "Error de conexión a la base de datos" al abrir tu tienda. Revisa que no haya espacios extra y que las comillas estén correctas.
Paso 3: Ajusta la Configuración de la Tienda
Ahora viene la parte de "atarlo todo". Tu tienda necesita saber que ha cambiado de casa.
1. Actualiza la URL de la Tienda
PrestaShop almacena las URLs en la base de datos. Si tu dominio es el mismo, puede que no necesites hacer nada. Pero si cambias de dominio o de subdominio, debes actualizarlo.
La forma más segura es hacerlo desde la base de datos:
- Ve a phpMyAdmin en tu nuevo hosting.
- Selecciona tu base de datos.
- Busca la tabla
ps_configuration(el prefijops_puede variar si lo cambiaste). - Dentro, busca las filas con
nameigual aPS_SHOP_DOMAINyPS_SHOP_DOMAIN_SSL. - Haz clic en "Editar" y cambia el
valuepor tu nuevo dominio (ej:www.tutienda.com).
2. Activa el Modo Mantenimiento (Temporalmente)
Para evitar que los usuarios vean errores mientras terminas de ajustar todo, es buena idea poner la tienda en modo mantenimiento.
- Ve a tu Back Office de PrestaShop (si puedes acceder).
- Ve a Parámetros Avanzados > Mantenimiento.
- Activa el modo mantenimiento y guarda.
Si no puedes acceder al Back Office, puedes hacerlo desde la base de datos buscando PS_SHOP_ENABLE en ps_configuration y poniendo el valor a 0.
Paso 4: Verifica y Limpia
Ya casi lo tienes. Ahora toca comprobar que todo funciona correctamente.
1. Prueba de Fuego: Accede a tu Tienda
- Abre tu dominio en el navegador. Deberías ver tu tienda (o la página de mantenimiento si la activaste).
- Prueba a acceder al Back Office (
www.tudominio.com/admin). - Intenta iniciar sesión y navegar por las secciones de administración.
2. Activa el Modo Mantenimiento Desactivado
Si todo funciona, ve a Parámetros Avanzados > Mantenimiento y desactiva el modo mantenimiento. ¡Tu tienda ya está en el nuevo servidor!
3. Limpia las Cachés
PrestaShop guarda archivos en caché que pueden tener rutas antiguas. Para evitar problemas:
- En el Administrador de Archivos, ve a
public_html/var/cache/y elimina todo el contenido de las carpetasdevyprod. - También puedes hacerlo desde el Back Office en Parámetros Avanzados > Rendimiento y pulsando "Vaciar la caché".
[TIP] Después de limpiar la caché, es normal que la primera carga de la tienda sea un poco más lenta. No te asustes, es porque se está regenerando todo.
Paso 5: La Guinda del Pastel (Extras Importantes)
No termina aquí. Hay cosas que debes revisar para que la migración sea un éxito total.
1. Renueva o Configura el Certificado SSL
Si tu nuevo hosting ya tiene un certificado SSL para tu dominio, genial. Si no, actívalo desde cPanel (suele ser un botón de "SSL/TLS Status" o "AutoSSL"). Asegúrate de que la URL con https:// funciona correctamente.
2. Actualiza los Cron Jobs
PrestaShop usa tareas programadas (cron jobs) para funciones como la generación de informes o el envío de emails. En tu antiguo hosting, tenías una ruta configurada. Ahora debes crear los mismos cron jobs en cPanel.
- Ve a Tareas Programadas (Cron Jobs) en cPanel.
- Añade una nueva tarea con la misma ruta que tenías en DirectAdmin. Normalmente es algo como:
/usr/bin/php /home/USUARIO/public_html/cron.php - Si no recuerdas la ruta exacta, busca en tu Back Office en Parámetros Avanzados > Parámetros Avanzados > Cron para ver las tareas recomendadas.
[INFO] No configurar los cron jobs puede provocar que tu tienda no envíe emails de confirmación de pedido o que los informes no se generen.
3. Cambia los Archivos de Configuración de Correo
Si usas cuentas de correo asociadas a tu dominio, debes crear esas cuentas en cPanel. Además, si usabas SMTP en PrestaShop, deberás actualizar las contraseñas y servidores de correo saliente en Parámetros Avanzados > E-mail.
4. Actualiza las Rutas de los Archivos
A veces, hay rutas absolutas en la configuración. Para asegurarte:
- Ve al Back Office a Parámetros Avanzados > Rendimiento.
- Revisa que la "Ruta de la carpeta de caché" y otras rutas apunten a la nueva ubicación (ej:
/home/USUARIO/public_html/var/cache).
Preguntas Frecuentes (FAQ) sobre la Migración
Aquí van las dudas más comunes que nos suelen llegar. Si tienes alguna otra, ¡déjala en los comentarios!
¿Puedo hacer este proceso sin experiencia técnica?
Con esta guía, sí. Es un proceso largo, pero si sigues los pasos al pie de la letra y tienes paciencia, lo lograrás. La clave está en no saltarte el paso de la copia de seguridad.
¿Qué pasa si mi nuevo hosting usa Syspanel en lugar de cPanel?
Syspanel es el nombre que le damos al panel de control que antes se conocía como HestiaCP. Si tu nuevo hosting usa Syspanel, el proceso es muy similar, pero la interfaz es diferente. La principal diferencia es que el acceso al panel se realiza a través del puerto 2106 (ej: https://tudominio.com:2106). Dentro de Syspanel, busca las secciones de "Web", "Base de Datos" y "DNS". El concepto de mover archivos y exportar/importar la base de datos es idéntico.
¿Se perderán mis pedidos y clientes?
No, si has importado la base de datos correctamente. Todos tus pedidos, clientes, productos y configuraciones están en la base de datos, así que se transferirán al nuevo servidor.
¿Qué hago si veo un error de "500 Internal Server Error"?
Este error suele estar relacionado con los permisos de archivos o con la versión de PHP. En cPanel, ve a Configuración Múltiple de PHP y asegúrate de que la versión de PHP es compatible con tu versión de PrestaShop (normalmente PHP 7.4 o 8.0+). Además, revisa que los permisos de las carpetas sean 755 y los de los archivos 644.
¿Y si el error es de "Base de datos no encontrada"?
Revisa el archivo parameters.php y verifica que el nombre de la base de datos, el usuario y la contraseña son correctos. Asegúrate de que el usuario tiene todos los privilegios sobre la base de datos.
¿Cuánto tiempo tarda en propagarse el DNS?
Si cambias de servidor pero mantienes el mismo dominio, el cambio de DNS puede tardar entre 2 y 24 horas en propagarse por todo el mundo. Mientras tanto, algunos usuarios verán tu tienda en el hosting antiguo y otros en el nuevo. Es normal.
¿Debo desactivar el hosting antiguo al terminar?
Sí, una vez que verifiques que todo funciona en el nuevo hosting, puedes cancelar el servicio antiguo. Eso sí, te recomiendo mantenerlo activo durante al menos una semana para poder acceder a los backups si surge algún problema imprevisto.
Conclusión: Ya has Movido tu Tienda con Éxito
Enhorabuena, has logrado transferir PrestaShop de un hosting DirectAdmin a uno cPanel. Es un proceso que requiere atención al detalle, pero siguiendo estos pasos, has realizado una migración de PrestaShop hosting de forma segura y profesional.
Recuerda que la clave está en la preparación (copia de seguridad), en la configuración de la base de datos y en la limpieza de cachés. Si has llegado hasta aquí, ya has superado la parte más difícil. Ahora, solo te queda disfrutar de tu nuevo hosting y, si tienes cualquier duda, ya sabes dónde encontrarme.
