🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Errores comunes en PrestaShop al migrar a DirectAdmin

Actualizado el 15 de diciembre de 2025

Migrar una tienda PrestaShop de un servidor a otro puede parecer complicado, pero con la guía adecuada se vuelve un proceso manejable. Al migrar a un panel como DirectAdmin, es común encontrar algunos errores típicos que, si no se prevén, pueden dejar tu tienda offline o con problemas de funcionamiento. En este artículo, te explicamos los errores más frecuentes al migrar PrestaShop DirectAdmin y te damos soluciones prácticas para que tu tienda vuelva a funcionar sin contratiempos.

Errores comunes de conexión a la base de datos

Uno de los primeros problemas que surgen al migrar PrestaShop DirectAdmin es que la tienda no puede conectarse a la base de datos. Esto suele ocurrir porque los datos de conexión (usuario, contraseña, nombre de la base) cambian al mover el sitio.

¿Por qué ocurre?

Al exportar la base de datos desde el servidor anterior, los parámetros de conexión se mantienen en el archivo de configuración de PrestaShop (app/config/parameters.php). Cuando importas esa base en DirectAdmin, los nombres de usuario y contraseña suelen ser diferentes, y el archivo no se actualiza automáticamente.

Solución paso a paso

  1. Accede a tu panel de DirectAdmin y ve a la sección “MySQL Management” o “Base de datos”.
  2. Crea una nueva base de datos y un usuario con todos los privilegios. Anota el nombre de la base, el usuario y la contraseña.
  3. Importa el archivo SQL de tu tienda anterior usando phpMyAdmin o la herramienta de importación de DirectAdmin.
  4. Edita el archivo parameters.php que se encuentra en /tu_dominio/app/config/. Busca estas líneas y cámbialas por los nuevos datos:
    'database_host' => 'localhost',
    'database_name' => 'nuevo_nombre_base',
    'database_user' => 'nuevo_usuario',
    'database_password' => 'nueva_contraseña',
    
  5. Guarda los cambios y sube el archivo al servidor.

[TIP] Si usas Syspanel (antes HestiaCP), el puerto de acceso es el 2106 y la gestión de bases es similar, pero verifica que el host de la base sea siempre localhost.

Problemas con las rutas de los archivos y las URL

Otro error común es que las imágenes no se cargan, los enlaces internos llevan a páginas 404 o el catálogo aparece vacío. Esto se debe a que las rutas absolutas del servidor anterior quedaron grabadas en la base de datos.

Causa principal

PrestaShop almacena rutas completas (por ejemplo, /home/usuario/public_html/imagenes/) en la tabla ps_configuration y en los registros de productos. Al migrar a DirectAdmin, la estructura de carpetas cambia, y esas rutas dejan de ser válidas.

Cómo solucionarlo

  1. Accede a phpMyAdmin desde DirectAdmin y selecciona tu base de datos.
  2. Ejecuta esta consulta SQL para reemplazar la antigua ruta por la nueva:
    UPDATE ps_configuration SET value = REPLACE(value, 'ruta_antigua', 'ruta_nueva') WHERE name IN ('PS_IMG_DIR', 'PS_BASE_URI', 'PS_SHOP_DOMAIN');
    
    Ejemplo: si antes tenías /home/antiguo/public_html y ahora /home/nuevo/domains/tudominio/public_html, ajusta los valores.
  3. Reemplaza las URL en los productos con una consulta similar:
    UPDATE ps_product SET id_image = REPLACE(id_image, 'ruta_antigua', 'ruta_nueva');
    
  4. Limpia la caché de PrestaShop desde el panel de administración en “Parámetros avanzados > Rendimiento > Limpiar caché”.

[WARNING] Si no estás seguro de la ruta exacta en DirectAdmin, usa el comando pwd en la terminal o consulta la ruta desde el administrador de archivos del panel.

Errores de permisos de archivos y carpetas

