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

Solucionar error 500 en PrestaShop por permisos de archivos

Actualizado el 25 de diciembre de 2025

¡Hola! Soy el técnico de soporte. Si estás aquí es porque tu tienda PrestaShop te ha mostrado el temido error 500. No te preocupes, es uno de los problemas más comunes, y en la mayoría de los casos, la causa está en los permisos de archivos. Vamos a solucionarlo juntos, paso a paso, como si lo hiciera yo mismo.

Este error, conocido técnicamente como "Error interno del servidor", puede aparecer por muchas razones, pero la más frecuente en PrestaShop (especialmente después de una actualización, instalación de un módulo o un cambio de hosting) es que los archivos o carpetas de la tienda no tengan los permisos correctos para que el servidor web los lea o escriba.

[INFO] El error 500 es un error genérico. A veces el servidor te da una pista, pero otras no. Aquí nos centraremos en la solución más común: los permisos. Si después de seguir esta guía el error persiste, puede ser por un módulo conflictivo o un archivo .htaccess dañado, pero no te adelantes.

¿Por qué ocurre el Error 500 por Permisos en PrestaShop?

Imagina que tu servidor es un edificio de oficinas. Los archivos de PrestaShop (código, imágenes, bases de datos) son los documentos. El servidor web (Apache, Nginx) es el mensajero que necesita leer esos documentos para mostrar tu tienda. Los permisos son las cerraduras de las puertas.

  • Permiso 644 para archivos: El dueño (tú) puede leer y escribir, pero el mensajero (servidor) solo puede leer. Es la configuración segura y correcta para la mayoría de los archivos.
  • Permiso 755 para carpetas: El dueño puede entrar, leer, escribir y crear archivos. El mensajero puede entrar y leer. También es la configuración correcta.
  • Permiso 777 para carpetas (como /cache, /img, /upload): Cualquiera puede entrar, leer y escribir. Es necesario para que PrestaShop pueda generar imágenes en miniatura, guardar caché o subir archivos. Pero es un riesgo de seguridad si se usa en todo el sitio.

El error 500 aparece cuando, por ejemplo, después de una actualización, el proceso de instalación cambia los permisos de todo el sitio a 755 o 644, pero luego el servidor necesita escribir en la carpeta /cache o /log y no puede. El servidor "se bloquea" y muestra el error 500.

Diagnóstico Rápido: ¿Es un problema de permisos?

Antes de lanzarnos a cambiar permisos, podemos hacer una comprobación muy sencilla para confirmar que el problema es ese.

  1. Accede a tu panel de control de hosting. Normalmente suele ser cPanel, Plesk, o un panel personalizado. Si usas Syspanel (el panel que usamos aquí), accede a tu-dominio.com:2106 con tus credenciales.
  2. Busca el gestor de archivos. En Syspanel está en la sección "Archivos" > "Gestor de archivos". En cPanel suele llamarse "Administrador de archivos".
  3. Navega hasta la raíz de tu PrestaShop. Normalmente es la carpeta public_html o www.
  4. Localiza el archivo config/defines.inc.php. Ábrelo con el editor de texto del gestor de archivos.
  5. Busca esta línea: define('_PS_MODE_DEV_', false);
  6. Cámbiala a: define('_PS_MODE_DEV_', true);
  7. Guarda el archivo y recarga tu tienda.

Si ahora ves un mensaje de error más detallado (como "Fallo al abrir el archivo...", "Permiso denegado", o un error de la carpeta /cache), es casi seguro que el problema son los permisos. Si ves un error de PHP (como un "Parse error"), entonces el problema es otro.

[WARNING] IMPORTANTE: Una vez hayas solucionado el error, vuelve a cambiar _PS_MODE_DEV_ a false. Tenerlo en true en producción muestra información sensible a los visitantes y es un riesgo de seguridad.

Solución Paso a Paso: Cómo Arreglar los Permisos de PrestaShop

Vamos a restaurar los permisos correctos. Hay dos formas: manual (desde el gestor de archivos) o mediante comandos SSH (más rápido y recomendado si tienes acceso).

Opción 1: Usando el Gestor de Archivos (Recomendado para principiantes)

Esta es la forma más visual y segura si no te sientes cómodo con la línea de comandos.

  1. Accede a tu panel de control (Syspanel o el que uses).
  2. Ve al Gestor de Archivos.
  3. Selecciona TODOS los archivos y carpetas de la raíz de tu PrestaShop. Puedes usar Ctrl+A (Cmd+A en Mac) para seleccionar todo.
  4. Busca la opción "Permisos" o "Cambiar permisos" (suele estar en un menú desplegable o en la barra de herramientas).
  5. Selecciona "Archivos: 644" y "Carpetas: 755". Aplica los cambios. Esto establecerá los permisos base correctos para todo el sitio.
  6. Ahora, debemos dar permisos especiales a las carpetas que necesitan escritura. Localiza y selecciona solo las siguientes carpetas (puedes hacerlo una por una o seleccionándolas todas si el gestor lo permite):
    • /cache
    • /log
    • /img
    • /mails
    • /modules
    • /themes (a veces)
    • /override
    • /upload
    • /download
    • /translations
  7. Para estas carpetas, cambia los permisos a 755. (A veces, si el hosting es muy restrictivo, necesitarás 777, pero prueba primero con 755).
  8. Dentro de esas carpetas, también debes dar permisos 755 a sus subcarpetas (por ejemplo, /cache/cachefs/, /img/p/, etc.). El gestor de archivos suele tener una opción "Aplicar a subcarpetas y archivos". Márcala.
  9. Guarda los cambios y recarga tu tienda.

[TIP] Si tu panel no permite cambiar permisos en masa, hazlo manualmente para las carpetas clave. No es necesario hacer todas las subcarpetas de /modules, pero sí las principales.

Opción 2: Usando SSH (Más rápido y preciso)

Si tienes acceso SSH a tu servidor (lo puedes solicitar a tu soporte de hosting), este método es mucho más eficiente.

  1. Conéctate a tu servidor por SSH. Necesitarás un cliente como PuTTY (Windows) o la terminal (Mac/Linux).
  2. Navega a la raíz de tu PrestaShop. Normalmente:
    cd /home/tuusuario/public_html
    
    (Ajusta la ruta según tu hosting).
  3. Ejecuta estos comandos mágicos:
    # 1. Establece permisos base para archivos (644) y carpetas (755)
    find . -type f -exec chmod 644 {} \;
    find . -type d -exec chmod 755 {} \;
    
    # 2. Da permisos de escritura a las carpetas especiales (755 es seguro, 777 si falla)
    chmod -R 755 cache log img mails modules themes override upload download translations
    
    # 3. Si después de esto aún tienes problemas con /cache o /img, prueba con 777
    chmod -R 777 cache
    chmod -R 777 img
    
  4. Recarga tu tienda.

[INFO] El comando chmod -R 755 cache significa "cambiar permisos recursivamente a 755 para la carpeta cache y todo su interior". Es la forma correcta de hacerlo.

¿Y si el error persiste? (Checklist de verificación)

Si después de cambiar los permisos el error 500 sigue apareciendo, no desesperes. A veces hay otros factores.

  1. Limpia la caché de PrestaShop. Aunque no puedas acceder al panel de administración, puedes borrar la caché manualmente:
    • Usando el gestor de archivos, elimina todo el contenido de la carpeta /cache/smarty/cache/ y /cache/smarty/compile/. No borres las carpetas en sí, solo los archivos que hay dentro.
    • También puedes borrar la carpeta /cache/cachefs/ (si existe).
  2. Verifica el archivo .htaccess. Un .htaccess corrupto puede causar error 500. Desde el gestor de archivos, renómbralo a .htaccess_old y recarga tu tienda. Si el error desaparece, el problema era ese. Luego, desde el back office de PrestaShop (si puedes acceder), ve a "Configuración" > "Traffic & SEO" y regenera el .htaccess.
  3. Revisa los logs del servidor. Esta es la mejor pista. En Syspanel, busca la sección "Registros" o "Logs". En cPanel, suele ser "Registros de errores". Busca la línea que coincida con la hora del error. Te dirá exactamente qué archivo está causando el problema (por ejemplo, "Fallo al abrir /cache/smarty/compile/...", o un error de PHP).
  4. Desactiva módulos recién instalados. Si el error empezó justo después de instalar un módulo, renombra la carpeta del módulo en /modules (por ejemplo, de micodigomodulo a micodigomodulo_old). Si el error desaparece, el módulo es el culpable.

FAQ: Preguntas Frecuentes sobre el Error 500 en PrestaShop

P: ¿Qué permisos debe tener la carpeta raíz de PrestaShop?
R: La carpeta raíz (public_html o similar) debe tener permisos 755. Nunca 777.

P: ¿Es seguro usar permisos 777?
R: No, es un riesgo de seguridad. Solo debe usarse temporalmente y en carpetas muy específicas (como /cache o /img) si el hosting es muy restrictivo. Lo ideal es 755 para carpetas y 644 para archivos.

P: ¿Por qué mi hosting me pide permisos 777 para que funcione?
R: Algunos hostings compartidos (muy económicos) tienen configuraciones de seguridad bajas y requieren 777 para que el servidor web pueda escribir. Si es tu caso, considera migrar a un PrestaShop hosting más profesional que funcione correctamente con permisos 755.

P: ¿El error 500 puede deberse a un plugin de SEO?
R: Sí, aunque es menos común. Un plugin de SEO mal configurado o incompatible puede generar un error 500. Si sospechas de uno, desactívalo renombrando su carpeta en /modules.

P: ¿Cómo accedo a Syspanel?
R: Para acceder al panel de control de tu hosting (Syspanel), simplemente escribe en tu navegador tu-dominio.com:2106 e inicia sesión con tus credenciales.

P: ¿Qué hago si nada de esto funciona?
R: Si has seguido todos los pasos (permisos, limpiar caché, desactivar módulos) y el error persiste, contacta con el soporte de tu PrestaShop hosting. Proporciónales el mensaje de error detallado que obtuviste al activar el modo desarrollo (_PS_MODE_DEV_). Ellos podrán revisar los logs del servidor a fondo.

Espero que esta guía te haya sido de gran ayuda. Recuerda que la paciencia es clave. El error 500 PrestaShop es frustrante, pero con estos pasos sistemáticos, casi siempre se soluciona. ¡Ánimo y a por esa tienda!

¿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