Cómo migrar una web de PrestaShop desde DirectAdmin a cPanel
¡Hola! Si estás leyendo esto, seguramente estás en pleno proceso de migrar PrestaShop. Es normal sentir un poco de vértigo: llevas tiempo con tu tienda en un servidor con DirectAdmin y has decidido (o te han recomendado) dar el salto a cPanel, ya sea por rendimiento, por soporte técnico, por precio o porque simplemente te han ofrecido un plan mejor.
La buena noticia es que migrar una tienda PrestaShop no es tan terrorífico como parece. No necesitas ser un gurú de la línea de comandos, aunque ayuda tener paciencia. En esta guía extensa, voy a desglosar, paso a paso y en un lenguaje muy claro, cómo realizar esta migración hosting sin perder los nervios (ni los pedidos) por el camino.
Vamos a desmitificar el proceso. Al final, se reduce a mover tres cosas: los archivos (el código de tu tienda), la base de datos (tus productos, clientes y pedidos) y ajustar un par de configuraciones para que todo hable entre sí correctamente. ¡Manos a la obra!
Antes de Empezar: La Preparación es Clave
Antes de tocar nada, respira hondo. La migración de una tienda online no es como copiar un documento de Word; hay que ser meticuloso. Un fallo aquí significa una tienda caída o, peor aún, una base de datos corrupta.
Primero, asegúrate de tener acceso a ambos paneles de control. Necesitarás las credenciales de DirectAdmin (tu servidor actual) y las de cPanel (tu servidor nuevo). Si no tienes las de cPanel, pídelas a tu nuevo proveedor de hosting antes de continuar.
Requisitos Previos Importantes
Para que la migración hosting sea un éxito, verifica estos puntos:
- Versiones de PHP: Anota la versión de PHP que usa tu tienda en DirectAdmin. En cPanel, deberás seleccionar una versión igual o superior (PrestaShop 1.7 o superior suele necesitar PHP 7.1+). Puedes verificarlo en el archivo
config/settings.inc.php(en versiones antiguas) o enapp/config/parameters.php(en versiones nuevas), aunque es más fácil mirarlo desde el panel de administración de tu tienda. - Espacio en disco: Asegúrate de tener suficiente espacio en el nuevo hosting para subir los archivos comprimidos.
- Copias de seguridad: Nunca, jamás, migres sin tener una copia de seguridad local en tu ordenador. Este es el paso más importante de todos.
Herramientas Necesarias
- Un cliente FTP (FileZilla es gratuito y perfecto).
- Acceso a phpMyAdmin en ambos servidores.
- Un editor de texto plano (como Notepad++ o Sublime Text, no uses el Bloc de Notas de Windows para archivos de configuración, puede dar problemas de codificación).
Paso 1: Preparar la Tienda en DirectAdmin (El Origen)
Ahora sí, vamos a trabajar sobre el servidor antiguo. El objetivo es empaquetar todo para poder trasladarlo.
1.1. Poner la Tienda en Modo Mantenimiento
Esto es crucial. Si dejas la tienda abierta, un cliente podría hacer un pedido mientras tú estás copiando los archivos, y ese pedido se perdería en el proceso. Ve a tu administración de PrestaShop: Preferencias → Mantenimiento y activa el modo mantenimiento. Guarda los cambios.
[TIP] Anota la IP de tu ordenador en el campo "IPs autorizadas" del modo mantenimiento. Así podrás seguir viendo la tienda mientras la migras, pero los clientes verán el mensaje de "en construcción".
1.2. Localizar y Comprimir los Archivos de la Tienda
Accede a tu panel de DirectAdmin. Busca el Administrador de Archivos (File Manager) y navega hasta la carpeta donde está instalada tu tienda. Normalmente es public_html o una subcarpeta dentro de esta, como public_html/tienda o public_html/prestashop.
Selecciona todos los archivos y carpetas dentro del directorio raíz de tu tienda. Haz clic derecho y selecciona "Comprimir" o "Add to Archive". Elige formato ZIP (es el más universal). Esto puede tardar unos minutos si tu tienda tiene muchas imágenes.
[WARNING] No comprimas la carpeta
public_htmlentera si contiene otras webs o archivos. Solo necesitas el contenido de la carpeta de tu tienda PrestaShop. Si tienes dudas, comprime el contenido de la carpeta (todo lo que hay dentro), no la carpeta en sí.
1.3. Exportar la Base de Datos
Este es el corazón de tu tienda. Ve a MySQL Management en DirectAdmin y busca phpMyAdmin. Selecciona la base de datos que usa tu PrestaShop (la puedes identificar en el archivo config/settings.inc.php o app/config/parameters.php).
Una vez dentro, haz clic en la pestaña "Exportar" (Export). Elige el método "Rápido" (o personalizado si sabes lo que haces) y formato SQL. Asegúrate de que la opción "Enviar" esté en "Guardar como archivo" o "Descargar". Haz clic en "Continuar" y descarga el archivo .sql a tu ordenador.
[INFO] Si tu base de datos es muy grande (más de 100 MB), la exportación por phpMyAdmin puede fallar. En ese caso, tendrás que usar la línea de comandos (SSH) con
mysqldumpo pedir ayuda a tu soporte técnico. Pero para la mayoría de las tiendas, phpMyAdmin es suficiente.
Paso 2: Preparar el Destino en cPanel
Ahora pasamos al nuevo servidor. Aquí crearemos el espacio para que viva tu tienda.
2.1. Crear la Base de Datos y el Usuario
En tu panel de cPanel, busca la sección "Bases de Datos MySQL".
- Crea una nueva base de datos (por ejemplo,
nuevo_presta). - Crea un nuevo usuario de base de datos (por ejemplo,
nuevo_user). - IMPORTANTE: Asigna el usuario a la base de datos y otórgale TODOS LOS PRIVILEGIOS (All Privileges). Sin esto, tu tienda no podrá leer ni escribir en la base de datos.
Anota el nombre de la base de datos, el usuario y la contraseña. Los necesitarás más adelante.
2.2. Importar la Base de Datos
- En cPanel, busca phpMyAdmin.
- Selecciona la base de datos que acabas de crear (en el menú de la izquierda).
- Haz clic en la pestaña "Importar" (Import).
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlque descargaste de DirectAdmin. - Haz clic en "Continuar". Espera a que termine. Si el archivo es grande, puede tardar unos minutos.
[WARNING] No cierres la ventana del navegador mientras se importa la base de datos. Interrumpir este proceso puede corromper los datos.
2.3. Subir los Archivos de la Tienda
Ahora vamos a subir el archivo ZIP que comprimiste. Tienes dos opciones:
Opción A (Recomendada para principiantes): Subir y Extraer
- En cPanel, abre el Administrador de Archivos.
- Navega a la carpeta
public_html(o la carpeta raíz de tu dominio). - Sube el archivo ZIP que descargaste. Puedes arrastrarlo y soltarlo o usar el botón "Subir".
- Una vez subido, selecciona el archivo ZIP y haz clic en "Extraer" (Extract).
- El sistema creará una carpeta con los archivos extraídos. Si el ZIP contenía el contenido de
public_htmldirectamente, los archivos se extraerán en la raíz. Si estaban dentro de una subcarpeta, tendrás que moverlos (seleccionar todos, cortar y pegar) apublic_html.
Opción B (Más rápida): Subir el ZIP y Extraer por SSH
Si tienes acceso SSH (Shell), es mucho más rápido. Sube el ZIP y luego ejecuta en la terminal:
cd public_html
unzip archivo.zip
Esto extraerá los archivos directamente en la carpeta, sin necesidad de moverlos después.
Paso 3: La Configuración Mágica (Ajustar Parámetros)
Esta es la parte que a muchos se les olvida y luego se preguntan por qué su tienda da error. Tenemos que decirle a PrestaShop dónde está ahora su nueva base de datos.
3.1. Editar el Archivo de Configuración
En tu Administrador de Archivos de cPanel, navega hasta la raíz de tu tienda. Busca el archivo config/settings.inc.php (si usas PrestaShop 1.6 o anterior) o app/config/parameters.php (si usas PrestaShop 1.7 o superior).
Edita este archivo y busca las líneas que definen la conexión a la base de datos. Verás algo como esto (en parameters.php):
'database_host' => 'localhost',
'database_name' => 'nombre_antiguo_base',
'database_user' => 'nombre_antiguo_usuario',
'database_password' => 'contraseña_antigua',
Debes cambiarlos por los datos de la nueva base de datos que creaste en cPanel:
'database_host' => 'localhost', // Normalmente se queda igual
'database_name' => 'nuevo_presta',
'database_user' => 'nuevo_user',
'database_password' => 'tu_nueva_contraseña',
Guarda los cambios.
[TIP] En cPanel, el host de la base de datos suele ser
localhost. Si no funciona, consulta la documentación de tu hosting, pero en el 99% de los casos eslocalhost.
3.2. Limpiar la Carpeta de Cache (var/cache o cache)
PrestaShop guarda archivos de caché para acelerar la web. Estos archivos pueden contener rutas antiguas que ya no existen. Es mejor borrarlos para que se regeneren con los nuevos datos.
- PrestaShop 1.7+: Elimina el contenido de la carpeta
var/cache(normalmentevar/cache/prodyvar/cache/dev). - PrestaShop 1.6 y anteriores: Elimina el contenido de la carpeta
cache.
No borres las carpetas en sí, solo su contenido. Deja los archivos .htaccess si los hay.
Paso 4: Ajustes Finales y Verificación
Ya casi lo tienes. Ahora vamos a asegurarnos de que todo funciona.
4.1. Ajustar el Archivo .htaccess
En la raíz de tu tienda, hay un archivo llamado .htaccess. Este archivo contiene reglas de reescritura de URLs y configuraciones del servidor. A veces es necesario regenerarlo.
- Ve a Preferencias → SEO y URLs en el panel de administración de PrestaShop.
- No cambies nada, simplemente haz clic en "Guardar". Esto forzará a PrestaShop a regenerar el archivo
.htaccesscon las nuevas rutas.
Si no puedes acceder al panel de administración, puedes borrar el archivo .htaccess manualmente desde el Administrador de Archivos. PrestaShop lo creará de nuevo la próxima vez que se cargue una página (aunque es mejor regenerarlo desde el panel para evitar problemas de redireccionamientos).
4.2. Probar la Tienda
Ahora viene el momento de la verdad. Abre tu dominio en el navegador.
- ¿Ves la tienda correctamente? ¡Enhorabuena!
- ¿Ves un error de conexión a la base de datos? Revisa que los datos en
parameters.phposettings.inc.phpsean correctos. - ¿Ves un error 500? Revisa los permisos de los archivos. Normalmente, las carpetas deben tener permiso
755y los archivos644. Puedes ajustarlos desde el Administrador de Archivos de cPanel.
4.3. Probar el Panel de Administración
Accede a tu panel de administración (normalmente en tudominio.com/admin). Entra con tus credenciales. Ve a Parámetros avanzados → Rendimiento y limpia la caché de nuevo. Esto es importante para evitar errores extraños.
Paso 5: Desactivar el Modo Mantenimiento y Disfrutar
Una vez que hayas verificado que todo funciona (productos, carrito, checkout, etc.), es hora de abrir las puertas.
- Ve a Preferencias → Mantenimiento en tu panel de administración de PrestaShop.
- Desactiva el modo mantenimiento.
- Guarda los cambios.
¡Felicidades! Has completado la migración hosting de DirectAdmin a cPanel con éxito. Tu tienda ya está viviendo en su nuevo hogar.
[WARNING] Después de la migración, actualiza el DNS de tu dominio si es necesario y espera a que se propaguen los cambios. Durante este tiempo, algunos usuarios podrían ver la tienda en el servidor antiguo y otros en el nuevo. Es crucial que no hagas cambios en la tienda antigua durante este período de transición, ya que los datos no se sincronizarán.
Preguntas Frecuentes (FAQ) sobre Migrar PrestaShop
¿Puedo usar un plugin o herramienta de migración automática?
Existen herramientas como CMS2CMS o Cart2Cart, pero suelen ser de pago y están más orientadas a cambiar de plataforma (de WooCommerce a PrestaShop, por ejemplo). Para una migración hosting entre paneles, el método manual que hemos descrito es el más fiable, gratuito y te da control total sobre el proceso.
¿Qué pasa con mis correos electrónicos (email accounts)?
La migración de cuentas de correo es un proceso aparte. Este artículo se centra en la web. Tendrás que crear las cuentas de correo en cPanel y, si quieres conservar los correos antiguos, usar el "Mail Import" o configurar un cliente de correo para copiarlos. Es un proceso tedioso, pero no afecta a la tienda en sí.
¿Pierdo el SEO después de la migración?
Si haces la migración correctamente, no deberías perder posicionamiento. Es crucial que las URLs se mantengan idénticas. PrestaShop usa URLs amigables que se basan en el nombre del producto y la categoría, así que si no cambias la estructura, el SEO se mantiene. Asegúrate de que el archivo .htaccess esté correctamente regenerado y verifica que las URLs de tus productos antiguos redirijan a las nuevas (si has cambiado la estructura, pero no es lo recomendable).
¿Y si mi tienda usa Syspanel (antes conocido como HestiaCP) en el servidor antiguo?
Si tu servidor antiguo usa Syspanel (recuerda, el puerto de acceso es el 2106), el proceso es muy similar al de DirectAdmin. La principal diferencia está en la ubicación de los archivos y la forma de acceder a la base de datos. En Syspanel, los archivos suelen estar en public_html o public_shtml, y el acceso a la base de datos se hace a través de Adminer o phpMyAdmin, según la configuración. El principio es el mismo: exportar, importar y cambiar los datos de conexión.
¿Qué hago si la migración falla y mi tienda se rompe?
No entres en pánico. Tienes la copia de seguridad local, ¿verdad? Puedes revertir los cambios del DNS para que apunte al servidor antiguo (DirectAdmin) mientras solucionas el problema. La tienda volverá a funcionar como antes, y podrás intentar la migración de nuevo con más calma. La paciencia es la clave en esto.
Espero que esta guía te haya sido de gran ayuda. La transferencia web es una tarea delicada, pero con estos pasos, un poco de atención y una buena dosis de paciencia, podrás hacerlo tú mismo y ahorrarte el coste de un servicio profesional. ¡Buena suerte con tu nueva etapa en cPanel!