DirectAdmin es más estricto con los permisos que otros paneles. Si al migrar no ajustas los permisos correctamente, verás errores como “no se puede escribir en la carpeta cache” o “no se puede subir imágenes”.

¿Qué permisos necesita PrestaShop?

La mayoría de las carpetas deben tener permisos 755 y los archivos 644. Sin embargo, algunas carpetas requieren permisos 777 para que PrestaShop pueda escribir en ellas:

  • /cache
  • /config
  • /img
  • /log
  • /mails
  • /modules
  • /themes
  • /translations
  • /upload
  • /download

Cómo corregirlo en DirectAdmin

  1. Accede al administrador de archivos de DirectAdmin (File Manager).
  2. Selecciona la carpeta raíz de tu tienda (normalmente public_html).
  3. Marca todas las carpetas listadas arriba y haz clic en “Change Permissions”.
  4. Establece 755 para carpetas y 644 para archivos. Luego, para las carpetas especiales, cambia a 777 temporalmente.
  5. Aplica los cambios recursivamente (marca la opción “Apply to all subdirectories and files”).

[INFO] Después de la migración, puedes reducir los permisos de las carpetas a 755 para mayor seguridad, pero asegúrate de que PrestaShop pueda seguir escribiendo. Si ves errores, vuelve a 777 temporalmente.

Incompatibilidad de versiones de PHP y extensiones

PrestaShop requiere una versión específica de PHP y ciertas extensiones. DirectAdmin suele ofrecer múltiples versiones, pero si no seleccionas la correcta, la tienda mostrará una pantalla en blanco o errores de funciones no definidas.

Versiones recomendadas

  • PrestaShop 1.7.x: PHP 7.1 a 7.4 (PHP 8.0 es experimental).
  • PrestaShop 8.x: PHP 7.4 o 8.0 (recomendado 8.0).
  • PrestaShop 1.6.x: PHP 5.6 a 7.0.

Cómo configurarlo en DirectAdmin

  1. Ve a “PHP Selector” o “PHP Settings” en tu panel de DirectAdmin.
  2. Elige la versión de PHP que necesita tu PrestaShop (puedes consultarlo en los requisitos del sistema de tu versión).
  3. Activa las extensiones necesarias: mysqli, gd, curl, mbstring, openssl, pdo_mysql, zip, xml.
  4. Guarda los cambios y reinicia el servicio web desde la sección “Services” o espera unos minutos.

[WARNING] Si tu tienda usa módulos de terceros, verifica también que sean compatibles con la versión de PHP elegida. Algunos módulos antiguos pueden dar error con PHP 8.0.

Problemas con el archivo .htaccess y las reglas de reescritura

DirectAdmin a veces maneja las reglas de reescritura de manera diferente, especialmente si usas Apache con mod_rewrite. Un error típico es que las URL amigables de PrestaShop dejen de funcionar.

Síntomas

  • Las páginas de categorías y productos dan error 404.
  • La tienda carga la página de inicio pero no las internas.
  • Aparece un mensaje de “Internal Server Error”.

Solución

  1. Regenera el archivo .htaccess desde el panel de administración de PrestaShop: “Configuración > Ajustes de URL & SEO > Generar .htaccess”.
  2. Si no puedes acceder al panel, crea un .htaccess manual con este contenido básico:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [QSA,L]
    </IfModule>
    
  3. Verifica que mod_rewrite esté habilitado en DirectAdmin. Ve a “Apache Configuration” y asegúrate de que el módulo esté activo.
  4. Prueba las URL después de subir el archivo. Si persiste el error, revisa los logs de error en DirectAdmin (sección “Error Logs”).

[TIP] Si tu tienda está en una subcarpeta (ej. tudominio.com/tienda), ajusta la regla RewriteBase en .htaccess: RewriteBase /tienda/.

Errores de caché y compilación de temas

Después de migrar, es común que el tema no se vea correctamente o que aparezcan elementos desordenados. Esto se debe a que la caché de plantillas y la compilación de temas están desactualizadas.

