Cómo migrar PrestaShop de un servidor a otro con DirectAdmin
Migrar una tienda PrestaShop de un servidor a otro puede sonar a algo complejo, pero con la guía adecuada y un poco de paciencia, es un proceso que puedes realizar tú mismo sin necesidad de ser un experto en programación. En este artículo te explicaré paso a paso cómo migrar PrestaShop DirectAdmin de manera segura, asegurándote de no perder ni un producto, pedido o configuración.
Vamos a dividir el proceso en dos grandes fases: primero, preparar y hacer el backup PrestaShop en el servidor antiguo, y segundo, restaurar todo en el nuevo servidor que tenga DirectAdmin. Recuerda que el éxito de la migración depende de seguir el orden correcto y de tener a mano los datos de acceso a ambos paneles.
1. Preparación antes de la migración
Antes de tocar nada, es fundamental que tomes ciertas precauciones para evitar sorpresas desagradables. La migración de una tienda online implica mover archivos, base de datos y configuraciones de dominio.
1.1. Verifica los requisitos del nuevo servidor
PrestaShop tiene unos requisitos técnicos mínimos. Asegúrate de que tu nuevo hosting con DirectAdmin cumpla con:
- PHP 7.4 o superior (recomendado PHP 8.0 o 8.1 para versiones recientes de PrestaShop).
- MySQL 5.6 o superior (o MariaDB 10.1+).
- Apache con mod_rewrite habilitado.
- Memoria suficiente (al menos 128 MB para PHP, aunque 256 MB es mejor).
- Extensiones PHP como
gd,curl,mbstring,openssl,pdo_mysql,json,zip,xml.
Si tu nuevo servidor no cumple con estos requisitos, la tienda podría no funcionar correctamente.
1.2. Información que necesitarás tener a mano
Anota los siguientes datos antes de empezar:
- Dominio que usará la tienda (por ejemplo,
tutienda.com). - Usuario y contraseña de DirectAdmin en el nuevo servidor.
- Credenciales de FTP o del administrador de archivos de DirectAdmin.
- Acceso a phpMyAdmin en ambos servidores (o a la herramienta de bases de datos de DirectAdmin).
- Versión de PrestaShop que tienes actualmente (puedes verlo en el back office, en «Información del servidor»).
[INFO] Si tu tienda tiene mucho tráfico, programa la migración en un horario de baja actividad y pon la tienda en modo mantenimiento durante el proceso. Así evitarás que los clientes vean errores.
2. Hacer el backup completo en el servidor antiguo
El primer paso para transferir PrestaShop es crear una copia de seguridad completa. Esto incluye dos partes: los archivos de la tienda y la base de datos.
2.1. Backup de los archivos de PrestaShop
Accede a tu servidor antiguo mediante FTP (FileZilla, por ejemplo) o mediante el panel de control que tengas (cPanel, Plesk, etc.). Si usas DirectAdmin en el origen, también puedes usar el administrador de archivos.
- Localiza la carpeta raíz donde está instalado PrestaShop. Normalmente es
public_htmlotudominio.com. - Comprime toda la carpeta en un archivo
.zipo.tar.gz. Si tu panel no tiene opción de comprimir, puedes usar FTP para descargar todo a tu PC y luego subirlo al nuevo servidor. - Descarga el archivo comprimido a tu ordenador o a un almacenamiento seguro.
[WARNING] No olvides incluir la carpeta
img(donde están las imágenes de productos) y la carpetamodulescon sus configuraciones. Son esenciales para que la tienda se vea igual.
2.2. Backup de la base de datos
La base de datos contiene todos los productos, pedidos, clientes y configuraciones. Para exportarla:
- Accede a phpMyAdmin en tu servidor antiguo (normalmente desde el panel de control).
- Selecciona la base de datos de tu PrestaShop (suele llamarse algo como
prestashop_dbotu_usuario_presta). - Haz clic en «Exportar» y elige el método «Rápido» o «Personalizado». Si eliges personalizado, asegúrate de marcar «Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT» y «Agregar CREATE DATABASE / USE».
- Selecciona el formato SQL y haz clic en «Continuar». Descargarás un archivo
.sql.
Guarda este archivo junto con el de los archivos. Ambos son necesarios para migrar PrestaShop DirectAdmin correctamente.
3. Preparar el nuevo servidor con DirectAdmin
Ahora vamos al nuevo hosting. DirectAdmin es un panel de control muy usado y fácil de manejar. Aquí configuraremos el dominio y la base de datos.
3.1. Crear el dominio en DirectAdmin
- Inicia sesión en DirectAdmin con tu usuario y contraseña.
- Ve a «Administrador de cuentas» o «Dominios» y haz clic en «Agregar dominio».
- Escribe tu dominio (por ejemplo,
tutienda.com) y selecciona el paquete de hosting correspondiente. - Asegúrate de que el dominio apunte al nuevo servidor (los DNS deben estar actualizados, aunque durante la migración puedes usar un archivo hosts temporal).
3.2. Crear la base de datos y el usuario
- En DirectAdmin, ve a «Gestión de MySQL» (o «Bases de datos MySQL»).
- Crea una nueva base de datos con un nombre descriptivo (ej.
migra_presta). - Crea un usuario para esa base de datos y asígnale todos los privilegios.
- Anota el nombre de la base de datos, el usuario y la contraseña – los necesitarás para configurar PrestaShop.
[TIP] Si tu PrestaShop original usaba el prefijo
ps_en las tablas, no cambies el nombre de la base de datos ni el usuario, pero sí asegúrate de que el prefijo se mantenga.
3.3. Subir los archivos de PrestaShop al nuevo servidor
- Accede al administrador de archivos de DirectAdmin (o usa FTP).
- Ve a la carpeta
domains/tudominio.com/public_html(oprivate_htmlsi usas SSL). - Sube el archivo comprimido que descargaste del servidor antiguo.
- Descomprime el archivo (en DirectAdmin, selecciona el archivo y haz clic en «Extraer»).
- Verifica que todos los archivos se hayan descomprimido correctamente, especialmente la carpeta
imgymodules.
4. Restaurar la base de datos en el nuevo servidor
Con los archivos ya en su lugar, toca importar la base de datos.
4.1. Importar el SQL mediante phpMyAdmin
- En DirectAdmin, ve a «phpMyAdmin» (suele estar en «Herramientas avanzadas» o «MySQL»).
- Selecciona la base de datos que creaste para la migración.
- Haz clic en «Importar» y elige el archivo
.sqlque descargaste. - Haz clic en «Continuar» y espera a que termine. Si la base de datos es grande, puede tardar varios minutos.
[WARNING] Si obtienes errores de tamaño máximo de archivo, puedes dividir el SQL en partes más pequeñas o usar la línea de comandos (si tienes acceso SSH). En DirectAdmin, también puedes usar la opción «Importar desde archivo» en el administrador de archivos.
4.2. Actualizar la configuración de la base de datos en PrestaShop
PrestaShop guarda la conexión a la base de datos en el archivo app/config/parameters.php (en versiones modernas) o config/settings.inc.php (en versiones antiguas).
- Accede al administrador de archivos de DirectAdmin.
- Navega a la carpeta raíz de tu tienda (
public_html). - Edita el archivo
app/config/parameters.php(oconfig/settings.inc.php). - Busca las líneas que contienen
database_host,database_name,database_userydatabase_password. - Cambia los valores por los de la nueva base de datos que creaste en DirectAdmin. Por ejemplo:
'database_host' => 'localhost', 'database_name' => 'migra_presta', 'database_user' => 'tu_usuario', 'database_password' => 'tu_contraseña', - Guarda el archivo.
[INFO] Si tu PrestaShop es muy antiguo (1.6 o anterior), el archivo de configuración está en
config/settings.inc.phpy se llama_DB_SERVER_,_DB_NAME_, etc.
5. Ajustes finales y verificación
Una vez restaurados los archivos y la base de datos, hay que hacer algunos ajustes para que la tienda funcione correctamente en el nuevo servidor.
5.1. Limpiar la caché de PrestaShop
PrestaShop guarda archivos temporales que pueden causar conflictos al cambiar de servidor.
- Accede al back office de tu tienda (si puedes) en
tudominio.com/adminXXXX. - Ve a «Parámetros avanzados» > «Rendimiento».
- Haz clic en «Limpiar caché» (tanto la de Smarty como la de Symfony).
- Si no puedes acceder al back office, borra manualmente las carpetas
var/cache(ocacheen versiones antiguas) yapp/cache(si existe) a través del administrador de archivos.
5.2. Verificar las URLs y el dominio
A veces, las URLs absolutas guardadas en la base de datos pueden apuntar al dominio antiguo. Para solucionarlo:
- En el back office, ve a «Parámetros de la tienda» > «Tráfico y SEO».
- Revisa que la URL base sea la correcta (con o sin
www). - Si hay problemas, puedes ejecutar una consulta SQL en phpMyAdmin para reemplazar el dominio antiguo por el nuevo:
(ReemplazaUPDATE ps_configuration SET value = REPLACE(value, 'dominioantiguo.com', 'nuevodominio.com'); UPDATE ps_shop_url SET domain = 'nuevodominio.com', domain_ssl = 'nuevodominio.com';ps_por tu prefijo si es diferente).
5.3. Probar la tienda
Antes de anunciar que la migración ha terminado, haz estas comprobaciones:
- Accede a la página principal y navega por algunas categorías y productos.
- Prueba el carrito de compra y el proceso de pago (puedes usar un modo de prueba).
- Revisa que las imágenes se carguen correctamente (si no, regenera las miniaturas desde «Parámetros avanzados» > «Imágenes»).
- Verifica que los módulos funcionen (especialmente los de pago y envío).
- Comprueba el back office sin errores.
[TIP] Si usas SSL (recomendado), asegúrate de que el certificado esté instalado en DirectAdmin y que la URL forzada a HTTPS esté configurada en PrestaShop.
6. Preguntas frecuentes (FAQ)
Aquí respondo las dudas más comunes que suelen tener los usuarios al migrar PrestaShop DirectAdmin.
6.1. ¿Puedo migrar sin perder los pedidos?
Sí, siempre que hagas un backup completo de la base de datos y los archivos. Los pedidos se almacenan en la base de datos, así que si la importas correctamente, no se perderán.
6.2. ¿Qué hago si la tienda me muestra un error de base de datos?
Revisa que los datos en el archivo parameters.php o settings.inc.php sean correctos. También verifica que el usuario de la base de datos tenga todos los privilegios. Si el error persiste, revisa los logs de PHP en DirectAdmin (suelen estar en domains/tudominio.com/logs/).
6.3. ¿Necesito cambiar los DNS antes de migrar?
No es recomendable. Primero realiza toda la migración y prueba la tienda con el nuevo servidor. Luego, cuando todo funcione, cambia los DNS para que apunten al nuevo hosting. Durante el proceso, puedes editar el archivo hosts de tu ordenador para ver la tienda en el nuevo servidor sin afectar a los visitantes.
6.4. ¿Qué pasa si mi PrestaShop es muy antiguo (1.6 o inferior)?
Los pasos son similares, pero ten en cuenta que algunas carpetas y archivos de configuración cambian. Además, es posible que necesites una versión de PHP más antigua. Consulta la documentación de tu versión.
6.5. ¿Puedo usar la herramienta de migración de DirectAdmin?
DirectAdmin no tiene una herramienta específica para PrestaShop, pero sí puedes usar el administrador de archivos y phpMyAdmin para hacer la migración manual. Es más seguro que usar plugins de terceros.
7. Consejos finales para una migración exitosa
- Haz siempre una copia de seguridad del servidor antiguo antes de tocar nada. Nunca se sabe cuándo puede fallar algo.
- Prueba la tienda en un subdominio o con un dominio temporal si es posible, para no afectar a los clientes.
- Actualiza PrestaShop a la última versión estable después de la migración, si es seguro hacerlo. Así evitarás vulnerabilidades.
- Configura las tareas cron de PrestaShop (como la generación de sitemaps o la limpieza de carritos) en DirectAdmin. Puedes hacerlo desde «Tareas programadas» en el panel.
- Si tienes dudas, consulta la documentación oficial de PrestaShop o los foros de la comunidad. También puedes contactar con el soporte de tu hosting.
Migrar una tienda PrestaShop puede parecer un reto, pero siguiendo estos pasos de forma ordenada, transferir PrestaShop de un servidor a otro con DirectAdmin es un proceso que puedes realizar en una tarde. Recuerda que la clave está en la preparación y en verificar cada paso. ¡Mucho éxito con tu tienda en su nuevo hogar!
