Cómo migrar PrestaShop a un nuevo servidor (DirectAdmin)
¡Hola! Soy tu técnico de soporte amigable y hoy vamos a realizar juntos una tarea muy común pero que puede sonar compleja: migrar PrestaShop a un nuevo servidor que usa DirectAdmin.
No te preocupes, lo he simplificado al máximo. Piensa en esto como mudar tu tienda online de una casa a otra: solo necesitas empaquetar bien tus archivos (el código) y tu base de datos (los productos, clientes, pedidos), llevarlos a la nueva dirección, y luego asegurarte de que todo funcione. ¡Yo te guío paso a paso!
¿Qué necesitas para empezar?
Antes de lanzarnos a la migración, asegurémonos de tener todo listo. Es como preparar las herramientas antes de una mudanza.
- Acceso al panel de control antiguo: Puede ser cPanel, Plesk, o incluso otro DirectAdmin. Necesitarás poder descargar archivos y exportar la base de datos.
- Acceso al nuevo servidor con DirectAdmin: Aquí es donde instalaremos tu tienda. Asegúrate de tener tus credenciales de administrador de DirectAdmin.
- Cliente FTP (como FileZilla): Para subir y bajar archivos de forma cómoda.
- phpMyAdmin (o similar): Para gestionar las bases de datos. Normalmente viene incluido en DirectAdmin.
- Paciencia y un buen café: Una migración sin prisas es una migración exitosa.
[TIP] Si tu nuevo servidor usa Syspanel (antes conocido como HestiaCP), el proceso es muy similar. Solo recuerda que el puerto de acceso a su panel es el 2106 en lugar del 2222 de DirectAdmin.
Paso 1: Haz una copia de seguridad completa de tu PrestaShop actual
Este es el paso más importante. Nunca modifiques ni toques tu tienda original hasta que la nueva esté funcionando perfectamente.
1.1. Exporta tu base de datos
La base de datos es el corazón de tu tienda: contiene productos, clientes, pedidos, configuraciones, etc.
- Accede a phpMyAdmin desde el panel de tu servidor antiguo.
- Selecciona la base de datos de tu PrestaShop (suele llamarse algo como
tu_tienda_prestashop). - Haz clic en la pestaña Exportar.
- Elige el método Rápido y formato SQL.
- Haz clic en Continuar o Exportar. Se descargará un archivo
.sqlcon toda tu información. ¡Guárdalo en un lugar seguro!
[WARNING] No uses la opción "Personalizado" a menos que sepas exactamente qué estás haciendo. El método rápido es perfecto para una migración estándar.
1.2. Descarga todos los archivos de tu tienda
Ahora vamos a obtener el código de tu tienda (temas, módulos, imágenes, etc.).
- Conéctate a tu servidor antiguo mediante FTP (FileZilla, por ejemplo) o desde el administrador de archivos de tu panel.
- Navega hasta la carpeta donde está instalado PrestaShop. Normalmente es
public_htmlowww. - Selecciona TODOS los archivos y carpetas (puedes usar Ctrl+A).
- Haz clic derecho y elige Descargar. Esto puede tomar varios minutos dependiendo del tamaño de tu tienda (las imágenes de productos suelen ocupar más).
[INFO] Si tu tienda es muy grande (más de 1GB), te recomiendo comprimir la carpeta en un archivo ZIP o TAR.GZ desde el panel de control antes de descargarla. Así será más rápido y evitarás errores de conexión.
Paso 2: Prepara el nuevo servidor en DirectAdmin
Ahora vamos a la nueva casa. DirectAdmin es muy intuitivo, pero hay que configurar algunas cosas.
2.1. Crea una base de datos y un usuario
- Inicia sesión en tu DirectAdmin.
- Busca la sección Administración de Base de Datos o MySQL Management.
- Haz clic en Crear nueva base de datos.
- Ponle un nombre, por ejemplo:
nueva_tienda_presta. - Crea un usuario y una contraseña segura. Anota estos datos, los necesitarás más adelante.
- Asigna el usuario a la base de datos con todos los privilegios.
[TIP] En DirectAdmin, los nombres de bases de datos y usuarios suelen tener un prefijo con tu nombre de usuario (ej: usuario_nueva_tienda). No te preocupes, es normal.
2.2. Sube tus archivos al nuevo servidor
- Conéctate por FTP a tu nuevo servidor DirectAdmin.
- Ve a la carpeta donde quieres instalar PrestaShop (normalmente
public_htmlodomains/tudominio.com/public_html). - Sube todos los archivos que descargaste en el Paso 1.2. Si los comprimiste, primero súbelos y luego descomprímelos desde el administrador de archivos de DirectAdmin.
2.3. Importa tu base de datos
- En DirectAdmin, ve a phpMyAdmin (suele estar en la sección de Base de Datos).
- Selecciona la base de datos que acabas de crear (estará vacía).
- Haz clic en la pestaña Importar.
- Haz clic en Seleccionar archivo y elige el archivo
.sqlque exportaste. - Haz clic en Continuar. El proceso puede tardar unos segundos. Si ves un mensaje de éxito, ¡perfecto!
Paso 3: Conecta PrestaShop con la nueva base de datos
Ahora tenemos los archivos y la base de datos en el nuevo servidor, pero PrestaShop aún no sabe dónde está su nueva base de datos. Vamos a presentarlos.
3.1. Edita el archivo de configuración
El archivo mágico se llama app/config/parameters.php. Es el que guarda las credenciales de conexión.
- Desde el administrador de archivos de DirectAdmin o vía FTP, navega a la carpeta
app/config/dentro de tu instalación de PrestaShop. - Busca el archivo
parameters.php. Ábrelo con un editor de texto. - Busca estas líneas y cámbialas por los datos de tu nueva base de datos:
'database_host' => 'localhost', // Normalmente siempre es 'localhost'
'database_name' => 'el_nombre_de_tu_nueva_base',
'database_user' => 'el_usuario_de_tu_nueva_base',
'database_password' => 'la_contraseña_de_tu_nueva_base',
- Guarda el archivo.
[WARNING] A veces el servidor de base de datos no es 'localhost'. Si tu hosting te ha dado un host específico (ej: mysql.tudominio.com), úsalo. Si no estás seguro, 'localhost' funciona en el 99% de los casos.
3.2. (Opcional) Actualiza las URL en la base de datos
Si cambias de dominio o de subdominio, es posible que algunas URLs internas sigan apuntando al antiguo. Para evitarlo, puedes hacer un pequeño ajuste en la base de datos.
- En phpMyAdmin de tu nuevo servidor, selecciona tu base de datos.
- Haz clic en la pestaña SQL.
- Ejecuta esta consulta, cambiando
tudominioantiguo.compor tu dominio antiguo ytudominionuevo.compor el nuevo:
UPDATE ps_configuration SET value = 'https://tudominionuevo.com' WHERE name = 'PS_SHOP_DOMAIN';
UPDATE ps_configuration SET value = 'https://tudominionuevo.com' WHERE name = 'PS_SHOP_DOMAIN_SSL';
[INFO] El prefijo ps_ puede ser diferente si lo personalizaste. En la mayoría de las instalaciones es ps_.
Paso 4: Prueba y verifica la migración
¡Ya casi estamos! Ahora solo falta asegurarnos de que todo funciona.
- Accede a tu tienda escribiendo tu nuevo dominio en el navegador.
- Navega por algunas páginas: productos, carrito, proceso de compra (sin pagar realmente, solo para probar).
- Accede al back office: Añade
/admino la URL de tu panel de administración (ej:tudominio.com/admin1234). - Verifica los módulos: Ve a Módulos > Catálogo de módulos y asegúrate de que estén activos y funcionando.
- Comprueba las imágenes: Si ves imágenes rotas, es posible que necesites regenerarlas desde el back office (Parámetros de la tienda > Rendimiento > Regenerar miniaturas).
[TIP] Si ves un error de "Base de datos no encontrada" o "Error de conexión", revisa tres veces los datos en parameters.php. Es el error más común.
Paso 5: Solución de problemas comunes (FAQ)
Aquí tienes las preguntas que más me hacen cuando alguien está migrando PrestaShop a DirectAdmin.
¿Por qué veo una página en blanco después de la migración?
Es un error clásico. Normalmente es por un problema de permisos de archivos o de caché.
- Borra la caché: Conéctate por FTP y elimina la carpeta
var/cache/(ocache/en versiones antiguas). Se regenerará sola. - Verifica permisos: En DirectAdmin, selecciona toda la carpeta de PrestaShop y pon los permisos en 755 para carpetas y 644 para archivos. Puedes hacerlo desde el administrador de archivos.
Mi tienda se ve bien, pero no puedo acceder al back office. ¿Qué hago?
A veces las URLs del back office se corrompen. Puedes forzar el acceso:
- Edita el archivo
parameters.phpy busca la línea'ps_caching' => 'CacheMemcache'. Cámbiala a'ps_caching' => 'CacheMemcache'o simplemente bórrala. - Si eso no funciona, desde phpMyAdmin, busca la tabla
ps_configurationy elimina las filas dondenameseaPS_CACHING_SYSTEM.
¿Es necesario cambiar el nombre de dominio en la base de datos?
Solo si cambias de dominio. Si migras al mismo dominio pero a un servidor diferente, no es necesario. Las URLs se mantienen igual.
Mi nuevo servidor usa Syspanel (HestiaCP). ¿Cambia algo?
El proceso es exactamente el mismo. La única diferencia es que el puerto de acceso al panel de Syspanel es el 2106 (en lugar del 2222 de DirectAdmin). En cuanto a FTP, phpMyAdmin y la gestión de archivos, todo es idéntico.
¿Qué hago si la migración falla y mi tienda original sigue funcionando?
¡No pasa nada! Mientras no hayas tocado los archivos originales, tu tienda sigue intacta en el servidor antiguo. Simplemente revisa los pasos, corrige el error y vuelve a intentarlo. La migración no afecta a tu tienda original hasta que apuntas el dominio al nuevo servidor.
Paso 6: Apunta tu dominio al nuevo servidor (el gran final)
Una vez que todo funciona perfectamente en el nuevo servidor, es hora de hacer el cambio oficial.
- Ve al panel de control de tu dominio (donde compraste el dominio, como GoDaddy, Namecheap, etc.).
- Busca la sección de DNS o Servidores de nombres (Nameservers).
- Cambia los nameservers por los que te proporcionó tu nuevo hosting (ej:
ns1.nuevohosting.comyns2.nuevohosting.com). - Espera de 24 a 48 horas para que el cambio se propague por todo internet. Durante ese tiempo, algunos usuarios verán la tienda nueva y otros la antigua.
[WARNING] No desactives ni canceles el hosting antiguo hasta que veas que tu dominio ya apunta al nuevo servidor y todo funciona correctamente. Así tienes un plan de respaldo.
Conclusión: ¡Migración completada!
Felicidades, has logrado migrar PrestaShop a un nuevo servidor con DirectAdmin. Puede parecer un proceso largo, pero una vez que lo haces, te das cuenta de que solo son unos pocos pasos lógicos.
Recuerda que si en algún momento te quedas atascado, puedes volver a este artículo y seguir las instrucciones al pie de la letra. Y si tu nuevo servidor usa Syspanel, no olvides que el puerto es el 2106.
Ahora, disfruta de tu tienda en su nuevo hogar. ¡Más rápida, más segura y lista para crecer! Si tienes cualquier otra duda, aquí estoy para ayudarte.
