Cómo mover PrestaShop de un servidor a otro (cPanel a DirectAdmin)
Mover una tienda online puede sonar a una operación delicada, y lo es, pero con la guía adecuada es un proceso completamente manejable. Si estás leyendo esto, probablemente estás buscando cómo migrar PrestaShop servidor de un hosting con cPanel a uno con DirectAdmin. Tal vez has encontrado una mejor oferta de rendimiento, necesitas más recursos o simplemente quieres cambiar de proveedor.
No te preocupes. En esta guía extensa y paso a paso, vamos a desglosar todo el proceso de mover PrestaShop cPanel DirectAdmin sin que pierdas datos, clientes ni posicionamiento en Google. Lo haremos de una forma clara, pensada para que lo entiendas aunque no seas un experto en sistemas.
Vamos a ello.
Antes de Empezar: Prepara el Terreno
La clave para una migración exitosa es la organización. No se trata de copiar y pegar archivos a lo loco. Hay que ser metódicos. Antes de tocar nada, necesitamos tener claro qué vamos a necesitar y qué queremos lograr.
Requisitos Previos y Herramientas Necesarias
Para llevar a cabo esta tarea, necesitarás lo siguiente:
- Acceso FTP/SFTP al servidor antiguo (cPanel): Esto incluye el usuario, la contraseña y el puerto (normalmente el 21 para FTP o el 22 para SFTP).
- Acceso al panel de control de cPanel: Para gestionar las bases de datos MySQL y descargar copias de seguridad.
- Acceso FTP/SFTP al servidor nuevo (DirectAdmin): Con sus credenciales correspondientes.
- Acceso al panel de DirectAdmin: Para crear bases de datos, usuarios y gestionar dominios.
- Un cliente FTP: Como FileZilla (gratuito y muy popular) para transferir archivos.
- Un editor de texto plano: Como Notepad++ o Sublime Text para modificar archivos de configuración.
- Credenciales de acceso a tu PrestaShop: Tanto al panel de administración (tuweb.com/admin) como a la base de datos.
[WARNING] Antes de empezar, asegúrate de tener una copia de seguridad completa y funcional de tu tienda en un lugar seguro, como tu ordenador o un disco duro externo. Esta es tu red de seguridad. Si algo sale mal, podrás restaurar desde este punto.
Entendiendo la Estructura: Archivos vs. Base de Datos
Piensa en tu tienda PrestaShop como un coche. Tiene dos partes fundamentales:
- Los Archivos (El Chasis y la Carrocería): Son todos los archivos de código, temas, imágenes, módulos, etc. Viven en el directorio
public_html(owww) de tu servidor. - La Base de Datos (El Motor): Es donde se almacenan todos tus productos, clientes, pedidos, configuraciones y contraseñas. Es el corazón de la tienda.
Para transferir PrestaShop de un servidor a otro, debemos mover ambas partes de forma sincronizada y correcta. Si movemos solo una, el coche no arrancará.
Fase 1: Preparar el Servidor de Destino (DirectAdmin)
Antes de mover nada, debemos preparar la "casa nueva" para recibir a nuestra tienda. Esto implica crear el espacio y la base de datos donde vivirán los datos.
Crear la Base de Datos y el Usuario en DirectAdmin
DirectAdmin tiene su propia forma de gestionar las bases de datos MySQL. Aquí te explico cómo hacerlo:
- Accede a tu panel de DirectAdmin.
- Busca la sección "MySQL Management" o "Administración de MySQL". Suele estar en la columna de la derecha o en el menú superior.
- Dentro, verás una opción para "Create new database" (Crear nueva base de datos).
- Te pedirá un nombre. Es crucial que lo anotes, ya que lo necesitarás más tarde. Normalmente tendrá un prefijo con tu nombre de usuario (ej:
usuario_prestashop). - Después, crea un usuario de base de datos (database user) y una contraseña segura. Anota también estos datos.
- Finalmente, tendrás que asignar ese usuario a la base de datos que acabas de crear. Generalmente, se hace marcando la casilla de "ALL PRIVILEGES" o "TODOS LOS PRIVILEGIOS". Esto le da al usuario control total sobre esa base de datos.
[TIP] Anota en un bloc de notas los nombres de la base de datos, el usuario y la contraseña. Los necesitarás en un paso posterior y es fácil olvidarlos.
Crear el Directorio para los Archivos
En DirectAdmin, el directorio raíz para tu dominio suele ser domains/tudominio.com/public_html. No tienes que crearlo manualmente, ya que se crea automáticamente al añadir el dominio. Solo asegúrate de que tu dominio principal esté configurado correctamente en DirectAdmin.
Fase 2: Exportar los Archivos y la Base de Datos desde cPanel
Ahora vamos a la "casa vieja" para empaquetar todo. Este proceso se divide en dos partes: descargar los archivos y exportar la base de datos.
Descargar los Archivos de tu Tienda desde cPanel
La forma más eficiente de hacerlo es comprimiendo todos los archivos en un solo archivo ZIP o TAR.GZ. Esto es mucho más rápido que descargar miles de archivos uno a uno.
- Accede a tu cPanel.
- Busca la herramienta "File Manager" (Administrador de Archivos).
- Navega hasta el directorio
public_html. Dentro de este directorio estarán todos los archivos de tu tienda. - Selecciona todos los archivos y carpetas dentro de
public_html. Puedes usar el botón "Select All" (Seleccionar todo) en la barra superior. - Una vez seleccionados, busca el botón "Compress" (Comprimir) en la barra superior.
- Elige el tipo de archivo comprimido (ZIP es una buena opción) y crea el archivo. Se generará un archivo como
public_html.zipen el mismo directorio. - Ahora, usa tu cliente FTP (FileZilla) para conectarte a tu servidor cPanel.
- Navega al directorio
public_htmly descarga el archivo ZIP a tu ordenador.
[INFO] Si tu tienda es muy grande (más de 2-3 GB), puede que el comprimido tarde un poco o dé problemas. En ese caso, una alternativa es comprimir por partes (por ejemplo, comprimir la carpeta modules, luego themes, etc.) o usar la opción de copia de seguridad completa de cPanel si tu proveedor la ofrece.
Exportar la Base de Datos de PrestaShop desde cPanel
Este paso es igual de crítico que el anterior. La base de datos contiene toda la información vital de tu negocio.
- En cPanel, busca la sección "Databases" (Bases de Datos) y haz clic en "phpMyAdmin".
- En el panel izquierdo, verás una lista de tus bases de datos. Haz clic en el nombre de la base de datos de tu PrestaShop. Normalmente se llama algo así como
usuario_prestashop. - Una vez dentro, ve a la pestaña "Export" (Exportar) en la parte superior.
- En la sección de método de exportación, elige "Quick" (Rápido) y formato "SQL".
- Haz clic en el botón "Go" (Continuar) en la parte inferior.
- Se descargará un archivo con extensión
.sqla tu ordenador. Este archivo contiene toda la estructura y los datos de tu tienda.
[WARNING] Cierra tu tienda (ponla en modo mantenimiento) antes de hacer la copia de seguridad de la base de datos. Puedes hacerlo desde el panel de administración de PrestaShop en Parámetros avanzados > Mantenimiento. Esto evita que se realicen pedidos o cambios mientras estás copiando los datos, lo que podría causar inconsistencias.
Fase 3: Subir Archivos e Importar Base de Datos a DirectAdmin
Ahora es el momento de llevar todo al nuevo servidor. Primero los archivos, luego la base de datos.
Subir y Descomprimir los Archivos en el Nuevo Servidor
- Conéctate a tu servidor DirectAdmin usando tu cliente FTP (FileZilla). Las credenciales son las que te proporcionó tu nuevo proveedor de hosting.
- Navega al directorio
domains/tudominio.com/public_html. Si existe algún archivo por defecto (como unindex.htmlde bienvenida), bórralo. - Sube el archivo ZIP que descargaste desde cPanel a este directorio.
- Una vez subido, necesitas descomprimirlo. DirectAdmin tiene un "File Manager" integrado. Accede a él desde tu panel de control.
- Dentro del File Manager, navega a
public_html, busca el archivo ZIP que subiste y haz clic derecho sobre él. Deberías ver una opción que diga "Extract" (Extraer) o "Unzip" (Descomprimir). - Haz clic en "Extract" y el sistema descomprimirá todos los archivos en el directorio actual.
[TIP] Si el File Manager de DirectAdmin no puede con el archivo por su tamaño, puedes descomprimirlo desde la terminal (SSH) si tienes acceso, o subir los archivos ya descomprimidos desde tu ordenador con FileZilla, lo cual es un poco más lento pero infalible.
Importar la Base de Datos en DirectAdmin
Ahora vamos a llenar el "motor" que creamos en la Fase 1.
- En tu panel de DirectAdmin, ve a "MySQL Management".
- Junto a la base de datos que creaste, hay un icono que dice "phpMyAdmin". Haz clic en él.
- Se abrirá phpMyAdmin. Asegúrate de que tu base de datos esté seleccionada en el panel izquierdo (la que creaste).
- Ve a la pestaña "Import" (Importar).
- Haz clic en "Choose File" (Elegir archivo) y selecciona el archivo
.sqlque descargaste de cPanel. - Deja el resto de opciones por defecto y haz clic en el botón "Go" (Continuar) en la parte inferior.
- Espera a que se complete la importación. Si la base de datos es grande, puede tardar unos minutos. Verás un mensaje de éxito al final.
[INFO] Asegúrate de que el usuario de la base de datos que creaste en DirectAdmin tenga todos los privilegios sobre la base de datos. Si no lo tiene, la importación podría fallar o la tienda no podrá conectarse.
Fase 4: Configurar PrestaShop para el Nuevo Servidor
Este es el paso más importante y el que más dolores de cabeza causa si se hace mal. PrestaShop necesita saber dónde está la nueva base de datos y con qué credenciales conectarse.
Editar el Archivo de Configuración parameters.php
PrestaShop guarda la configuración de la conexión a la base de datos en un archivo específico. En las versiones modernas (1.7 y superiores), este archivo se llama parameters.php y se encuentra en la carpeta app/config/.
- Usa el File Manager de DirectAdmin o tu cliente FTP para navegar a
public_html/app/config/. - Encuentra el archivo
parameters.php. - Haz clic derecho sobre él y selecciona "Edit" (Editar) o descárgalo, edítalo en tu ordenador y vuelve a subirlo.
- Dentro del archivo, buscarás una sección que dice
'database_host','database_name','database_user'y'database_password'. - Reemplaza los valores con los datos de la nueva base de datos que creaste en DirectAdmin:
'database_host' => 'localhost', // Normalmente es localhost, pero a veces puede ser otro valor
'database_name' => 'usuario_prestashop', // El nombre de tu nueva base de datos
'database_user' => 'usuario_prestashop', // El usuario de tu nueva base de datos
'database_password' => 'tu_nueva_contraseña', // La contraseña del usuario
- Guarda los cambios en el archivo.
[WARNING] Ten muchísimo cuidado al editar este archivo. Un error tipográfico en el nombre de la base de datos o la contraseña hará que tu tienda no funcione. Guarda siempre una copia de seguridad del archivo original antes de editarlo.
Limpiar la Carpeta var/cache
PrestaShop guarda archivos de caché para acelerar la carga de la página. Estos archivos contienen información del servidor anterior y pueden causar problemas después de la migración.
- En el File Manager de DirectAdmin, navega a
public_html/var/cache. - Selecciona todos los archivos y carpetas dentro de
cachey bórralos. No te preocupes, se regenerarán automáticamente cuando la tienda se cargue. Si no puedes borrarlos todos, al menos intenta borrar el contenido de las carpetasdevyprod.
Fase 5: Ajustes Finales y Verificación
Ya casi está. Ahora hay que hacer algunos ajustes finales y verificar que todo funciona correctamente.
Actualizar la URL de la Tienda en la Base de Datos
Aunque hayas movido los archivos y la base de datos, la base de datos aún tiene registrada la URL de tu tienda en el servidor antiguo (ej: http://www.tudominio.com o una IP antigua). Si no actualizas esto, la tienda podría redirigir a la ubicación antigua.
- Ve a phpMyAdmin en DirectAdmin y selecciona tu base de datos.
- Haz clic en la pestaña "SQL".
- Ejecuta la siguiente consulta SQL, reemplazando
tudominio.comcon tu dominio real yusuario_prestashopcon el nombre de tu base de datos:
SELECT * FROM ps_shop_url;
Esto te mostrará las URLs actuales. Para actualizarlas, ejecuta:
UPDATE ps_shop_url SET domain='tudominio.com', domain_ssl='tudominio.com', physical_uri='/';
[TIP] Si tu tienda usa un subdominio o una carpeta específica, la consulta será un poco diferente. En la mayoría de los casos, esta consulta es suficiente. Si no estás seguro, es mejor consultar con tu soporte técnico.
Probar la Tienda y el Panel de Administración
Llega el momento de la verdad. Abre tu navegador y visita tu dominio (ej: www.tudominio.com).
- ¿Ves tu tienda? ¡Excelente! Has logrado mover PrestaShop cPanel DirectAdmin con éxito.
- ¿Ves un error de conexión a la base de datos? Revisa el archivo
parameters.phpy asegúrate de que los datos son correctos. - ¿Ves un error 500? Puede ser un problema con los permisos de los archivos o con la caché. Asegúrate de que la carpeta
var/cacheesté vacía y que los permisos de las carpetasvar,cacheylogsean de escritura (generalmente755para carpetas y644para archivos).
Ahora, prueba el panel de administración: www.tudominio.com/admin. Si puedes iniciar sesión, todo está perfecto.
Regenerar el .htaccess (Importante para SEO)
El archivo .htaccess de PrestaShop contiene reglas de reescritura de URL que son cruciales para el SEO. A veces, se corrompe o no se migra bien.
- Accede a tu panel de administración de PrestaShop.
- Ve a "Parámetros avanzados" > "Rendimiento".
- En la sección "Regenerar el archivo .htaccess", haz clic en el botón "Guardar" o "Regenerar". Esto forzará a PrestaShop a crear un nuevo archivo
.htaccesscon las reglas correct
