PrestaShop: Migrar tu tienda a un nuevo servidor con DirectAdmin
Mudar tu tienda online a un servidor nuevo puede sonar a una tarea de otro planeta, pero te prometo que con un poco de orden y las herramientas adecuadas, es un proceso que puedes gestionar sin volverte loco. Hoy vamos a desgranar, paso a paso, cómo migrar tu tienda PrestaShop a un servidor que use el panel de control DirectAdmin.
Este artículo está pensado para ti, que eres el alma de tu negocio y necesitas que todo funcione sin sobresaltos. No necesitas ser un gurú de la línea de comandos; solo seguir las instrucciones al pie de la letra. Vamos allá.
Preparativos esenciales antes de la migración
Antes de tocar nada, la clave del éxito es la organización. Una migración mal planificada puede dejarte días sin tienda. Por eso, vamos a preparar el terreno.
Haz una copia de seguridad completa de tu tienda actual
Este es el paso más importante de todos. Sin una copia de seguridad, cualquier error puede ser irreversible. Necesitas dos cosas: los archivos de tu tienda y la base de datos.
Para los archivos:
- Accede a tu panel de control actual (cPanel, Plesk, Syspanel, etc.).
- Busca la opción "Administrador de archivos" o "File Manager".
- Navega hasta la carpeta donde está instalado PrestaShop (normalmente
public_htmlowww). - Selecciona todos los archivos y carpetas y comprímelos en un ZIP. Si tu panel no tiene esta opción, puedes usar FTP (FileZilla, por ejemplo) para descargar todo a tu ordenador.
Para la base de datos:
- Busca la sección "phpMyAdmin" en tu panel.
- Selecciona la base de datos de tu PrestaShop.
- Haz clic en "Exportar" y elige el método "Rápido" y formato SQL.
- Guarda el archivo
.sqlen tu ordenador.
[TIP] Guarda ambos archivos (el ZIP y el SQL) en una carpeta llamada "Backup PrestaShop [fecha]" en tu escritorio. Así los tendrás localizados.
Revisa los requisitos del nuevo servidor
No todos los servidores son iguales. PrestaShop necesita un entorno específico. Antes de empezar, asegúrate de que tu nuevo servidor con DirectAdmin cumple con lo mínimo:
- PHP: Versión 7.4 o superior (recomendado 8.0 o 8.1).
- MySQL: Versión 5.6 o superior (o MariaDB equivalente).
- Apache o Nginx: Con módulo mod_rewrite activado.
- Memoria: Al menos 256 MB para PHP (recomendable 512 MB).
- Extensiones PHP: Debes tener activadas:
curl,gd,json,mbstring,openssl,pdo_mysql,simplexml,zip, entre otras.
Puedes pedirle a tu proveedor de hosting que te confirme estos datos o revisarlos tú mismo desde DirectAdmin en la sección "PHP Info".
Paso 1: Preparar el nuevo servidor con DirectAdmin
Una vez que tengas tu copia de seguridad y hayas verificado los requisitos, toca preparar el nuevo hogar de tu tienda.
Crear la base de datos y el usuario
En DirectAdmin, el proceso es muy visual y sencillo.
- Inicia sesión en DirectAdmin con tu usuario y contraseña.
- Busca el icono "MySQL Management" o "Administración de MySQL".
- Haz clic en "Create Database" o "Crear base de datos".
- Ponle un nombre, por ejemplo:
mitienda_prestashop. - Crea un usuario para esa base de datos. Por ejemplo:
mitienda_user. - Asigna una contraseña segura (puedes usar el generador que ofrece DirectAdmin).
- Marca la casilla "All Privileges" (todos los privilegios) para ese usuario.
- Haz clic en "Create".
[INFO] Anota en un bloc de notas: el nombre de la base de datos, el usuario y la contraseña. Los necesitarás más adelante.
Subir los archivos de tu tienda
Ahora toca mover los archivos al nuevo servidor.
- En DirectAdmin, ve a "File Manager" o "Administrador de archivos".
- Navega a
domains>tudominio.com>public_html. - Sube el archivo ZIP que descargaste de tu tienda antigua.
- Una vez subido, haz clic derecho sobre el archivo ZIP y selecciona "Extract" o "Extraer".
- Asegúrate de que todos los archivos se extraen en la carpeta
public_html.
Si tu tienda no está en la raíz del dominio (por ejemplo, en una subcarpeta como /tienda), entonces crea esa carpeta dentro de public_html y extrae allí los archivos.
Paso 2: Importar la base de datos
Con los archivos ya en su sitio, es hora de meter los datos.
- En DirectAdmin, busca el icono "phpMyAdmin".
- Selecciona la base de datos que acabas de crear (la que tiene el nombre que pusiste antes).
- Haz clic en la pestaña "Importar" o "Import".
- Haz clic en "Seleccionar archivo" y busca el archivo
.sqlque guardaste. - Asegúrate de que el formato es SQL y haz clic en "Continuar" o "Go".
- Espera a que termine la importación. Si tu base de datos es grande, puede tardar unos minutos.
[WARNING] Si ves errores de "duplicado" o "tabla ya existe", no te alarmes. Normalmente significa que la base de datos ya contenía datos. Puedes borrar las tablas existentes antes de importar desde phpMyAdmin (opción "Vaciar" o "Drop").
Paso 3: Configurar la conexión a la base de datos
PrestaShop guarda los datos de conexión a la base de datos en un archivo llamado app/config/parameters.php (en versiones modernas) o config/settings.inc.php (en versiones antiguas). Debes editarlo para que apunte a tu nueva base de datos.
- Desde el "File Manager" de DirectAdmin, navega a
public_htmly busca el archivoapp/config/parameters.php. - Haz clic derecho y selecciona "Edit" o "Editar".
- Busca las líneas que empiezan por
'database_host','database_name','database_user'y'database_password'. - Cámbialas por los datos que anotaste al crear la base de datos.
'database_host'suele serlocalhost(a menos que tu proveedor te dé otro).'database_name': el nombre que pusiste.'database_user': el usuario que creaste.'database_password': la contraseña de ese usuario.
- Guarda los cambios y cierra el editor.
[TIP] Si tu PrestaShop es muy antiguo (versión 1.6 o anterior), el archivo se llama
config/settings.inc.phpy las variables son_DB_SERVER_,_DB_NAME_,_DB_USER_y_DB_PASSWD_.
Paso 4: Ajustar la URL y el dominio
Es muy probable que la URL de tu tienda esté configurada con la dirección antigua. Debes actualizarla.
- En el "File Manager", busca el archivo
app/config/parameters.phpde nuevo. - Busca la línea
'PS_SHOP_DOMAIN'y'PS_SHOP_DOMAIN_SSL'(si existe). - Cámbialas por tu nuevo dominio (por ejemplo,
tunuevadominio.com). - Guarda los cambios.
Si no encuentras esas líneas, puedes cambiarlas directamente desde la base de datos usando phpMyAdmin:
- Ve a phpMyAdmin y selecciona tu base de datos.
- Busca la tabla
ps_configuration(o_configurationsegún el prefijo). - Busca las filas con
name=PS_SHOP_DOMAINyPS_SHOP_DOMAIN_SSL. - Edita el campo
valuecon tu nuevo dominio.
Paso 5: Probar la tienda y limpiar cachés
Ha llegado el momento de la verdad. Abre tu navegador y escribe tu nuevo dominio. Si todo ha ido bien, verás tu tienda funcionando.
Si ves un error en blanco o un mensaje de "El sitio no está disponible", no te preocupes. Prueba esto:
- Forzar la regeneración de la caché: En el archivo
config/defines.inc.php(en la raíz de tu tienda), busca la líneadefine('_PS_MODE_DEV_', false);y cámbiala adefine('_PS_MODE_DEV_', true);. Esto mostrará los errores en pantalla. - Borrar la caché manualmente: Desde el "File Manager", elimina la carpeta
var/cache(ocacheen versiones antiguas). PrestaShop la regenerará automáticamente. - Comprobar los permisos: Asegúrate de que las carpetas
var,cache,img,upload,downloadymodulestengan permisos 755 o 775. Los archivos deben tener 644.
[WARNING] No olvides desactivar el modo desarrollo (
_PS_MODE_DEV_afalse) una vez que la tienda funcione correctamente, o los errores se mostrarán a tus clientes.
Paso 6: Configurar los DNS y redirigir el tráfico
Si estás cambiando de dominio o de servidor, debes actualizar los DNS para que apunten al nuevo servidor.
- Ve a la configuración de tu dominio (donde lo compraste o lo gestionas).
- Busca la sección "DNS" o "Nameservers".
- Cambia los registros A (o NS) para que apunten a la IP de tu nuevo servidor.
- Si usas CDN como Cloudflare, actualiza también la IP allí.
La propagación de DNS puede tardar entre 1 y 48 horas. Durante ese tiempo, tu tienda puede verse desde algunos lugares y desde otros no.
[INFO] Para acelerar la migración, puedes editar temporalmente el archivo
hostsde tu ordenador para que el dominio resuelva a la nueva IP. Así puedes probar la tienda antes de que los DNS se propaguen.
Preguntas frecuentes (FAQ) sobre migración con DirectAdmin
Aquí respondo las dudas más comunes que suelen surgir durante este proceso.
¿Puedo migrar mi tienda sin perder datos de clientes o pedidos?
Sí, siempre que hagas una copia de seguridad completa de la base de datos y los archivos. La migración solo mueve los datos, no los borra del origen. Eso sí, asegúrate de que durante la migración no se realicen pedidos nuevos (puedes poner la tienda en modo mantenimiento).
¿Qué hago si me aparece un error de "500 Internal Server Error"?
Este error suele deberse a problemas de permisos o a un archivo .htaccess incorrecto. Prueba a:
- Cambiar los permisos de la carpeta
public_htmla 755. - Renombrar temporalmente el archivo
.htaccessa.htaccess_oldpara ver si se soluciona. - Verificar que el archivo
config/defines.inc.phpno tenga caracteres extraños.
¿Necesito cambiar el prefijo de las tablas de la base de datos?
No, el prefijo (normalmente ps_) se mantiene igual. Solo debes asegurarte de que en el archivo parameters.php el nombre de la base de datos sea correcto.
¿Puedo migrar usando una herramienta de terceros?
Existen plugins como "PrestaShop Migration" o servicios como "BlogVault", pero para un usuario con DirectAdmin, el método manual que te he explicado es más fiable y gratuito. Además, aprendes el proceso y puedes repetirlo tú mismo en el futuro.
¿Qué pasa con los módulos y temas que tenía instalados?
Los módulos y temas son parte de los archivos que subiste. Deberían funcionar sin problemas, pero algunos módulos pueden necesitar reactivación o tener licencias atadas a un dominio/IP. Revisa la configuración de cada módulo después de la migración.
¿Debo actualizar PrestaShop antes de migrar?
Si tu versión es muy antigua (por ejemplo, 1.6), es recomendable actualizarla en el servidor antiguo antes de migrar. Migrar una versión antigua a un servidor con PHP 8.0 puede dar errores de compatibilidad. Si no puedes actualizar, al menos asegúrate de que el nuevo servidor tenga la misma versión de PHP que el antiguo.
Conclusión: tu tienda ya está en casa
Migrar PrestaShop a un nuevo servidor con DirectAdmin no es un proceso mágico, pero con estos pasos bien ordenados, es completamente manejable. Recuerda: la paciencia y la organización son tus mejores aliadas.
Una vez que hayas completado la migración, no olvides:
- Probar el proceso de compra completo (añadir producto, registrarse, pagar).
- Revisar los módulos de pago y envío.
- Configurar nuevamente los certificados SSL si los tenías.
- Hacer una nueva copia de seguridad en el servidor nuevo.
Si en algún momento te sientes perdido, vuelve a este artículo. Y si el error persiste, no dudes en contactar con el soporte de tu hosting. La mayoría de los problemas se solucionan con un par de ajustes.
¡Tu tienda está lista para seguir vendiendo desde su nuevo hogar!
