Cómo migrar una tienda PrestaShop a un nuevo servidor con DirectAdmin
Migrar una tienda PrestaShop a un nuevo servidor puede sonar a un proceso complicado, pero con una buena guía y las herramientas adecuadas, es un trabajo que puedes realizar sin ser un experto en sistemas. En este artículo, te explicaré paso a paso cómo transferir tu tienda PrestaShop a un servidor que utilice DirectAdmin como panel de control. DirectAdmin es conocido por su interfaz limpia y su eficiencia, lo que lo convierte en una excelente opción para gestionar tu hosting.
Vamos a dividir este proceso en partes claras. Primero, prepararemos todo en el servidor de origen (el actual), luego configuraremos el nuevo servidor con DirectAdmin, y finalmente realizaremos la migración de archivos y base de datos. No te preocupes si no tienes mucha experiencia técnica, iremos despacio y con muchos ejemplos.
[INFO] Este tutorial asume que tienes acceso tanto al panel de control de tu hosting actual como a DirectAdmin en el nuevo servidor. Si no es así, contacta con tu proveedor de hosting para obtener las credenciales.
Preparación en el servidor de origen
Antes de tocar nada, es fundamental hacer una copia de seguridad completa de tu tienda PrestaShop. Esto incluye tanto los archivos del sitio como la base de datos. Si algo sale mal, podrás restaurar todo en segundos.
Haz una copia de seguridad de los archivos
Accede a tu panel de control actual (cPanel, Plesk, o el que uses) y busca la opción de "Gestor de archivos" o "File Manager". También puedes usar FTP (FileZilla, por ejemplo) para descargar todos los archivos de tu tienda. La carpeta principal de PrestaShop suele llamarse public_html o www.
- Conéctate a tu servidor mediante FTP o el gestor de archivos.
- Selecciona toda la carpeta de tu tienda (normalmente
public_html). - Descarga una copia comprimida en ZIP o tar.gz. La mayoría de paneles permiten comprimir carpetas con un clic derecho.
- Guarda ese archivo en tu ordenador. No lo borres hasta que la migración esté completa.
Haz una copia de seguridad de la base de datos
PrestaShop almacena toda la información de productos, clientes, pedidos y configuraciones en una base de datos MySQL. Debes exportarla.
- Entra en phpMyAdmin desde tu panel de control actual. Normalmente está en "Bases de datos" o "MySQL".
- Selecciona la base de datos de tu tienda (puede llamarse algo como
prestashop_db). - Haz clic en la pestaña "Exportar".
- Elige el método "Rápido" y formato SQL. Luego haz clic en "Continuar".
- Se descargará un archivo
.sql. Guárdalo junto con los archivos de la tienda.
[TIP] Si tu base de datos es muy grande (más de 100 MB), usa la opción "Personalizado" y selecciona "Comprimir con gzip" para que sea más fácil de transferir.
Configuración del nuevo servidor con DirectAdmin
Ahora pasamos al nuevo servidor. DirectAdmin es muy intuitivo, pero hay que preparar el entorno para que PrestaShop funcione correctamente.
Crear una cuenta de usuario y dominio
- Inicia sesión en DirectAdmin como administrador (o como usuario si ya tienes una cuenta).
- Ve a "Gestión de cuentas" y haz clic en "Crear nueva cuenta".
- Introduce el nombre de dominio que usará tu tienda (ejemplo:
tutienda.com). - Elige un nombre de usuario y contraseña para la cuenta FTP.
- En "Paquete", selecciona uno que tenga suficiente espacio y recursos (al menos 1 GB de espacio y 1 GB de ancho de banda para empezar).
- Haz clic en "Crear". DirectAdmin configurará automáticamente el dominio, el FTP y las bases de datos.
Crear la base de datos en DirectAdmin
- Dentro de la cuenta que acabas de crear, busca la sección "Base de datos MySQL".
- Haz clic en "Crear nueva base de datos".
- Ponle un nombre, por ejemplo
prestashop_nueva. - Crea un usuario y contraseña para acceder a ella. Anota estos datos porque los necesitarás para configurar PrestaShop.
- Asigna todos los permisos a ese usuario sobre la base de datos.
[WARNING] No uses caracteres especiales ni espacios en el nombre de la base de datos o del usuario. Solo letras, números y guiones bajos.
Subir los archivos de la tienda
Ahora toca transferir los archivos que descargaste del servidor antiguo.
- Conéctate al nuevo servidor mediante FTP. Usa el nombre de usuario y contraseña que creaste en DirectAdmin. El servidor FTP suele ser
ftp.tudominio.como la IP del servidor. - Navega hasta la carpeta
domains/tudominio.com/public_html. Esa es la raíz de tu sitio web. - Sube el archivo ZIP que contiene tu tienda PrestaShop. Si usas FileZilla, arrastra el archivo a esa carpeta.
- Una vez subido, ve a DirectAdmin y busca "Gestor de archivos". Selecciona la carpeta
public_html. - Busca el archivo ZIP, haz clic derecho y elige "Extraer". DirectAdmin lo descomprimirá automáticamente.
- Asegúrate de que todos los archivos y carpetas estén en la raíz, no dentro de una subcarpeta. Si ves una carpeta con el nombre del ZIP, mueve su contenido a
public_html.
Importar la base de datos
- En DirectAdmin, ve a "Base de datos MySQL" y haz clic en "phpMyAdmin" al lado de tu nueva base de datos.
- Selecciona la base de datos en el panel izquierdo.
- Haz clic en la pestaña "Importar".
- Haz clic en "Seleccionar archivo" y elige el archivo
.sqlque descargaste del servidor antiguo. - Si el archivo es muy grande, puedes subirlo comprimido en
.zipo.gz. phpMyAdmin lo descomprimirá solo. - Haz clic en "Continuar". Espera a que termine la importación. Verás un mensaje de éxito.
[INFO] Si la importación falla por tamaño, puedes usar la línea de comandos (SSH) o pedir a tu proveedor que lo haga. Pero con archivos de hasta 50 MB, phpMyAdmin suele funcionar bien.
Ajustar la configuración de PrestaShop
Ahora que los archivos y la base de datos están en el nuevo servidor, hay que decirle a PrestaShop dónde está ahora la base de datos y cómo conectarse.
Editar el archivo settings.inc.php
PrestaShop guarda la configuración de conexión a la base de datos en un archivo llamado settings.inc.php. Está dentro de la carpeta config.
-
Ve al "Gestor de archivos" en DirectAdmin y navega hasta
public_html/config. -
Busca el archivo
settings.inc.php. Haz clic derecho y selecciona "Editar". -
Busca las líneas que definen la base de datos. Deberías ver algo como:
define('_DB_SERVER_', 'localhost'); define('_DB_NAME_', 'nombre_antiguo'); define('_DB_USER_', 'usuario_antiguo'); define('_DB_PASS_', 'contraseña_antigua'); -
Cambia los valores por los de la nueva base de datos que creaste en DirectAdmin:
_DB_SERVER_suele serlocalhost(a menos que tu proveedor indique otra cosa)._DB_NAME_pon el nombre de la base de datos nueva._DB_USER_pon el usuario que creaste._DB_PASS_pon la contraseña de ese usuario.
-
Guarda los cambios. El archivo se actualizará automáticamente.
Limpiar la caché de PrestaShop
A veces, la caché guarda rutas antiguas. Para evitar problemas, es mejor limpiarla.
- En el "Gestor de archivos", ve a
public_html/var/cache(ocacheen versiones antiguas). - Elimina todos los archivos y carpetas dentro de esa carpeta. No borres la carpeta en sí, solo su contenido.
- También puedes borrar la carpeta
public_html/var/cache/prodypublic_html/var/cache/devsi existen.
[TIP] Si no ves la carpeta
var, asegúrate de que estás viendo archivos ocultos en el gestor de archivos. Suele haber un botón "Mostrar archivos ocultos".
Comprobar el funcionamiento de la tienda
Ahora viene la parte emocionante: probar si todo funciona.
-
Abre tu navegador y escribe la URL de tu tienda (ejemplo:
https://tutienda.com). -
Deberías ver la página principal. Si ves un error, no te preocupes, es normal. Los errores más comunes son:
- Error de conexión a la base de datos: Revisa que los datos en
settings.inc.phpsean correctos. - Página en blanco: Puede ser por la caché. Vuelve a limpiarla o prueba a desactivar la caché desde el archivo
config/defines.inc.php(cambia_PS_MODE_DEV_atruepara ver errores). - Error 500: A veces es por permisos. Asegúrate de que las carpetas tengan permisos 755 y los archivos 644.
- Error de conexión a la base de datos: Revisa que los datos en
-
Prueba a iniciar sesión en el back office (por ejemplo,
https://tutienda.com/admin). Usa las mismas credenciales que antes. -
Revisa que los productos, imágenes y pedidos se vean correctamente. Si las imágenes no cargan, puede que las rutas estén mal. En PrestaShop 1.7 y superiores, ve a "Mejorar" > "Rendimiento" y haz clic en "Limpiar caché". También puedes regenerar las miniaturas desde "Diseño" > "Imágenes".
Cambiar la URL de la tienda (si es necesario)
Si has cambiado el dominio o lo has puesto en un subdominio temporal, debes actualizar la URL en la base de datos.
-
En DirectAdmin, ve a phpMyAdmin y selecciona tu base de datos.
-
Busca la tabla
ps_configuration(oprestashop_configuration). -
Ejecuta esta consulta SQL:
UPDATE ps_configuration SET value = 'https://tudominio.com' WHERE name = 'PS_SHOP_DOMAIN'; UPDATE ps_configuration SET value = 'https://tudominio.com' WHERE name = 'PS_SHOP_DOMAIN_SSL';Cambia
tudominio.compor tu dominio real. -
También actualiza la tabla
ps_shop_url:UPDATE ps_shop_url SET domain = 'tudominio.com', domain_ssl = 'tudominio.com';
[WARNING] Si tienes varias tiendas en PrestaShop, asegúrate de actualizar todas las filas de
ps_shop_url.
Resolución de problemas comunes (FAQ)
Aquí tienes algunas preguntas frecuentes que suelen surgir durante la migración.
¿Por qué veo un error "No database selected"?
Esto significa que PrestaShop no encuentra la base de datos. Revisa que el nombre, usuario y contraseña en settings.inc.php sean exactamente los que creaste en DirectAdmin. A veces, los nombres de base de datos en DirectAdmin incluyen el nombre de usuario (ejemplo: usuario_prestashop).
¿Las imágenes no se ven después de la migración?
Es muy común. Las rutas de las imágenes pueden estar cacheadas. Ve al back office, en "Mejorar" > "Rendimiento", y limpia la caché. Luego, en "Diseño" > "Imágenes", haz clic en "Regenerar miniaturas". Si no funciona, revisa que la carpeta public_html/img tenga permisos 755 y que todas las subcarpetas estén allí.
¿La tienda está muy lenta en el nuevo servidor?
Puede ser por la caché o por la configuración de PHP. En DirectAdmin, ve a "Configuración de PHP" y ajusta el límite de memoria a al menos 128 MB, y el tiempo de ejecución a 300 segundos. También activa el caché de opcode (OPcache) si está disponible.
¿Puedo migrar sin perder los pedidos en curso?
Sí, siempre que hagas la copia de seguridad justo antes de la migración y no se generen nuevos pedidos durante el proceso. Para minimizar el riesgo, pon tu tienda en modo mantenimiento durante la migración. En PrestaShop, ve a "Parámetros de la tienda" > "Mantenimiento" y actívalo.
Consejos finales para una migración exitosa
Migrar una tienda PrestaShop a un nuevo servidor con DirectAdmin no tiene por qué ser un dolor de cabeza. La clave está en la organización: haz copias de seguridad, anota todos los datos de conexión y verifica cada paso.
[TIP] Si tu tienda tiene mucho tráfico, programa la migración en un horario de baja actividad. Así minimizas el impacto en tus clientes.
Recuerda que DirectAdmin es un panel muy estable, y una vez que tengas todo configurado, notarás mejoras en velocidad y seguridad. Si en algún momento te sientes perdido, muchos proveedores de hosting ofrecen servicio de migración gratuita. No dudes en pedir ayuda si la necesitas.
Ahora que has completado la migración, disfruta de tu nueva infraestructura. ¡Tu tienda PrestaShop está lista para seguir creciendo en su nuevo hogar!
