Cómo arreglar el error 500 en PrestaShop (DirectAdmin y Syspanel)
¡Hola! Si estás leyendo esto, es muy probable que te hayas encontrado con la temida pantalla blanca o el mensaje "Error 500 Internal Server Error" en tu tienda PrestaShop. No te preocupes, es uno de los errores más comunes en el mundo del hosting y, afortunadamente, en la mayoría de los casos tiene solución sin necesidad de ser un experto en programación.
En esta guía extensa y detallada, vamos a desglosar paso a paso cómo diagnosticar y arreglar error 500 PrestaShop cuando tu tienda está alojada en un panel de control DirectAdmin o Syspanel (anteriormente conocido como HestiaCP). Vamos a ir desde lo más simple (como limpiar la caché) hasta lo más técnico (como editar archivos de configuración), siempre explicado de forma clara y sencilla.
¿Qué es exactamente el Error 500 en PrestaShop?
Antes de ensuciarnos las manos, es importante entender qué está pasando. El error 500 PrestaShop es un error genérico del servidor. Esto significa que el servidor donde está alojada tu web ha encontrado un problema interno y no puede completar la petición que le haces (por ejemplo, cargar la página principal).
A diferencia de un error 404 (página no encontrada) o un error 403 (acceso prohibido), el error 500 no te dice exactamente qué ha fallado. Es como si el motor de tu coche se parara, pero sin que el testigo te diga si es la batería, la bujía o el combustible. Por eso, el proceso de solución es de "eliminación".
Causas más frecuentes de este problema
- Permisos de archivos incorrectos: Los archivos de PrestaShop tienen que tener permisos específicos para ser leídos y ejecutados. Si se cambian por error, el servidor no puede trabajar.
- Espacio en disco agotado: Si el disco duro del servidor está lleno, el sistema no puede escribir archivos temporales (sesiones, caché) y falla.
- Errores de PHP: Un módulo actualizado puede tener un error de sintaxis que "rompe" la tienda.
- Archivo
.htaccesscorrupto: Este archivo es esencial para las URL amigables y la configuración del servidor. Si se corrompe, todo colapsa. - Límite de memoria de PHP excedido: Si tu tienda necesita más memoria de la que el servidor le permite usar, se cae.
- Actualizaciones incompletas: Interrumpir una actualización de PrestaShop o de un módulo puede dejar archivos a medias.
Preparación: Lo primero que debes hacer (Acceso al panel)
Para empezar a trabajar, necesitas acceso a dos cosas:
- Tu panel de control (DirectAdmin o Syspanel).
- El administrador de archivos o un cliente FTP (como FileZilla) para poder ver y editar los archivos de tu web.
[WARNING]
Antes de tocar nada, haz una copia de seguridad de tu base de datos y de los archivos de tu tienda. Si algo sale mal durante el proceso, podrás restaurar tu negocio sin perder pedidos ni clientes.
Solución Paso a Paso para DirectAdmin y Syspanel
Aquí tienes los métodos ordenados de menor a mayor complejidad. Te recomiendo que los pruebes en este orden.
1. La Solución Mágica: Limpiar la Caché de PrestaShop
A veces, el error 500 es simplemente un problema de archivos de caché corruptos. PrestaShop almacena archivos temporales para que la web vaya más rápido. Si uno de esos archivos se daña, el sistema falla.
Paso a paso:
- Accede a tu panel de DirectAdmin o Syspanel.
- Busca la sección de "Administrador de Archivos" (File Manager).
- Navega hasta la carpeta raíz de tu tienda (normalmente
public_htmlodomains/tudominio.com/public_html). - Localiza la carpeta llamada
var/cache(en versiones nuevas de PrestaShop 1.7 y 8.x) ocache(en PrestaShop 1.6). - Entra en la carpeta
cachey busca las subcarpetasdevyprod. - Borra TODO el contenido de las carpetas
devyprod. No borres las carpetas en sí, solo lo que hay dentro (archivos y subcarpetas). - Ve a tu tienda y recarga la página (Ctrl + F5 para forzar la recarga).
[TIP]
Si no puedes acceder al panel de control, también puedes usar un cliente FTP. Conéctate y borra los archivos de cache de la misma manera. A veces, solo borrar la caché de tokens o class_index.php es suficiente.
2. Revisar los Permisos de Archivos y Carpetas
Cada archivo en tu servidor tiene una "etiqueta" de permisos que indica quién puede leer, escribir o ejecutar. PrestaShop necesita unos valores concretos.
¿Cómo comprobarlo?
- Ve al Administrador de Archivos de tu panel.
- Selecciona todos los archivos y carpetas de la raíz de tu PrestaShop.
- Busca la opción "Cambiar permisos" o "Chmod".
- Debes establecer los siguientes valores:
- Carpetas (Directorios):
755 - Archivos (Ficheros):
644
- Carpetas (Directorios):
- Hay una excepción: la carpeta
configy la carpetacache(ovar/cache) deben tener permisos755también, pero algunos servidores piden777para funcionar. Si nada funciona, prueba con755primero.
[WARNING]
No establezcas permisos 777 en todos los archivos. Es un grave riesgo de seguridad. Un hacker podría inyectar código malicioso en tu tienda.
3. Comprobar el Espacio en Disco
Un error 500 puede aparecer si el servidor no tiene espacio para escribir archivos de sesión.
Cómo verificar el espacio:
- En DirectAdmin, mira el panel principal. Normalmente hay un indicador de "Usado" y "Límite".
- En Syspanel, ve a la sección de "Estadísticas" o "Uso de Disco".
- Si estás cerca del 100%, necesitas liberar espacio. Borra copias de seguridad antiguas, logs o archivos temporales que ya no uses.
4. Activar el Modo Depuración (Debug) para Ver el Error Real
Como hemos dicho, el error 500 es genérico. Para ver el error real, necesitamos "despertar" a PrestaShop y que nos diga qué le pasa. Esto se hace activando el modo de depuración.
Método para PrestaShop 1.7 y 8.x (el más común hoy en día):
- Ve a la raíz de tu tienda y busca el archivo
config/defines.inc.php. - Edítalo con el editor de texto del Administrador de Archivos.
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda el archivo.
- Ahora, recarga tu tienda. En lugar del error 500, verás un mensaje de error en inglés con detalles técnicos. ¡Anota ese mensaje! Te dirá qué archivo está fallando y en qué línea.
Método para PrestaShop 1.6:
El proceso es el mismo, pero el archivo se llama config/defines.inc.php y la línea es similar.
[INFO]
Si ves un error que menciona "Allowed memory size of X bytes exhausted", tu problema es la memoria PHP. Si ves un error de "Fatal error: Uncaught Error: Call to undefined function", es un problema de un módulo o clase.
5. Aumentar el Límite de Memoria PHP
Si el paso anterior te mostró un error de memoria, esta es la solución.
Opción A: Desde DirectAdmin
- Ve a la sección "Configuración de PHP" o "Selector de Versión PHP" (MultiPHP Manager).
- Busca la opción
memory_limit(límite de memoria). - Cámbiala de
128M(o el valor que tenga) a256Mo incluso512M. También puedes subirmax_execution_time(tiempo máximo de ejecución) a300.
Opción B: Desde Syspanel
- Ve a la sección "Hosting" o "Web" en el panel.
- Busca "Configuración de PHP" o "PHP-FPM".
- Edita los valores
memory_limitymax_execution_timede la misma manera.
Opción C: Manual (si no encuentras las opciones)
- Crea un archivo llamado
php.inien la raíz de tu tienda (si no existe). - Pega este código dentro:
memory_limit = 256M max_execution_time = 300 upload_max_filesize = 128M post_max_size = 128M
6. Verificar el Archivo .htaccess
El archivo .htaccess es el "director de orquesta" del servidor Apache. Si está mal, todo falla.
Paso a paso:
- En el Administrador de Archivos, activa la opción de "Mostrar archivos ocultos" (normalmente un botón con un punto o "Configuración").
- Busca el archivo
.htaccessen la raíz. - Descárgalo a tu ordenador como copia de seguridad.
- Ahora, borra el archivo
.htaccessdel servidor. - Ve a tu tienda. Si ahora carga bien, el problema era ese archivo. Para regenerarlo, entra al Panel de Administración de PrestaShop (si puedes) y ve a Parámetros Avanzados > Rendimiento. Pulsa el botón "Guardar" para que PrestaShop cree un
.htaccessnuevo. Si no puedes entrar al admin, tendrás que restaurar el que descargaste y buscar el módulo que lo está corrompiendo.
7. El Problema de los Módulos (El Villano Común)
La mayoría de los errores 500 en PrestaShop ocurren después de instalar o actualizar un módulo.
¿Cómo saber si es un módulo?
Si el error 500 apareció justo después de una acción concreta, es casi seguro que es un módulo.
Solución: Si activaste el modo debug (paso 4), el mensaje de error te dirá el nombre del archivo que falla, que suele estar dentro de la carpeta modules/nombre_del_modulo/.
Solución temporal: Si no puedes acceder al panel de administración, usa el Administrador de Archivos para renombrar la carpeta del módulo problemático. Por ejemplo, si el módulo se llama blockreassurance, renómbralo a blockreassurance_old. Esto lo "desactiva" a la fuerza y tu tienda debería volver a funcionar.
8. Solución Específica para Syspanel (Antiguo HestiaCP)
Si tu hosting usa Syspanel, el puerto de acceso es el 2106 (ej: https://tudominio.com:2106). El proceso es muy similar al de DirectAdmin, pero hay un detalle extra.
A veces, el error 500 en Syspanel se debe a que el usuario de PHP (PHP-FPM) no tiene permisos sobre los archivos. Esto es un problema de "propiedad" (ownership).
Solución en Syspanel:
- Ve al Administrador de Archivos de Syspanel.
- Selecciona la carpeta
public_htmlde tu dominio. - Busca la opción "Cambiar Propietario" o "Chown".
- Asegúrate de que el propietario sea el usuario de tu cuenta (ej:
admin_web) y noroot. - Aplica los permisos
755a carpetas y644a archivos de nuevo.
[WARNING]
En Syspanel, es muy común que tras una migración o una restauración, los archivos pertenezcan al usuario nobody o www-data, lo que provoca un DirectAdmin error 500 PrestaShop o en Syspanel. Cambiar el propietario al usuario correcto suele resolver el problema al instante.
Preguntas Frecuentes (FAQ)
¿Por qué mi tienda da error 500 solo en el carrito o al pagar?
Esto suele indicar un problema con los módulos de pago o envío. Prueba a desactivarlos temporalmente (renombrando sus carpetas) para ver si el error desaparece. También puede ser un problema de "Cookies" o de la configuración de la URL de la tienda.
¿Qué hago si no puedo acceder ni al panel de administración de PrestaShop?
No pasa nada. Todos los pasos anteriores se pueden hacer desde el Administrador de Archivos del hosting (DirectAdmin o Syspanel). No necesitas entrar al back-office de PrestaShop para editar archivos o borrar caché.
¿El error 500 puede deberse a un ataque de hackers?
Sí, es posible. Si has probado todo lo anterior y nada funciona, revisa si hay archivos PHP inyectados en las carpetas modules o upload. Busca archivos con nombres extraños (ej: shell.php, wp.php). Si sospechas de un ataque, contacta con tu proveedor de hosting inmediatamente.
¿Debo contactar con mi proveedor de hosting?
Si has seguido todos estos pasos y aún tienes el error 500 PrestaShop, es hora de llamar a tu soporte técnico. Diles que ya has limpiado la caché, comprobado permisos y activado el modo debug. Dales el mensaje de error exacto que obtuviste en el paso 4. Ellos podrán revisar los logs del servidor (archivos de error) que no son accesibles desde el panel de usuario.
Resumen y Consejos Finales
En resumen, el proceso para arreglar error 500 PrestaShop en DirectAdmin y Syspanel es un proceso de eliminación.
- Empieza siempre por limpiar la caché (es rápido y gratis).
- Activa el modo debug para que el sistema te diga exactamente qué está mal. Este es el paso más importante.
- Corrige el error específico (memoria, módulo, permisos) que te indique el debug.
Espero que esta guía te haya sido de gran ayuda. Recuerda que la paciencia es clave. Ve paso a paso y no te saltes ninguno. ¡Tu tienda volverá a estar en línea en poco tiempo!
