Cómo migrar PrestaShop a un nuevo servidor (cPanel a DirectAdmin)
Antes de empezar: ¿Qué significa migrar PrestaShop?
Migrar tu tienda PrestaShop a un nuevo servidor es como mudarte a una casa nueva: tienes que llevarte todos tus muebles (archivos), tus cajas (bases de datos) y asegurarte de que las llaves (configuraciones) funcionan en la nueva cerradura. En el mundo del hosting, esto significa copiar tus archivos, exportar tu base de datos, crear una nueva base de datos en el destino y ajustar los archivos de configuración para que todo apunte al lugar correcto.
Si vienes de un hosting con cPanel y te mudas a uno con DirectAdmin, el proceso es bastante sencillo, pero requiere atención a los detalles. Ambos paneles son herramientas gráficas que te permiten gestionar archivos, bases de datos y dominios, pero sus interfaces y nombres de opciones cambian ligeramente.
En esta guía, te explicaré paso a paso cómo realizar esta migración PrestaShop de forma segura, sin prisas y sin necesidad de ser un experto en sistemas. Vamos a ello.
Qué necesitas antes de empezar la migración
Antes de tocar nada, es fundamental que prepares el terreno. Una migración exitosa depende de tener todo a mano y de saber exactamente qué estás moviendo.
1. Credenciales de acceso al servidor actual (cPanel)
Necesitarás:
- Tu usuario y contraseña de cPanel.
- Acceso al Administrador de archivos o un cliente FTP (como FileZilla).
- Acceso a phpMyAdmin dentro de cPanel para exportar la base de datos.
2. Credenciales de acceso al servidor nuevo (DirectAdmin)
En el nuevo servidor, necesitarás:
- Tu usuario y contraseña de DirectAdmin.
- Los datos de acceso a MySQL (normalmente los creas desde el propio panel).
- Acceso al Administrador de archivos de DirectAdmin o un cliente FTP.
3. Software de apoyo
Te recomiendo tener instalado en tu ordenador:
- Un cliente FTP (FileZilla es gratuito y muy fácil de usar).
- Un editor de texto plano (como Notepad++ o Sublime Text) para editar archivos de configuración sin que se rompan los formatos.
4. Copia de seguridad de tu tienda actual
Esto es un PASO OBLIGATORIO. Aunque la migración sea rutinaria, un error humano puede dejarte sin datos. Haz una copia de seguridad completa:
- Exporta tu base de datos desde phpMyAdmin de cPanel.
- Descarga todos los archivos de tu tienda (normalmente en
public_htmlowww).
Paso 1: Migrar PrestaShop - Exportar la base de datos desde cPanel
La base de datos es el cerebro de tu tienda: contiene productos, pedidos, clientes, configuraciones... Sin ella, tu tienda no es nada. Para exportarla desde cPanel:
- Inicia sesión en tu cPanel.
- Busca la sección Bases de datos y haz clic en phpMyAdmin.
- En el panel izquierdo, verás una lista de bases de datos. Haz clic en la que corresponda a tu PrestaShop (suele tener un prefijo como
tuusuario_prestashop). - Una vez dentro, ve a la pestaña Exportar en el menú superior.
- Elige el método Rápido y el formato SQL. Haz clic en Continuar.
- Se descargará un archivo con extensión
.sql. Guárdalo en una carpeta segura en tu ordenador.
[WARNING] No uses el método "Personalizado" a menos que sepas exactamente qué estás haciendo. A veces, opciones avanzadas como "Comprimir" o "Desactivar claves externas" pueden generar problemas al importar en el nuevo servidor.
Paso 2: Exportar los archivos de tu tienda desde cPanel
Ahora vamos con los archivos de tu tienda (imágenes, módulos, temas, etc.). Hay dos formas: desde el Administrador de archivos de cPanel o mediante FTP.
Opción A: Usando el Administrador de archivos de cPanel
- En cPanel, ve a la sección Archivos y haz clic en Administrador de archivos.
- Navega hasta la carpeta donde está instalado PrestaShop (normalmente
public_html). - Selecciona todos los archivos y carpetas dentro (puedes usar
Ctrl + A). - Haz clic derecho y selecciona Comprimir.
- Elige el formato Zip y espera a que se genere el archivo comprimido.
- Descarga ese archivo
.zipa tu ordenador.
Opción B: Usando FTP (recomendado para tiendas grandes)
- Conecta FileZilla a tu servidor cPanel usando los datos FTP que encontrarás en la sección Cuentas FTP de cPanel.
- Navega a
public_html. - Arrastra todas las carpetas y archivos a una carpeta local en tu ordenador.
[INFO] Si tu tienda tiene muchos productos e imágenes, la descarga puede tardar bastante. Ten paciencia y asegúrate de que tu conexión a internet es estable.
Paso 3: Preparar el servidor nuevo en DirectAdmin
Ahora pasamos al destino. En el nuevo servidor con DirectAdmin, primero necesitas crear la base de datos y el usuario que la gestionará.
3.1 Crear la base de datos en DirectAdmin
- Inicia sesión en tu panel de DirectAdmin.
- Busca la sección Administración de MySQL (o MySQL Management).
- Haz clic en Crear nueva base de datos.
- Elige un nombre para tu base de datos (por ejemplo,
presta_db). - Crea un usuario y una contraseña para esa base de datos. Guárdalos en un lugar seguro, los necesitarás más adelante.
- Asigna el usuario a la base de datos con todos los privilegios.
[TIP] Escribe los nombres de base de datos y usuario en un bloc de notas. Los necesitarás para editar el archivo
parameters.phpmás adelante.
3.2 Subir los archivos de tu tienda al nuevo servidor
- En DirectAdmin, ve a Administrador de archivos (File Manager).
- Navega hasta la carpeta
domainsy luego a la carpeta de tu dominio (por ejemplo,tudominio.com). - Dentro, busca la carpeta
public_html. Si no existe, créala. - Sube el archivo
.zipque descargaste desde cPanel (o arrastra las carpetas directamente si usaste FTP). - Si subiste un
.zip, haz clic derecho sobre él y selecciona Extraer. - Una vez extraído, asegúrate de que los archivos están directamente en
public_html, no en una subcarpeta.
[WARNING] Si al extraer te crea una carpeta tipo
public_html/public_html, tendrás que mover los archivos un nivel hacia arriba. Esto es un error muy común y la tienda no cargará correctamente.
Paso 4: Importar la base de datos en el nuevo servidor
Ahora toca dar vida a esa base de datos que exportaste. En DirectAdmin, el proceso es muy similar a cPanel:
- Ve a Administración de MySQL y haz clic en phpMyAdmin.
- Selecciona la base de datos que creaste en el paso anterior.
- Ve a la pestaña Importar.
- Haz clic en Seleccionar archivo y elige el archivo
.sqlque descargaste desde cPanel. - Haz clic en Continuar o Importar.
- Espera a que aparezca un mensaje de éxito. Si la base de datos es muy grande, puede tardar unos minutos.
[INFO] Si el archivo SQL es demasiado grande para phpMyAdmin (más de 100 MB), tendrás que importarlo usando la línea de comandos (SSH) o usando herramientas como BigDump. En ese caso, contacta con tu proveedor de hosting para que te ayuden.
Paso 5: Configurar PrestaShop para el nuevo servidor
Este es el paso más delicado. PrestaShop guarda la información de conexión a la base de datos en un archivo llamado parameters.php, ubicado en la carpeta app/config.
5.1 Editar parameters.php
- En el Administrador de archivos de DirectAdmin, navega hasta
public_html/app/config. - Busca el archivo
parameters.phpy haz clic derecho sobre él para seleccionar Editar (o descárgalo y edítalo en tu ordenador). - Busca las líneas que empiezan por
'database_host','database_name','database_user'y'database_password'. - Reemplaza los valores con los datos de tu nueva base de datos de DirectAdmin:
'database_host'suele serlocalhosto127.0.0.1. En DirectAdmin, normalmente eslocalhost.'database_name'es el nombre que le diste a tu base de datos.'database_user'es el usuario que creaste.'database_password'es la contraseña que elegiste.
- Guarda el archivo y súbelo de nuevo si lo habías descargado.
[TIP] Haz una copia de seguridad del
parameters.phporiginal antes de editarlo. Si algo sale mal, podrás restaurarlo.
5.2 Verificar la URL de la tienda
PrestaShop guarda la URL de tu tienda en la tabla ps_shop_url de la base de datos. Si tu dominio no cambia, no necesitas hacer nada. Pero si cambias de dominio, tendrás que actualizarlo.
- En phpMyAdmin de DirectAdmin, selecciona tu base de datos.
- Busca la tabla
ps_shop_url(el prefijops_puede variar según tu instalación). - Haz clic en Editar (el icono del lápiz) y cambia las columnas
domainydomain_sslpor tu nuevo dominio. - Guarda los cambios.
Paso 6: Configurar el dominio y los certificados SSL
Ahora que tu tienda está en el nuevo servidor, necesitas asegurarte de que el dominio apunta al lugar correcto.
6.1 Cambiar los DNS del dominio
Si tu dominio está registrado en otro sitio, tendrás que cambiar los servidores de nombres (DNS) para que apunten a tu nuevo hosting. Tu proveedor de hosting te dará dos o más direcciones DNS (por ejemplo, ns1.tunuevohosting.com y ns2.tunuevohosting.com).
- Ve al sitio web donde compraste tu dominio.
- Busca la sección Gestión de DNS o Nameservers.
- Reemplaza los servidores de nombres actuales por los nuevos.
- Ten en cuenta que la propagación de DNS puede tardar entre 24 y 72 horas.
[WARNING] No borres el dominio del servidor antiguo hasta que la propagación de DNS se haya completado y hayas verificado que todo funciona en el nuevo. De lo contrario, tu tienda podría estar inaccesible.
6.2 Activar SSL (HTTPS)
Es imprescindible que tu tienda funcione con HTTPS, tanto por seguridad como por SEO. En DirectAdmin:
- Ve a Administrador de SSL.
- Selecciona tu dominio.
- Puedes generar un certificado gratuito con Let's Encrypt directamente desde el panel.
- Activa la opción de Forzar HTTPS para que todas las visitas se redirijan automáticamente a la versión segura.
[INFO] Si usas Syspanel (antes llamado HestiaCP) en tu nuevo servidor, el acceso al panel de control se realiza a través del puerto 2106. Dentro de Syspanel, los pasos para crear la base de datos y gestionar SSL son muy similares a DirectAdmin, pero la interfaz es un poco más minimalista.
Paso 7: Probar tu tienda y solucionar problemas comunes
Una vez que los DNS se hayan propagado, es hora de probar tu tienda a fondo.
7.1 Pruebas básicas
- Escribe tu dominio en el navegador y comprueba que la tienda carga.
- Navega por algunas categorías y productos.
- Añade un producto al carrito y ve al proceso de pago (sin finalizar la compra).
- Entra al panel de administración (
/admino la ruta que hayas configurado).
7.2 Problemas comunes y soluciones
La tienda muestra un error de conexión a la base de datos.
- Revisa los datos en
parameters.php. Es muy probable que haya un error en el nombre de la base de datos, el usuario o la contraseña.
La tienda muestra un error 500.
- Esto suele deberse a permisos incorrectos en los archivos. En DirectAdmin, selecciona todos los archivos de
public_htmly cambia los permisos a755para las carpetas y644para los archivos. - También puede ser que el archivo
.htaccessno se haya copiado correctamente. Si no existe, puedes generarlo desde el panel de administración de PrestaShop.
Las imágenes no cargan.
- Este problema es muy común. Ve al panel de administración de PrestaShop, a Parámetros avanzados > Rendimiento, y haz clic en Regenerar miniaturas.
No puedo acceder al panel de administración.
- Asegúrate de que la URL de administración es correcta. Si no la recuerdas, busca en la base de datos la tabla
ps_employeey verifica el campopasswd(no podrás ver la contraseña, pero sí el email).
Paso 8: Limpieza y optimización post-migración
Una vez que todo funcione, no te olvides de estos detalles:
8.1 Eliminar archivos temporales
- Borra la carpeta
var/cache(ocacheen versiones antiguas) para que PrestaShop genere nuevas cachés. - Elimina el archivo
.zipque subiste al servidor.
8.2 Actualizar la versión de PHP
Asegúrate de que tu nuevo servidor usa una versión de PHP compatible con tu versión de PrestaShop. Puedes cambiarlo desde DirectAdmin en la sección Select PHP Version.
8.3 Comprobar los logs de errores
Revisa el archivo var/logs (o log) de tu tienda para detectar posibles errores ocultos. Si ves algo raro, puedes buscar el error en Google o contactar con tu hosting.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo tarda la propagación de DNS?
Normalmente entre 24 y 72 horas, aunque en muchos casos es mucho más rápido. Puedes acelerar el proceso cambiando los DNS en tu registrador lo antes posible.
¿Puedo hacer la migración sin cambiar el dominio?
Sí, puedes migrar los archivos y la base de datos a un servidor temporal y acceder mediante una IP o un subdominio para probar. Pero es más sencillo hacerlo directamente con el dominio final.
¿Qué pasa si mi tienda usa módulos de pago?
Los módulos de pago suelen estar vinculados a tu dominio y a tu cuenta. Después de la migración, es posible que necesites reactivarlos o reconfigurarlos. Contacta con el soporte de cada módulo si tienes problemas.
¿Pierdo el posicionamiento SEO al migrar PrestaShop?
No, siempre que mantengas la misma URL y la estructura de enlaces. Asegúrate de no cambiar la URL de las páginas y de que el archivo .htaccess se ha copiado correctamente. Después de la migración, verifica en Google Search Console que no hay errores de rastreo.
¿Es necesario contratar un servicio profesional para migrar PrestaShop?
Para tiendas pequeñas y medianas, puedes hacerlo tú mismo siguiendo esta guía. Si tu tienda es muy grande o tienes muchas personalizaciones, siempre es recomendable contar con un profesional para evitar riesgos.
Conclusión: Tu tienda en casa nueva
Migrar PrestaShop a un nuevo servidor no es un proceso complicado, pero requiere método y paciencia. Siguiendo estos pasos, habrás cambiado de servidor PrestaShop sin perder datos ni posicionamiento.
Recuerda: la clave está en hacer una buena copia de seguridad, exportar correctamente la base de datos y los archivos, y ajustar la configuración en el nuevo servidor. Con un poco de cuidado, tu tienda estará funcionando en DirectAdmin en menos de lo que imaginas.
[TIP] Después de la migración, no borres los archivos del servidor antiguo durante