Cómo limpiarlo

  1. Desde el panel de administración: Ve a “Parámetros avanzados > Rendimiento”.
  2. Desactiva la caché temporalmente (opción “No”).
  3. Limpia la caché de Smarty haciendo clic en “Limpiar caché” y “Limpiar compilación de plantillas”.
  4. Vuelve a activar la caché después de verificar que todo funciona.
  5. Borra manualmente las carpetas /var/cache y /cache/smarty/compile si el panel no responde.

[INFO] En algunos casos, puede ser necesario eliminar también los archivos de la carpeta /themes/tu_tema/cache para forzar la regeneración.

Configuración incorrecta del servidor de correo

PrestaShop utiliza el envío de correos para notificaciones de pedidos, recuperación de contraseñas, etc. Al migrar, la configuración SMTP puede fallar si no se actualiza.

Síntomas

  • Los correos no se envían.
  • Aparece un error “No se puede enviar el correo electrónico”.
  • Los clientes no reciben confirmaciones de pedido.

Solución en DirectAdmin

  1. Accede a “Email Accounts” en tu panel y crea una cuenta de correo para tu dominio (ej. tienda@tudominio.com).
  2. En el panel de PrestaShop, ve a “Parámetros avanzados > Correo electrónico”.
  3. Selecciona “Usar SMTP” y completa los datos:
    • Servidor SMTP: mail.tudominio.com (o localhost si el servidor lo permite).
    • Puerto: 587 (con TLS) o 465 (con SSL).
    • Usuario y contraseña: los de la cuenta que creaste.
  4. Guarda y prueba enviando un correo de prueba desde la misma sección.

[WARNING] Si usas Syspanel, el puerto de acceso es el 2106, pero la configuración SMTP sigue siendo la misma. Asegúrate de que el puerto 587 esté abierto en el firewall.

Preguntas frecuentes (FAQ)

¿Cuánto tiempo tarda una migración de PrestaShop a DirectAdmin?

Depende del tamaño de la tienda. Una tienda pequeña (menos de 1000 productos) puede migrarse en 1-2 horas. Tiendas grandes con muchas imágenes pueden requerir 4-6 horas. Lo importante es seguir los pasos con calma y hacer pruebas.

¿Debo desactivar la tienda durante la migración?

Sí, es recomendable poner la tienda en modo mantenimiento mientras realizas la migración. Así evitas que los clientes vean errores o compren productos que luego no se procesen correctamente.

¿Qué hago si después de la migración la tienda carga muy lento?

Primero, limpia la caché y regenera las miniaturas de imágenes desde el panel de administración. Luego, verifica que la versión de PHP sea la adecuada y que las extensiones necesarias estén activas. También puedes optimizar la base de datos usando phpMyAdmin o un módulo de optimización.

¿Puedo migrar mi PrestaShop a DirectAdmin sin perder los pedidos?

Sí, siempre que exportes e importes correctamente la base de datos. Asegúrate de incluir todas las tablas (pedidos, clientes, direcciones, etc.) y de que los datos de conexión se actualicen en el archivo de configuración.

¿DirectAdmin tiene alguna herramienta automática para migrar?

DirectAdmin no incluye un asistente específico para PrestaShop, pero puedes usar su administrador de archivos y phpMyAdmin para transferir los datos manualmente. También existen plugins o scripts de terceros, pero es más seguro hacerlo manualmente.

Conclusión

Migrar una tienda PrestaShop a DirectAdmin puede presentar desafíos, pero la mayoría de los errores tienen solución si se abordan con método. Recuerda siempre hacer una copia de seguridad completa antes de empezar, verificar la compatibilidad de versiones y ajustar permisos y rutas. Con esta guía, estarás preparado para resolver los problemas más comunes al migrar PrestaShop DirectAdmin y tendrás tu tienda funcionando en poco tiempo.

Si encuentras algún error adicional, no dudes en consultar los logs de DirectAdmin o preguntar en foros especializados. ¡Buena suerte con tu migración!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel