Guía para mover PrestaShop a DirectAdmin sin perder datos
Mover una tienda online de PrestaShop a un nuevo servidor puede sonar a misión imposible, especialmente si no eres un experto en sistemas. Sin embargo, con una guía clara y las herramientas adecuadas, migrar PrestaShop DirectAdmin es un proceso totalmente factible, incluso para usuarios con poca experiencia técnica. El objetivo de este artículo es que puedas transferir PrestaShop de un hosting a otro sin perder ni un solo dato, pedido, cliente o configuración.
Vamos a desglosar todo el proceso en pasos sencillos, explicando cada parte con detalle. Al final, tendrás tu tienda funcionando en el nuevo panel de control DirectAdmin, con la misma apariencia y funcionalidad de siempre. La clave está en la preparación y en seguir el orden correcto: copia de seguridad, subida de archivos, importación de base de datos y ajuste de configuraciones.
¿Qué necesitas antes de empezar con la migración?
Antes de lanzarnos a la acción, es fundamental tener a mano una serie de datos y herramientas. Esto te ahorrará tiempo y evitará sustos a mitad de camino.
1. Acceso a tu hosting actual (el origen)
Necesitas poder acceder a tu panel de control actual (cPanel, Plesk o el que uses) para hacer una copia de seguridad completa. También necesitarás las credenciales de acceso a la base de datos de PrestaShop (usuario, contraseña y nombre de la BD) y al FTP (File Transfer Protocol) para descargar los archivos de la tienda.
2. Acceso a tu nuevo hosting con DirectAdmin (el destino)
Aquí es donde vas a migrar PrestaShop DirectAdmin. Necesitas tener las credenciales de acceso al panel de DirectAdmin que te ha proporcionado tu nuevo proveedor de hosting. Además, asegúrate de que el plan contratado cumple con los requisitos mínimos de PrestaShop: PHP 7.2 o superior (idealmente 7.4 u 8.0), MySQL 5.6 o superior, y extensiones como curl, gd, mbstring, pdo_mysql, entre otras. Puedes verificar esto fácilmente en la sección de "Gestor de PHP" o "Configuración de PHP" de DirectAdmin.
3. Un cliente FTP y un gestor de archivos
Para subir los archivos de tu tienda al nuevo servidor, necesitarás un cliente FTP como FileZilla (gratuito y muy popular). También puedes usar el "Gestor de Archivos" que viene integrado en DirectAdmin, aunque para carpetas grandes es mucho más fiable y rápido usar FileZilla.
4. Herramientas para gestionar la base de datos
Para exportar e importar la base de datos, puedes usar phpMyAdmin, que está disponible tanto en tu hosting actual como en DirectAdmin. Es la herramienta estándar y funciona perfectamente para este propósito.
Fase 1: La copia de seguridad en el servidor de origen
Este es el paso más crítico de toda la operación. Una copia de seguridad mal hecha puede resultar en una tienda corrupta o incompleta. Vamos a dividirla en dos partes: archivos y base de datos.
Paso 1.1: Exportar la base de datos de PrestaShop
La base de datos contiene toda la información de tu negocio: productos, clientes, pedidos, contraseñas, configuraciones, etc. Es el corazón de tu tienda.
- Entra en el panel de control de tu hosting actual y localiza el icono de phpMyAdmin.
- En la lista de la izquierda, selecciona la base de datos que corresponde a tu tienda PrestaShop. Si no sabes cuál es, búscala en el archivo
config/settings.inc.phpde tu instalación (busca la líneadefine('_DB_NAME_', 'nombre_de_tu_bd');). - Una vez dentro de la base de datos, haz clic en la pestaña "Exportar" en la parte superior.
- En el método de exportación, elige "Rápido" y en formato, asegúrate de que esté seleccionado "SQL".
- Haz clic en el botón "Continuar" o "Exportar". Esto descargará un archivo
.sqla tu ordenador. Guárdalo en un lugar seguro.
[WARNING] No uses la opción "Personalizado" si no tienes experiencia, ya que podrías cambiar opciones que afecten a la compatibilidad. La opción "Rápido" es más segura y suficiente para la mayoría de los casos.
Paso 1.2: Descargar los archivos de la tienda (el código fuente)
Ahora necesitamos todos los archivos que componen tu tienda: temas, módulos, imágenes, etc.
- Conecta tu cliente FTP (FileZilla) a tu servidor de origen usando las credenciales FTP que te proporcionó tu hosting. Normalmente son las mismas que las de cPanel o un usuario FTP específico.
- Navega hasta la carpeta donde está instalada tu tienda. Por lo general, es
public_html,htdocso una subcarpeta dentro de estas (por ejemplo,public_html/tienda). - En FileZilla, en el panel remoto (derecha), selecciona todos los archivos y carpetas dentro de la raíz de tu tienda.
- Arrastra todo al panel local (izquierda) a una carpeta vacía en tu ordenador. Esto comenzará la descarga.
[TIP] Si tu tienda tiene muchos archivos (miles de imágenes), la descarga puede tardar bastante. Ten paciencia y no interrumpas el proceso. Es recomendable hacer esto en un horario de poco tráfico para no saturar tu conexión.
Fase 2: Preparando el servidor de destino (DirectAdmin)
Ahora que tienes tu "caja de mudanza" (la copia de seguridad), vamos a preparar la nueva casa.
Paso 2.1: Crear la base de datos y el usuario en DirectAdmin
Necesitamos un lugar donde alojar los datos en el nuevo servidor.
- Accede a tu panel de DirectAdmin.
- Busca la sección "Gestor de Bases de Datos MySQL" (o "MySQL Management"). Por lo general, está en la sección "Cuenta" o "Administración".
- Haz clic en "Crear nueva base de datos".
- Te pedirá un nombre para la base de datos. DirectAdmin suele añadir un prefijo con el nombre de tu usuario (por ejemplo,
usuario_bd_tienda). Anota el nombre completo. - También te pedirá un usuario y una contraseña para esa base de datos. Anota todo cuidadosamente; lo necesitarás en el siguiente paso.
Paso 2.2: Subir los archivos de la tienda al nuevo servidor
Vamos a trasladar todos los archivos que descargamos anteriormente.
- Conecta FileZilla a tu nuevo servidor con las credenciales FTP que te ha dado tu proveedor para DirectAdmin (suele ser el usuario principal y la contraseña de la cuenta).
- Navega en el panel remoto hasta la carpeta
domainsy luego a la carpeta de tu dominio (por ejemplo,domains/tudominio.com). Dentro de esta, busca la carpetapublic_html. Esta es la raíz de tu sitio web. - Arrastra todos los archivos y carpetas que descargaste antes desde tu panel local (izquierda) hacia el panel remoto (derecha), dentro de
public_html. - Espera a que termine la subida. Este proceso puede ser largo, especialmente si hay muchas imágenes.
[INFO] Si tu tienda estaba en una subcarpeta (ej. public_html/tienda), puedes crear una subcarpeta llamada tienda dentro de public_html en el nuevo servidor y subir los archivos allí. Asegúrate de que la estructura de carpetas coincida.
Fase 3: La importación de la base de datos y la configuración
Ahora viene la parte más delicada: conectar los archivos con la base de datos.
Paso 3.1: Importar el archivo SQL en la nueva base de datos
- En tu panel de DirectAdmin, ve al "Gestor de Bases de Datos MySQL" y haz clic en el icono de phpMyAdmin junto a la base de datos que acabas de crear.
- Se abrirá phpMyAdmin. Tu base de datos estará seleccionada en el panel izquierdo.
- Haz clic en la pestaña "Importar" en la parte superior.
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlque exportaste en el Paso 1.1. - Deja el resto de opciones por defecto y haz clic en "Continuar".
- Espera a que se complete la importación. Si el archivo es muy grande, puede tardar unos minutos. Verás un mensaje de éxito al final.
Paso 3.2: Modificar el archivo de configuración de PrestaShop
Los archivos de tu tienda todavía apuntan a la base de datos antigua. Tenemos que actualizar las credenciales.
- En FileZilla, navega en el servidor remoto hasta la carpeta
configdentro de la raíz de tu tienda. - Busca el archivo
settings.inc.php(en PrestaShop 1.6 y anteriores) oparameters.php(en PrestaShop 1.7 y 8). - Descarga este archivo a tu ordenador y ábrelo con un editor de texto plano (como el Bloc de Notas o Notepad++). No uses Word.
- Busca las líneas que definen el nombre de la base de datos, el usuario y la contraseña. Se ven así (en
settings.inc.php):
Endefine('_DB_SERVER_', 'localhost'); define('_DB_NAME_', 'usuario_bd_tienda'); define('_DB_USER_', 'usuario_bd_usuario'); define('_DB_PASSWD_', 'tu_contraseña');parameters.php(más moderno), buscas los parámetros'database_host','database_name','database_user'y'database_password'. - Sustituye estos valores con los que anotaste en el Paso 2.1. El host de la base de datos suele ser
localhost, pero en algunos casos puede ser una dirección IP o un nombre de servidor. Pregunta a tu proveedor de hosting si no estás seguro. - Guarda el archivo y súbelo de vuelta al servidor, reemplazando el original.
[WARNING] PrestaShop 1.7 y 8 a veces tienen una caché que guarda la configuración de la base de datos. Si después de cambiar el archivo parameters.php la web sigue dando error, puedes intentar borrar el contenido de la carpeta var/cache (o cache en versiones antiguas) a través de FileZilla. No borres la carpeta en sí, sino todo su contenido.
Fase 4: Ajustes finales y verificación
Ya casi lo tienes. Ahora toca afinar detalles.
Paso 4.1: Actualizar el dominio y los enlaces
Es muy probable que tu tienda tenga enlaces internos que apunten al dominio antiguo.
- Accede a phpMyAdmin en tu nuevo hosting.
- Selecciona tu base de datos importada.
- Haz clic en la pestaña "SQL".
- Ejecuta las siguientes consultas SQL, reemplazando
tudominio.compor tu dominio real ytudominioantiguo.compor el dominio anterior (si es que lo has cambiado).
UPDATE ps_shop_url SET domain='tudominio.com', domain_ssl='tudominio.com' WHERE 1;
UPDATE ps_configuration SET value='tudominio.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');
UPDATE ps_shop SET domain='tudominio.com', domain_ssl='tudominio.com' WHERE 1;
[INFO] Si tu tienda siempre ha estado en el mismo dominio y solo has cambiado de servidor, es posible que no necesites este paso. Pero ejecutarlo no hace daño y asegura que no haya enlaces rotos. Si tu tienda usa multi-tienda, tendrás que adaptar estas consultas.
Paso 4.2: Comprobar la configuración de PHP y los permisos
- En DirectAdmin, ve a la sección "Gestor de PHP" o "Configuración de PHP" y asegúrate de que la versión de PHP y las extensiones son las mismas (o superiores) a las que usabas en tu hosting anterior.
- En FileZilla, asegúrate de que los permisos de las carpetas son correctos. PrestaShop necesita permisos de escritura en ciertas carpetas como
cache,log,img,configyvar(en versiones modernas). Normalmente, los permisos correctos son755para carpetas y644para archivos. Puedes seleccionar todos los archivos y carpetas, hacer clic derecho y seleccionar "Permisos de archivo" para ajustarlos.
Paso 4.3: Activar el modo de depuración (solo para verificar)
Si la tienda sale un error, activa el modo debug para ver el mensaje exacto.
- Abre el archivo
config/defines.inc.php(en la raíz de tu instalación). - Busca la línea
define('_PS_MODE_DEV_', false);y cámbiala atrue. - Guarda y sube el archivo.
- Ahora, al recargar tu web, verás el error específico en lugar de una página en blanco. Una vez solucionado, vuelve a cambiar
_PS_MODE_DEV_afalsepara desactivar el modo debug.
Preguntas frecuentes (FAQ) sobre la migración
Aquí resolvemos algunas dudas comunes que suelen surgir durante una DirectAdmin PrestaShop migración.
¿Cuánto tiempo tarda en completarse la migración?
Depende del tamaño de tu tienda. Una tienda pequeña (menos de 1GB) puede estar lista en 1-2 horas. Una tienda grande con muchos productos e imágenes puede tardar varias horas, principalmente por el tiempo de subida de los archivos por FTP.
¿Perderé mis clientes, pedidos y contraseñas?
No, si sigues los pasos correctamente. La base de datos contiene toda esa información y la estás transfiriendo íntegramente. Las contraseñas se mantienen porque se almacenan como hashes (cifradas) y no se ven afectadas por el cambio de servidor.
¿Qué hago con el certificado SSL?
DirectAdmin suele ofrecer certificados SSL gratis (Let's Encrypt). Puedes activarlo desde el panel de control en la sección "Certificados SSL". Una vez activado, no olvides actualizar la URL en la configuración de PrestaShop (Back Office -> Parámetros avanzados -> Rendimiento, o en la pestaña de Parámetros Generales) para que use https://.
¿Es necesario cambiar las DNS para migrar PrestaShop DirectAdmin?
Sí, para que el mundo vea tu nueva tienda, necesitas apuntar tu dominio al nuevo servidor. Esto se hace cambiando los servidores DNS (Nameservers) de tu dominio. Tu proveedor de hosting te dará los nuevos DNS (por ejemplo, ns1.tunuevohosting.com y ns2.tunuevohosting.com). Este cambio puede tardar entre 24 y 72 horas en propagarse globalmente.
¿Y si algo sale mal durante la migración?
Siempre puedes volver a tu hosting antiguo mientras tanto, ya que no has cancelado nada. Lo ideal es hacer la migración en un horario de bajo tráfico y mantener la copia de seguridad original en tu ordenador hasta que estés 100% seguro de que todo funciona en el nuevo servidor.
[TIP] Una buena práctica es probar la tienda en el nuevo servidor antes de cambiar las DNS. Puedes hacerlo editando el archivo hosts de tu ordenador para que apunte tu dominio a la IP del nuevo servidor. Así podrás ver la tienda como si ya estuviera en producción, sin afectar a los visitantes reales.
Conclusión: Tu tienda en DirectAdmin, lista para triunfar
Transferir PrestaShop a un nuevo servidor con DirectAdmin es un proceso que, con esta guía, deja de ser un dolor de cabeza. Hemos visto que se
