Guía para migrar PrestaShop de un servidor a otro con DirectAdmin
Mover tu tienda PrestaShop de un servidor a otro puede parecer una tarea compleja, pero con la guía adecuada y las herramientas correctas, es un proceso que puedes realizar sin necesidad de ser un experto en sistemas. En este artículo, te explicaré paso a paso cómo realizar una migrar PrestaShop DirectAdmin de forma segura y eficiente, usando el panel de control DirectAdmin. Esta DirectAdmin PrestaShop migración te permitirá transferir PrestaShop a un nuevo hosting sin perder datos, productos, clientes ni configuraciones.
Vamos a dividir el proceso en dos grandes fases: hacer un backup PrestaShop completo y luego restaurar PrestaShop DirectAdmin en el nuevo servidor. Sigue cada paso con atención y, ante cualquier duda, consulta las secciones de preguntas frecuentes al final.
¿Qué necesitas antes de empezar?
Antes de lanzarte a la migración, asegúrate de tener lo siguiente a mano:
- Acceso a DirectAdmin en tu servidor actual y en el nuevo.
- Credenciales de FTP/SFTP o acceso al administrador de archivos de DirectAdmin.
- Acceso a phpMyAdmin o la herramienta de gestión de bases de datos de DirectAdmin.
- Las claves de acceso a tu tienda PrestaShop (usuario y contraseña del back office).
- Una copia de seguridad reciente (aunque la haremos nosotros, nunca está de más).
[INFO] Si tu nuevo servidor usa Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso es el 2106. El proceso es muy similar, pero los nombres de las secciones pueden variar ligeramente.
Paso 1: Haz un backup completo de tu PrestaShop en DirectAdmin
Este es el paso más importante. Un backup PrestaShop bien hecho garantiza que no pierdas nada durante la migración. En DirectAdmin, puedes respaldar tanto los archivos como la base de datos por separado.
1.1. Respalda los archivos de tu tienda
- Ingresa a tu panel de DirectAdmin.
- Ve a Administrador de Archivos (File Manager).
- Navega hasta la carpeta donde está instalado PrestaShop (normalmente
public_htmlodominio.com). - Selecciona todos los archivos y carpetas (puedes usar Ctrl+A o el botón de seleccionar todo).
- Haz clic en Comprimir y elige formato Zip o Tar.gz. Ponle un nombre como
prestashop_backup_archivos.zip. - Espera a que se genere el archivo comprimido. Dependiendo del tamaño de tu tienda, puede tardar unos minutos.
[TIP] Si tu tienda es muy grande (más de 500 MB), es mejor que uses FTP con un cliente como FileZilla para descargar los archivos directamente. La compresión en el servidor puede consumir muchos recursos.
1.2. Respalda la base de datos de PrestaShop
- En DirectAdmin, busca la sección MySQL Management o phpMyAdmin.
- Dentro de phpMyAdmin, selecciona la base de datos de tu PrestaShop (normalmente tiene un nombre como
usuario_prestashop). - Ve a la pestaña Exportar.
- Elige el método Rápido y formato SQL.
- Haz clic en Continuar y descarga el archivo
.sqla tu computadora. Guárdalo comoprestashop_backup_bd.sql.
[WARNING] No olvides anotar el nombre de la base de datos, el usuario y la contraseña. Los necesitarás para restaurar en el nuevo servidor.
Paso 2: Prepara el nuevo servidor en DirectAdmin
Ahora que tienes tu backup PrestaShop completo, es momento de preparar el nuevo hogar de tu tienda.
2.1. Crea la base de datos y el usuario
- En DirectAdmin del nuevo servidor, ve a MySQL Management.
- Haz clic en Crear nueva base de datos.
- Ponle un nombre descriptivo, por ejemplo
nuevatienda_prestashop. - Crea un usuario para esa base de datos y asígnale una contraseña segura.
- Asigna todos los privilegios al usuario sobre esa base de datos.
- Anota estos datos: nombre de la BD, usuario y contraseña.
[INFO] Asegúrate de que el usuario tenga permisos completos (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). PrestaShop necesita todos para funcionar correctamente.
2.2. Sube los archivos de tu tienda
- Ve al Administrador de Archivos del nuevo DirectAdmin.
- Navega hasta la carpeta donde quieres instalar PrestaShop (normalmente
public_html). - Sube el archivo comprimido
prestashop_backup_archivos.zipque descargaste antes. - Selecciona el archivo y haz clic en Extraer.
- Una vez extraído, verifica que todos los archivos y carpetas estén en su lugar (carpetas
img,modules,themes, etc.).
[TIP] Si usas FTP, sube el archivo comprimido directamente y luego extráelo en el servidor. Es más rápido que subir archivo por archivo.
Paso 3: Restaura la base de datos en el nuevo servidor
Ahora vamos a restaurar PrestaShop DirectAdmin con los datos de tu tienda.
- En el nuevo DirectAdmin, abre phpMyAdmin.
- Selecciona la base de datos que creaste (
nuevatienda_prestashop). - Ve a la pestaña Importar.
- Haz clic en Seleccionar archivo y elige
prestashop_backup_bd.sql. - Asegúrate de que el formato sea SQL y haz clic en Continuar.
- Espera a que termine la importación. Si tu base de datos es grande, puede tardar varios minutos.
[WARNING] Si durante la importación aparece un error, revisa que el archivo SQL no esté corrupto. También verifica que la base de datos esté vacía antes de importar.
Paso 4: Configura PrestaShop para que use la nueva base de datos
PrestaShop guarda la información de conexión a la base de datos en un archivo llamado app/config/parameters.php. Debes modificarlo para que apunte a tu nueva base de datos.
- En el Administrador de Archivos del nuevo servidor, navega a
public_html/app/config/. - Busca el archivo
parameters.phpy ábrelo para editarlo. - Busca las líneas que contienen
database_host,database_name,database_userydatabase_password. - Cámbialas por los datos de la nueva base de datos que creaste en el paso 2.1.
- Guarda los cambios.
Ejemplo de cómo debería verse:
'database_host' => 'localhost',
'database_name' => 'nuevatienda_prestashop',
'database_user' => 'usuario_nuevo',
'database_password' => 'contraseña_segura',
[INFO] En la mayoría de los casos,
database_hosteslocalhost. Si tu servidor usa un host remoto, te lo indicarán en la bienvenida de DirectAdmin.
Paso 5: Ajusta las URLs y verifica la configuración
5.1. Cambia la URL base en la base de datos
Si tu tienda cambia de dominio o de subdominio, debes actualizar la URL en la base de datos. Esto se hace directamente en phpMyAdmin.
- En phpMyAdmin del nuevo servidor, selecciona tu base de datos.
- Haz clic en la tabla
ps_configuration(o el prefijo que uses, por ejemplops_es el predeterminado). - Busca las filas donde
nameseaPS_SHOP_DOMAINyPS_SHOP_DOMAIN_SSL. - Edita el campo
valuecon la nueva URL (sinhttp://nihttps://), por ejemplonuevodominio.com. - Guarda los cambios.
5.2. Limpia la caché de PrestaShop
Para que los cambios surtan efecto, es recomendable limpiar la caché.
- Accede al back office de tu tienda (ejemplo:
nuevodominio.com/admin123). - Ve a Parámetros de la tienda > Rendimiento.
- En Caché, selecciona No y luego haz clic en Guardar.
- También puedes borrar manualmente la carpeta
var/cacheen el servidor (a través del Administrador de Archivos).
[TIP] Si no puedes acceder al back office, borra la carpeta
var/cachemanualmente. Esto forzará a PrestaShop a regenerar la caché.
Paso 6: Prueba la tienda y soluciona problemas comunes
Una vez completados los pasos anteriores, es hora de probar que todo funcione correctamente.
- Abre la tienda en tu navegador: Escribe la nueva URL y verifica que se cargue correctamente.
- Prueba el proceso de compra: Añade un producto al carrito, simula un pedido y comprueba que los datos se guarden.
- Revisa el back office: Accede con tu usuario y contraseña. Asegúrate de que puedas ver productos, clientes y pedidos.
- Verifica los módulos: Algunos módulos pueden necesitar reactivación o reconfiguración.
Problemas comunes y soluciones
Error de conexión a la base de datos: Revisa el archivo parameters.php y asegúrate de que los datos sean correctos. También verifica que el usuario tenga permisos sobre la base de datos.
Página en blanco o error 500: Suele deberse a problemas de permisos de archivos. En DirectAdmin, ve al Administrador de Archivos, selecciona toda la carpeta de PrestaShop y cambia los permisos a 755 para carpetas y 644 para archivos. También puedes ejecutar el comando chmod -R 755 desde la terminal si tienes acceso SSH.
Imágenes rotas: Si las imágenes no se muestran, puede ser porque las rutas en la base de datos siguen apuntando al dominio anterior. Revisa la tabla ps_image y actualiza las rutas si es necesario.
Módulos que no funcionan: Algunos módulos pueden tener configuraciones guardadas con rutas absolutas. Desinstálalos y vuélvelos a instalar desde el back office.
[WARNING] Si tu tienda usa SSL, asegúrate de que el certificado esté correctamente instalado en el nuevo servidor. De lo contrario, algunos navegadores mostrarán advertencias de seguridad.
Preguntas frecuentes (FAQ) sobre migrar PrestaShop DirectAdmin
¿Puedo migrar PrestaShop sin perder los pedidos activos?
Sí, siempre que hagas un backup PrestaShop completo justo antes de la migración. Los pedidos en curso se mantendrán, pero ten en cuenta que cualquier cambio realizado después del backup se perderá. Programa la migración en un momento de baja actividad.
¿Qué hago si mi nuevo servidor usa Syspanel en lugar de DirectAdmin?
El proceso es muy similar. En Syspanel (puerto 2106), busca las secciones de Archivos y Base de datos. Los pasos de respaldo y restauración son equivalentes. Solo cambian los nombres de las interfaces.
¿Necesito cambiar algo en el archivo .htaccess?
Normalmente no, porque PrestaShop lo genera automáticamente. Sin embargo, si tu nuevo servidor tiene configuraciones especiales (como PHP 8.0 o superior), puede ser necesario ajustar algunas líneas. Revisa que el archivo .htaccess esté presente en la raíz de tu tienda.
¿Cuánto tiempo tarda la migración?
Depende del tamaño de tu tienda. Una tienda pequeña (menos de 100 productos y pocas imágenes) puede migrarse en 30-60 minutos. Tiendas grandes con miles de productos y muchas imágenes pueden tardar varias horas, especialmente en la subida de archivos.
¿Puedo hacer la migración yo mismo o necesito un experto?
Si sigues esta guía paso a paso, puedes hacerlo tú mismo. DirectAdmin es bastante intuitivo. Sin embargo, si tu tienda es muy grande o tiene configuraciones complejas (módulos personalizados, integraciones con ERP, etc.), puede ser recomendable contratar a un especialista.
¿Qué hago si después de la migración aparece un error de "Tabla no existe"?
Esto suele ocurrir si el backup de la base de datos no se importó correctamente. Vuelve a importar el archivo SQL asegurándote de que no haya errores. También verifica que el prefijo de las tablas en parameters.php coincida con el de la base de datos (por defecto ps_).
Conclusión
Migrar una tienda PrestaShop de un servidor a otro usando DirectAdmin es un proceso que, aunque requiere atención a los detalles, está al alcance de cualquier persona con conocimientos básicos de hosting. La clave está en hacer un backup PrestaShop completo y ordenado, y luego restaurar PrestaShop DirectAdmin siguiendo los pasos de configuración.
Recuerda siempre probar tu tienda después de la migración para asegurarte de que todo funcione correctamente. Y si algo sale mal, no entres en pánico: los backups están para eso. Siempre puedes volver al servidor anterior mientras solucionas los problemas.
Espero que esta guía te haya sido de ayuda. ¡Buena suerte con tu DirectAdmin PrestaShop migración!
