Errores comunes en PrestaShop con DirectAdmin y cómo corregirlos
¿Por qué PrestaShop y DirectAdmin a veces se llevan mal?
Si tienes una tienda online con PrestaShop alojada en un servidor con panel DirectAdmin, es muy probable que en algún momento te hayas topado con algún error raro. No estás solo: esta combinación es muy popular en el hosting compartido y VPS, pero también es origen de quebraderos de cabeza porque ambos sistemas tienen sus propias reglas de configuración.
La buena noticia es que la mayoría de estos errores PrestaShop DirectAdmin tienen solución, y no necesitas ser un experto en programación para arreglarlos. En esta guía vamos a recorrer los fallos más comunes, explicarte por qué ocurren y, lo más importante, cómo solucionarlos paso a paso.
Vamos a ello. Respira hondo, coge un café y sigue leyendo. Al final de este artículo, tu tienda estará funcionando mucho mejor.
Error 1: El famoso "Error de conexión a la base de datos" al instalar o actualizar
Este es, probablemente, el error más frecuente cuando trabajamos con PrestaShop DirectAdmin problemas. Lo ves justo cuando intentas instalar la tienda o al hacer una actualización. El mensaje suele ser algo como: "Link to database cannot be established".
¿Por qué ocurre?
En DirectAdmin, las bases de datos MySQL/MariaDB se crean con un prefijo obligatorio. Normalmente es algo como usuario_nombrebasededatos. Si en el formulario de instalación de PrestaShop pones solo el nombre de la base sin el prefijo, o si confundes el usuario, la conexión falla.
Cómo solucionarlo
- Accede a tu panel de DirectAdmin.
- Busca la sección "MySQL Management" o "Bases de datos MySQL".
- Anota el nombre exacto de la base de datos (con el prefijo incluido).
- Anota también el usuario de la base de datos (también con su prefijo).
- Asegúrate de que la contraseña sea correcta. Si no estás seguro, cámbiala desde DirectAdmin.
- Vuelve al instalador de PrestaShop y escribe los datos exactamente igual a como aparecen en DirectAdmin, respetando mayúsculas, minúsculas y guiones bajos.
[TIP] A veces el problema no es el nombre, sino que el usuario de la base de datos no tiene todos los privilegios. En DirectAdmin, edita la base de datos y asegúrate de que el usuario tenga marcados TODOS los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.).
Error 2: Página en blanco (White Screen of Death) tras mover la tienda o cambiar de servidor
Te mudas de hosting o mueves tu tienda a otro directorio y, de repente, todo es blanco. Sin mensajes, sin nada. Esto es un clásico.
¿Por qué ocurre?
La causa más común es que las rutas absolutas en los archivos de configuración de PrestaShop no coinciden con la nueva ubicación. PrestaShop guarda rutas fijas en el archivo config/settings.inc.php (en versiones antiguas) o en la base de datos (en versiones modernas).
Cómo solucionarlo
- Accede a tu servidor por FTP o desde el administrador de archivos de DirectAdmin.
- Busca el archivo
config/settings.inc.phpen la raíz de tu PrestaShop. - Ábrelo con un editor de texto (como el Bloc de notas o, mejor, un editor con resaltado de sintaxis).
- Busca las líneas que definen
_DB_SERVER_,_DB_NAME_,_DB_USER_y_DB_PASSWD_. Verifica que son los correctos para tu nuevo servidor. - Busca las líneas que definen
__PS_BASE_URI__y_PS_ROOT_DIR_. Estas son las rutas. Si tu tienda solía estar en/public_html/tienda, ahora debe reflejar la nueva ruta. - Guarda los cambios y sube el archivo de nuevo.
[WARNING] Si tu PrestaShop es versión 1.7 o superior, la configuración de la base de datos está en el archivo
app/config/parameters.php. No busquessettings.inc.php, no existe. Editaparameters.phpcon los mismos datos.
Error 3: Problemas con los permisos de archivos y carpetas (403 Forbidden o errores de escritura)
DirectAdmin es muy estricto con los permisos. Si ves errores de "Permission denied" al subir productos o al instalar módulos, o un molesto 403, los permisos están mal configurados.
¿Por qué ocurre?
PrestaShop necesita escribir en ciertas carpetas (como cache, log, img, modules, themes). Si los permisos son demasiado restrictivos (por ejemplo, 644 en carpetas), no puede escribir. Si son demasiado abiertos (777), DirectAdmin puede bloquearlos por seguridad.
Cómo solucionarlo
La regla de oro es: carpetas con permiso 755 y archivos con permiso 644.
- Ve al administrador de archivos de DirectAdmin o usa un cliente FTP como FileZilla.
- Selecciona la carpeta raíz de tu PrestaShop.
- Haz clic derecho y elige "Permisos de archivo" o "Atributos".
- Para las carpetas, introduce
755. Para los archivos, introduce644. - Aplica estos cambios de forma recursiva (a todas las subcarpetas y archivos).
[TIP] Si usas FileZilla, puedes seleccionar todos los archivos y carpetas, hacer clic derecho > "Permisos de archivo" y marcar la casilla "Recurse into subdirectories" para aplicar los permisos a todo de una vez.
Error 4: El error "500 Internal Server Error" en PrestaShop con DirectAdmin
Otro de los errores PrestaShop DirectAdmin más desesperantes. El error 500 es genérico y puede deberse a varias causas, pero la más común en DirectAdmin es un archivo .htaccess corrupto o con directivas no permitidas.
¿Por qué ocurre?
PrestaShop genera un .htaccess con reglas de reescritura de URL. Si el archivo tiene una sintaxis incorrecta o usa módulos de Apache que no están activados en tu servidor, el servidor responde con un error 500.
Cómo solucionarlo
- Accede por FTP y renombra el archivo
.htaccessa.htaccess.bak(esto lo desactiva). - Ahora intenta acceder a tu tienda. Si funciona, el problema era el
.htaccess. - Ve al panel de administración de PrestaShop (Back Office).
- Ve a Parámetros avanzados > Rendimiento.
- Busca la opción "Regenerar el archivo .htaccess" y actívala.
- Guarda los cambios. PrestaShop creará un
.htaccessnuevo y limpio.
[INFO] Si al renombrar el
.htaccessel error persiste, el problema no es ese archivo. Revisa los logs de error de DirectAdmin en la sección "Error Logs" para ver el mensaje exacto.
Error 5: Problemas con la memoria PHP (Allowed memory size exhausted)
¿Has visto un mensaje como Fatal error: Allowed memory size of 134217728 bytes exhausted? Esto significa que tu tienda necesita más memoria de la que PHP tiene asignada.
¿Por qué ocurre?
PrestaShop es un software que consume mucha memoria, especialmente al administrar catálogos grandes o al usar módulos pesados. El límite por defecto en muchos servidores DirectAdmin es de 128M, que puede ser insuficiente.
Cómo solucionarlo
- Accede a DirectAdmin.
- Busca la sección "PHP Settings" o "Select PHP Version" (depende de la configuración de tu servidor).
- Dentro de las opciones de PHP, busca el parámetro
memory_limit. - Cámbialo a
256Mo512M. - Guarda los cambios y reinicia PHP si es necesario (suele hacerse automáticamente).
[TIP] Si no encuentras esa opción en DirectAdmin, puedes crear un archivo llamado
php.inien la raíz de tu PrestaShop con el siguiente contenido:memory_limit = 512M. Si ya existe, solo edítalo.
Error 6: El carrito no guarda productos o la sesión caduca muy rápido
Este es un problema muy frustrante: el cliente añade productos al carrito, pero al pasar a la siguiente página, el carrito está vacío. Esto suele estar relacionado con la configuración de cookies y sesiones.
¿Por qué ocurre?
En DirectAdmin, es común que haya varios dominios o subdominios apuntando al mismo servidor. Si la configuración de cookies de PrestaShop no está bien definida, la sesión se pierde.
Cómo solucionarlo
- Ve al Back Office de PrestaShop.
- Ve a Parámetros avanzados > Rendimiento.
- Busca la sección "Gestión de sesiones".
- Asegúrate de que la opción "Forzar el uso de SSL" está activada si tienes un certificado SSL instalado.
- En el archivo
config/settings.inc.php(oparameters.php), verifica que la variable_COOKIE_KEY_es única y no se ha copiado de otro sitio. - En DirectAdmin, asegúrate de que tu dominio principal está correctamente configurado y que no hay redirecciones extrañas en el
.htaccess.
Error 7: No se pueden enviar emails de confirmación (problemas con SMTP)
Tu tienda funciona, pero no llegan los correos de confirmación de pedido. Esto es un problema grave para cualquier negocio.
¿Por qué ocurre?
DirectAdmin a menudo bloquea el puerto 25 (SMTP estándar) para evitar spam. PrestaShop por defecto usa la función mail() de PHP, que puede fallar si el servidor tiene restricciones.
Cómo solucionarlo
- Ve al Back Office de PrestaShop.
- Ve a Parámetros avanzados > Parámetros avanzados > Email.
- Cambia el método de envío de "Usar la función mail() de PHP" a "Usar mis propios parámetros SMTP".
- Introduce los datos de tu servidor SMTP. Normalmente, si tienes un correo creado en DirectAdmin, el servidor SMTP será
mail.tudominio.com, el puerto587(recomendado) y las credenciales de esa cuenta de correo. - Activa la autenticación SMTP y guarda los cambios.
[WARNING] Si usas puerto 587, asegúrate de que el servidor tiene el protocolo STARTTLS habilitado. Si usas el puerto 465, necesitas SSL. Prueba ambos si el primero no funciona.
Error 8: Conflictos con la caché de PrestaShop y DirectAdmin
A veces, tras actualizar un módulo o cambiar un archivo de tema, los cambios no se reflejan. Esto es culpa de la caché.
¿Por qué ocurre?
PrestaShop tiene varios niveles de caché (Smarty, caché de servidor, caché de opcache). DirectAdmin también puede tener su propia capa de caché (como Varnish o Memcached). Si una de ellas guarda una versión antigua, verás datos obsoletos.
Cómo solucionarlo
- Ve al Back Office de PrestaShop.
- Ve a Parámetros avanzados > Rendimiento.
- En la sección "Caché", desactiva la caché de Smarty (o ponla en "Forzar la compilación" temporalmente).
- Guarda los cambios.
- Ve a Parámetros avanzados > Mantenimiento y haz clic en "Vaciar la caché" (si tu versión lo permite).
- En DirectAdmin, busca la opción "Cache Manager" o "Clear Cache" y ejecútala para limpiar la caché del servidor.
[TIP] Si tu servidor usa LiteSpeed (muy común en DirectAdmin), la caché de LiteSpeed puede estar sirviendo páginas antiguas. En el Back Office de PrestaShop, instala el módulo oficial de LiteSpeed Cache y púrgalo desde ahí.
Error 9: La tienda está lenta o tarda mucho en cargar
No es un error como tal, pero es un problema que afecta a las ventas. La lentitud puede deberse a múltiples factores en un entorno DirectAdmin.
¿Por qué ocurre?
Puede ser por falta de recursos del servidor, por una base de datos mal optimizada, por módulos pesados o por no usar una red de entrega de contenido (CDN).
Cómo solucionarlo
- Activa la caché de PrestaShop que mencionamos antes.
- Habilita la compresión gzip en el
.htaccess(si no está activa). - Optimiza las imágenes de tus productos (usa formato WebP si es posible).
- En DirectAdmin, verifica el uso de recursos en la sección "Process Manager" o "System Information". Si tu sitio usa demasiada CPU, considera cambiar a un plan superior.
- Activa MySQL o MariaDB con la opción de caché de consultas. Puedes hacerlo desde DirectAdmin en la sección de configuración de MySQL.
Error 10: Problemas al activar SSL/HTTPS
DirectAdmin facilita la instalación de certificados SSL gratuitos (Let's Encrypt), pero a veces PrestaShop no se adapta bien.
¿Por qué ocurre?
PrestaShop guarda la URL base en la base de datos. Si cambias de HTTP a HTTPS sin actualizar esa URL, la tienda se rompe o se queda en un bucle de redirecciones.
Cómo solucionarlo
- En DirectAdmin, asegúrate de que el SSL está activo en tu dominio.
- Ve al Back Office de PrestaShop.
- Ve a Parámetros avanzados > Parámetros avanzados > General.
- Cambia la URL de tu tienda para que empiece por
https://en lugar dehttp://. - Activa la opción "Forzar el uso de SSL" en todos los elementos.
- Guarda y limpia la caché.
[WARNING] Si no puedes acceder al Back Office porque te redirige siempre a HTTP, tendrás que editar la base de datos directamente. Usa phpMyAdmin en DirectAdmin, busca la tabla
ps_shop_urly cambia los valores en los camposdomainydomain_ssla tu dominio conhttps.
Preguntas frecuentes (FAQ) sobre PrestaShop y DirectAdmin
¿Qué hago si no recuerdo la contraseña de la base de datos?
Puedes cambiarla fácilmente desde DirectAdmin. Ve a "MySQL Management", selecciona tu base de datos y haz clic en "Cambiar contraseña". Luego actualiza el archivo parameters.php o settings.inc.php con la nueva contraseña.
¿Es mejor usar un VPS con DirectAdmin o un hosting compartido?
Depende del tamaño de tu tienda. Un hosting compartido es más barato, pero si tu tienda recibe mucho tráfico, un VPS con DirectAdmin te dará más control y rendimiento. Eso sí, en un VPS tendrás que encargarte tú de la seguridad y el mantenimiento.
¿Puedo usar Syspanel (HestiaCP) en lugar de DirectAdmin?
Sí, puedes usar Syspanel (también conocido como HestiaCP). Si migras tu PrestaShop a un servidor con Syspanel, ten en cuenta que el puerto de acceso al panel es el 2106. La configuración de PrestaShop es muy similar, pero los permisos y las rutas pueden variar ligeramente.
¿Cómo hago una copia de seguridad de mi PrestaShop en DirectAdmin?
DirectAdmin tiene una herramienta de copias de seguridad en "Backup Manager". Te permite descargar una copia completa de tus archivos y bases de datos. También puedes hacer una copia manual descargando la carpeta por FTP y exportando la base de datos con phpMyAdmin.
¿Por qué veo un error de "mod_security" al intentar acceder a mi tienda?
mod_security es un firewall de aplicaciones web que a veces bloquea acciones legítimas. Si ves este error, ve a DirectAdmin, busca la sección "ModSecurity" y desactívalo para tu dominio, o añade una regla de excepción.
