Cómo migrar PrestaShop a DirectAdmin manualmente
Preparación inicial: requisitos y copia de seguridad
Migrar una tienda PrestaShop a un nuevo servidor con DirectAdmin puede parecer complejo, pero si sigues los pasos correctos, es un proceso bastante manejable. Antes de comenzar, asegúrate de tener acceso a ambos entornos: el servidor actual (origen) y el nuevo servidor con DirectAdmin (destino). También necesitarás credenciales de FTP/SFTP y acceso a phpMyAdmin o similar para gestionar bases de datos.
[WARNING] No inicies la migración sin hacer una copia de seguridad completa de tu tienda original. Un error podría dejarte sin datos.
Requisitos técnicos básicos
- Acceso SSH o FTP al servidor origen y destino.
- Credenciales de la base de datos MySQL del PrestaShop actual.
- Versión de PHP compatible con la de tu PrestaShop en DirectAdmin.
- Módulos y temas compatibles con la nueva versión de PHP (si cambias).
- Espacio suficiente en el nuevo hosting.
Copia de seguridad de archivos y base de datos
El primer paso es obtener una copia completa de tu tienda. Hay dos partes: los archivos del sistema y la base de datos.
Archivos del sistema
Conéctate vía FTP o SFTP a tu servidor actual y descarga toda la carpeta raíz de PrestaShop (normalmente llamada public_html o www). Si tienes acceso SSH, es más rápido comprimirla:
tar -czvf prestashop_backup.tar.gz /ruta/a/tu/prestashop
Luego descarga el archivo .tar.gz a tu ordenador.
Base de datos
Accede a phpMyAdmin en tu servidor actual. Selecciona la base de datos de PrestaShop y elige "Exportar". Marca "Método personalizado" y asegúrate de incluir todas las tablas. Selecciona "SQL" como formato y activa "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT" y "Agregar CREATE DATABASE / USE". Luego haz clic en "Continuar" y descarga el archivo .sql.
[TIP] Si la base de datos es muy grande, usa la línea de comandos: mysqldump -u usuario -p nombre_bd > backup_bd.sql. Luego comprímelo con gzip backup_bd.sql.
Crear el entorno en DirectAdmin
Una vez que tengas tus copias, es hora de preparar el nuevo servidor.
Crear la base de datos en DirectAdmin
- Inicia sesión en DirectAdmin.
- Ve a "MySQL Management" (o "Base de datos MySQL").
- Crea una nueva base de datos. Anota el nombre, el usuario y la contraseña que generes. DirectAdmin suele usar prefijos como
usuario_bd. - Una vez creada, haz clic en "phpMyAdmin" para abrir la interfaz.
- Selecciona la base de datos vacía y luego haz clic en "Importar".
- Sube el archivo
.sqlde tu backup. Si es muy grande, puede que necesites dividirlo o usar la línea de comandos.
[INFO] Si el archivo SQL es demasiado grande para phpMyAdmin (más de 50 MB), usa SSH: mysql -u usuario -p nombre_bd < backup_bd.sql. Te pedirá la contraseña.
Subir los archivos de PrestaShop
- Conéctate vía FTP/SFTP a tu nuevo hosting DirectAdmin.
- Navega a la carpeta
domains/tudominio.com/public_html(oprivate_htmlsi usas SSL). - Sube todos los archivos de PrestaShop. Si comprimiste tu backup, primero súbelo y luego descomprímelo con SSH:
cd /home/usuario/domains/tudominio.com/public_html tar -xzvf prestashop_backup.tar.gz - Asegúrate de que los archivos tengan los permisos correctos. En DirectAdmin, ve a "File Manager", selecciona todos los archivos y ajusta permisos a 755 para carpetas y 644 para archivos. También puedes usar SSH:
find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \;
Configurar la conexión a la base de datos
PrestaShop guarda la configuración de la base de datos en el archivo app/config/parameters.php. Debes modificarlo para que apunte a la nueva base de datos.
- Localiza el archivo
parameters.phpen la carpeta raíz de PrestaShop. - Ábrelo con un editor de texto.
- Busca las líneas que definen
database_host,database_name,database_userydatabase_password. - Reemplázalos con los datos de la nueva base de datos que creaste en DirectAdmin:
'database_host' => 'localhost', 'database_name' => 'usuario_nombrebd', 'database_user' => 'usuario_usuario', 'database_password' => 'contraseña', - Guarda el archivo.
[WARNING] Si tu base de datos usa un host diferente a localhost (por ejemplo, una IP o un servidor remoto), cámbialo. DirectAdmin suele usar localhost.
Ajustar la URL de la tienda
En el mismo archivo parameters.php, también hay una línea 'ps_shop_domain' y 'ps_shop_ssl'. Deberías actualizarlas si cambias de dominio o subdominio. Por ejemplo:
'ps_shop_domain' => 'tudominio.com',
'ps_shop_ssl' => 'tudominio.com',
Si usas SSL, asegúrate de que 'ps_shop_ssl' esté configurado correctamente.
Verificar y solucionar problemas comunes
Una vez subidos los archivos y configurada la base de datos, prueba a acceder a tu tienda. Escribe tudominio.com en el navegador. Si todo está bien, verás tu tienda funcionando. Si no, aquí tienes soluciones a problemas típicos.
Error de conexión a la base de datos
- Verifica que los datos en
parameters.phpsean correctos. - Comprueba que el usuario de la base de datos tenga permisos para acceder desde
localhost. - En DirectAdmin, puedes editar los privilegios del usuario desde "MySQL Management".
Página en blanco o error 500
- Revisa los logs de error del servidor. En DirectAdmin, ve a "Error Logs" en el panel de control.
- Aumenta temporalmente el límite de memoria PHP en el archivo
.htaccessophp.ini(si tienes acceso). - Desactiva el modo de depuración de PrestaShop editando
config/defines.inc.php:define('_PS_MODE_DEV_', false);
Enlaces rotos o imágenes que no cargan
- Regenera el archivo
.htaccessdesde el backoffice de PrestaShop: ve a "Parámetros de la tienda" > "Tráfico y SEO" > "SEO y URLs" y haz clic en "Guardar" (sin cambiar nada). Esto regenera las reglas de reescritura. - Si el problema persiste, puede que las rutas de las imágenes estén mal. Ve a "Parámetros avanzados" > "Rendimiento" y limpia la caché.
[TIP] Si cambias de dominio, actualiza la URL en la tabla ps_configuration de la base de datos: busca las filas con name = 'PS_SHOP_DOMAIN' y 'PS_SHOP_DOMAIN_SSL' y cámbialas.
Migración de SSL y redirecciones
Si tu tienda original usaba HTTPS, debes configurar SSL en DirectAdmin. La mayoría de los planes incluyen Let's Encrypt gratuito.
- En DirectAdmin, ve a "SSL Certificates".
- Selecciona tu dominio y haz clic en "Create" o "Renew" para generar un certificado Let's Encrypt.
- Una vez activo, asegúrate de que PrestaShop esté configurado para forzar HTTPS. En el backoffice, ve a "Parámetros de la tienda" > "General" y activa "Activar SSL" y "Activar SSL en todas las páginas".
Redirecciones 301
Si cambias de dominio, necesitas redirigir el tráfico del antiguo al nuevo. En el archivo .htaccess del dominio antiguo, añade:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^antiguodominio.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.antiguodominio.com [NC]
RewriteRule ^(.*)$ http://nuevodominio.com/$1 [L,R=301]
Preguntas frecuentes (FAQ)
¿Puedo migrar PrestaShop a DirectAdmin sin perder datos?
Sí, siempre que hagas una copia de seguridad completa (archivos + base de datos) y sigas los pasos correctamente. La clave está en verificar la configuración de la base de datos y los permisos de archivos.
¿Qué hago si la base de datos es muy grande para phpMyAdmin?
Usa la línea de comandos con mysql o mysqldump. También puedes dividir el archivo SQL en partes más pequeñas con herramientas como split en Linux o usando un editor de texto.
¿Necesito cambiar algo en PrestaShop si uso un servidor con Syspanel (HestiaCP)?
Si usas Syspanel (HestiaCP), el proceso es similar, pero el acceso a la base de datos se hace por el puerto 2106. Al crear la base de datos, asegúrate de que el usuario tenga permisos y que la conexión sea a localhost. El resto de los pasos son idénticos.
¿Cómo verifico que la migración fue exitosa?
Revisa que todas las páginas carguen correctamente, que los productos tengan imágenes y que los pedidos (si los hay) estén accesibles. También prueba el proceso de compra completo.
¿Puedo migrar solo los productos y clientes sin los archivos?
Sí, exportando solo las tablas relevantes (como ps_product, ps_customer, ps_orders, etc.) y subiéndolas a la nueva base de datos. Pero es más seguro migrar todo para evitar dependencias.
Consejos finales para una migración sin estrés
- Prueba en un subdominio primero: Si es posible, crea un subdominio como
test.tudominio.comen DirectAdmin y migra allí primero. Así puedes verificar que todo funciona sin afectar a los usuarios. - Mantén el modo de mantenimiento activado: Durante la migración, pon tu tienda original en modo mantenimiento para evitar que los usuarios hagan cambios.
- Actualiza las URLs en Google Search Console: Si cambias de dominio, notifica a Google para que indexe las nuevas URLs.
- Revisa los módulos de pago: Asegúrate de que las credenciales de pago (PayPal, Stripe, etc.) estén actualizadas y funcionen en el nuevo entorno.
[WARNING] No borres los archivos del servidor original hasta que hayas confirmado que la migración es exitosa y que no necesitas ningún dato adicional.
Migrar PrestaShop a DirectAdmin manualmente requiere paciencia, pero siguiendo esta guía paso a paso, podrás hacerlo sin problemas. Recuerda que la clave está en la preparación: una buena copia de seguridad y verificar cada paso. ¡Buena suerte con tu migración!
