Cómo migrar PrestaShop de cPanel a DirectAdmin (Guía básica)
Migrar una tienda PrestaShop de un servidor con cPanel a otro con DirectAdmin puede parecer un proceso complejo, pero con una guía paso a paso y las herramientas adecuadas, es una tarea perfectamente realizable, incluso si no eres un experto en SysAdmin.
En este artículo, te explicaremos de forma didáctica y visual cómo realizar esta migrar PrestaShop de manera segura, cubriendo desde la copia de seguridad en el origen (cPanel) hasta la puesta a punto en el destino (DirectAdmin). También mencionaremos alternativas como Plesk, por si tu nuevo hosting usa ese panel.
Prepárate para convertirte en el héroe de tu tienda online. ¡Vamos allá!
1. Preparación Antes de Empezar
Antes de tocar nada, es fundamental tener un plan claro. Una migración mal hecha puede dejar tu tienda offline.
1.1. Requisitos Técnicos
Asegúrate de que tu nuevo servidor con DirectAdmin cumpla con los requisitos mínimos de PrestaShop:
- PHP: Versión 7.4, 8.0 u 8.1 (recomendada 8.0 o superior para PrestaShop 8).
- Base de datos: MySQL 5.7 o MariaDB 10.2+.
- Espacio en disco: Suficiente para los archivos de la tienda y la base de datos.
- Módulos PHP: Los habituales (mysqli, pdo_mysql, gd, curl, json, xml, mbstring, openssl, zip, etc.). Si faltan, tu tienda puede fallar al cargar.
[WARNING] No comiences la migración en horario de ventas pico. Programa la tarea para un momento de bajo tráfico, como la madrugada.
1.2. Herramientas Necesarias
- Acceso FTP/SFTP: Para descargar y subir archivos. FileZilla es una buena opción gratuita.
- Acceso a phpMyAdmin: Tanto en cPanel como en DirectAdmin (o Plesk).
- Cliente SSH (opcional pero recomendado): Para mayor control y velocidad, especialmente en servidores grandes.
- Credenciales de acceso: Tanto del servidor origen (cPanel) como del destino (DirectAdmin).
2. Paso 1: Hacer Copia de Seguridad en cPanel (Origen)
Este es el paso más crítico. Una copia de seguridad completa incluye dos partes: los archivos y la base de datos.
2.1. Exportar la Base de Datos
- Accede a phpMyAdmin desde cPanel.
- Selecciona la base de datos de tu PrestaShop (suele llamarse algo como
prestashop_db). - Haz clic en la pestaña Exportar.
- Elige el método Rápido y formato SQL.
- Haz clic en Continuar. Se descargará un archivo
.sqlcon toda la información de productos, pedidos, clientes, etc.
[TIP] Si tu base de datos es muy grande (más de 100 MB), usa la opción Personalizado y selecciona "Comprimir con gzip" para que el archivo sea más ligero.
2.2. Descargar los Archivos de la Tienda
- Conéctate a tu servidor cPanel mediante FTP o SFTP.
- Navega hasta la carpeta
public_html(o la carpeta raíz donde esté instalada tu tienda). - Selecciona todos los archivos y carpetas (normalmente:
admin,cache,classes,config,controllers,css,download,img,install,js,localization,mails,modules,override,pdf,themes,tools,translations,upload,vendor, y los archivos.htaccess,index.php,robots.txt, etc.). - Descarga todo a una carpeta local en tu ordenador. Este proceso puede tardar varios minutos si la tienda tiene muchas imágenes o módulos pesados.
[INFO] Si tu tienda es muy grande (varios GB), considera hacer la copia desde SSH usando
tar -czvf prestashop_backup.tar.gz public_html/y luego descargas solo ese archivo comprimido.
3. Paso 2: Preparar el Entorno en DirectAdmin (Destino)
Ahora toca preparar el terreno en tu nuevo servidor.
3.1. Crear la Base de Datos y el Usuario
- Accede a DirectAdmin.
- Ve a MySQL Management (o phpMyAdmin desde el menú).
- Crea una nueva base de datos (ej.
nuevatienda_db). - Crea un usuario para esa base de datos (ej.
usuario_tienda) y asígnale una contraseña segura. - Añade el usuario a la base de datos con todos los privilegios (GRANT ALL).
[WARNING] Anota el nombre de la base de datos, el usuario y la contraseña. Los necesitarás más adelante.
3.2. Subir los Archivos de la Tienda
- Conéctate a tu nuevo servidor DirectAdmin mediante FTP o SFTP.
- Navega hasta la carpeta
domains>tudominio.com>public_html. - Sube todos los archivos que descargaste de cPanel. Asegúrate de que no falte ninguno.
- Si subiste un archivo comprimido (.tar.gz o .zip), descomprímelo en el servidor. DirectAdmin tiene un File Manager que permite hacerlo fácilmente.
[TIP] Si usas SSH, puedes descomprimir con
tar -xzvf prestashop_backup.tar.gz -C /home/usuario/domains/tudominio.com/public_html/.
3.3. Ajustar Permisos de Archivos
PrestaShop necesita permisos específicos para funcionar correctamente. Desde el File Manager de DirectAdmin o por FTP:
- Carpetas: Permisos
755. - Archivos: Permisos
644. - Carpetas especiales:
config,cache,download,img,mails,modules,themes,override,upload,translationsdeben tener permisos755(o777temporalmente si hay problemas de escritura).
4. Paso 3: Importar la Base de Datos en DirectAdmin
Es hora de meter los datos en el nuevo servidor.
- Accede a phpMyAdmin desde DirectAdmin (o desde MySQL Management).
- Selecciona la base de datos que creaste (ej.
nuevatienda_db). - Haz clic en la pestaña Importar.
- Haz clic en Seleccionar archivo y elige el archivo
.sql(o.sql.gz) que descargaste de cPanel. - Haz clic en Continuar. Espera a que termine. Si la base de datos es grande, puede tardar varios minutos.
[WARNING] Si obtienes un error de tamaño máximo de subida, deberás aumentar el
upload_max_filesizeen elphp.inide DirectAdmin o subir el archivo por SSH y luego importarlo desde la línea de comandos.
5. Paso 4: Configurar PrestaShop para el Nuevo Servidor
Ahora viene la parte clave: decirle a PrestaShop que ahora vive en DirectAdmin.
5.1. Editar el Archivo app/config/parameters.php
Este archivo contiene las credenciales de la base de datos y la URL de la tienda.
- Usa el File Manager de DirectAdmin o un editor de texto en tu ordenador (y luego súbelo) para abrir el archivo
app/config/parameters.php. - Modifica estas líneas con los datos de tu nueva base de datos:
'database_host' => 'localhost', // Normalmente localhost en DirectAdmin 'database_port' => '', 'database_name' => 'nuevatienda_db', 'database_user' => 'usuario_tienda', 'database_password' => 'contraseña_segura', - Modifica la URL de la tienda (si es necesario):
Asegúrate de que no haya barras al final.'PS_SHOP_DOMAIN' => 'tudominio.com', 'PS_SHOP_DOMAIN_SSL' => 'tudominio.com', // Si usas HTTPS
[INFO] En versiones antiguas de PrestaShop (1.6), el archivo se llama
config/settings.inc.php. Los parámetros son los mismos (_DB_SERVER_,_DB_NAME_,_DB_USER_,_DB_PASS_).
5.2. Limpiar la Cache de PrestaShop
Para evitar errores de configuración antigua:
- Conéctate por FTP o File Manager.
- Elimina el contenido de la carpeta
var/cache/(ocache/en versiones antiguas). - También puedes eliminar el archivo
config/xml/(si existe) para forzar la regeneración de la cache de módulos.
5.3. Regenerar el Archivo .htaccess
Si tu tienda usa URLs amigables, debes regenerar el .htaccess:
- Accede al Back Office de PrestaShop (ej.
tudominio.com/admin1234). - Ve a Configuración de la tienda > Tráfico y SEO > SEO y URLs.
- Haz clic en Guardar (sin cambiar nada). Esto regenera el
.htaccess.
[TIP] Si no puedes acceder al Back Office, puedes generar un
.htaccessbásico desde el File Manager de DirectAdmin. Copia el contenido de un.htaccessde una instalación limpia de PrestaShop y ajústalo.
6. Paso 5: Probar la Migración
Antes de anunciar a tus clientes que la tienda está online, haz estas comprobaciones:
6.1. Verificar el Front Office
- Abre tu navegador y escribe
tudominio.com. - ¿Carga la página de inicio? Si ves un error en blanco, revisa los logs de error de PHP en DirectAdmin (suelen estar en
domains/tudominio.com/logs/). - Haz clic en un producto, añádelo al carrito, inicia sesión (si tienes un cliente de prueba) y simula una compra.
6.2. Verificar el Back Office
- Accede a
tudominio.com/admin1234(dondeadmin1234es tu carpeta de administración). - ¿Puedes iniciar sesión? Si no, revisa que la base de datos esté bien importada y que el usuario administrador exista.
- Navega por los menús: Productos, Pedidos, Clientes, Módulos. Todo debe funcionar.
6.3. Probar Funcionalidades Clave
- Módulos de pago: ¿Se conectan correctamente?
- Módulos de envío: ¿Calculan tarifas?
- Correo electrónico: Configura un servidor SMTP en Parámetros avanzados > Correo electrónico para que la tienda pueda enviar correos.
[WARNING] Si usas Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso es el 2106. No confundas esto con DirectAdmin, que usa el puerto 2222.
7. FAQ: Preguntas Frecuentes sobre la Migración
7.1. ¿Puedo migrar de cPanel a Plesk siguiendo esta guía?
Sí, el proceso es casi idéntico. La diferencia principal es la interfaz del panel. En Plesk, las bases de datos se gestionan desde Bases de datos y los archivos desde Administrador de archivos. Los pasos de exportar/importar la base de datos y subir archivos son los mismos.
7.2. ¿Qué hago si mi tienda no carga después de la migración?
- Revisa los logs de error de PHP. En DirectAdmin, están en
domains/tudominio.com/logs/error.log. - Verifica los permisos de archivos. Asegúrate de que
config,cacheyimgtengan permisos de escritura. - Comprueba el archivo
.htaccess. Si está mal, elimínalo temporalmente y prueba a cargar la tienda. - Revisa la configuración de PHP. Asegúrate de que los módulos necesarios estén activados.
7.3. ¿Pierdo datos (pedidos, clientes) durante la migración?
No, si haces una copia de seguridad completa de la base de datos y los archivos, y los restauras correctamente, no perderás ningún dato. Es crucial que la base de datos se importe sin errores.
7.4. ¿Es necesario cambiar la URL de la tienda?
Solo si cambias de dominio. Si mantienes el mismo dominio, solo apunta los DNS al nuevo servidor y la tienda funcionará con la misma URL.
7.5. ¿Cuánto tiempo tarda la migración?
Depende del tamaño de tu tienda. Para una tienda pequeña (menos de 1 GB de archivos y base de datos de 50 MB), puede tardar entre 30 minutos y 1 hora. Para tiendas grandes, puede llevar varias horas.
7.6. ¿Puedo migrar sin tiempo de inactividad?
Sí, si configuras un modo de mantenimiento en la tienda original antes de empezar, los clientes verán un mensaje de "Tienda en mantenimiento". Cuando termines la migración y todo funcione, desactivas el modo de mantenimiento en el nuevo servidor y cambias los DNS.
[TIP] Para minimizar el tiempo de inactividad, puedes hacer la migración en un subdominio de prueba (ej.
nueva.tudominio.com) y luego cambiar los DNS cuando esté todo listo.
8. Conclusión y Recomendaciones Finales
Migrar PrestaShop de cPanel a DirectAdmin no tiene por qué ser una pesadilla. Con esta guía, has aprendido a:
- Hacer una copia de seguridad completa en cPanel.
- Preparar el entorno en DirectAdmin (base de datos y archivos).
- Importar la base de datos y configurar PrestaShop.
- Probar la tienda para asegurarte de que todo funciona.
Recuerda siempre probar en un entorno de pruebas antes de hacer el cambio definitivo. Si algo sale mal, siempre puedes restaurar la copia de seguridad en el servidor original.
Como SysAdmin o usuario avanzado, esta habilidad te abrirá muchas puertas. Y si en el futuro te enfrentas a Plesk, ya sabes que el proceso es muy similar.
¡Enhorabuena! Has completado con éxito la migración de tu tienda PrestaShop. Ahora disfruta de tu nuevo servidor con DirectAdmin.
[INFO] Si encuentras algún error, no dudes en consultar los foros de DirectAdmin o la documentación oficial de PrestaShop. La comunidad es muy activa y siempre hay alguien dispuesto a ayudar.
