Resolver error 500 en PrestaShop por permisos de archivos
¿Has llegado a tu tienda PrestaShop y te has encontrado con la temida pantalla blanca o el mensaje "Error 500: Internal Server Error"? No te preocupes, es uno de los problemas más comunes en PrestaShop y, en la mayoría de los casos, tiene una solución sencilla. Este error, también conocido como error 500 PrestaShop, suele estar relacionado con los permisos de archivos o con un archivo de configuración dañado.
En este artículo, te voy a guiar paso a paso para que puedas solucionar el error 500 de tu PrestaShop. Vamos a centrarnos en la causa más frecuente: los permisos incorrectos en los archivos y carpetas de tu instalación. Además, te daré algunos consejos para que no te vuelva a pasar.
¿Qué es el error 500 y por qué aparece en PrestaShop?
El error 500 es un código de estado HTTP que significa "Error Interno del Servidor". Es un mensaje genérico que indica que algo ha ido mal en el servidor, pero no especifica exactamente qué. En el contexto de PrestaShop, las causas más habituales son:
- Permisos de archivos incorrectos: Esta es la causa número uno. Si los archivos o carpetas de PrestaShop no tienen los permisos adecuados, el servidor no puede leerlos o ejecutarlos.
- Archivo
.htaccesscorrupto: Un archivo.htaccessmal configurado puede provocar un error 500. - Problemas de memoria PHP: Si tu script requiere más memoria de la que tiene asignada, puede fallar.
- Módulos o temas incompatibles: A veces, un módulo o tema recién instalado puede causar un conflicto.
- Archivos de configuración dañados: Archivos como
config/settings.inc.php(en versiones antiguas) oapp/config/parameters.phppueden estar corruptos.
En este artículo, nos centraremos en los permisos de archivos, ya que es la solución más común y la primera que debes probar.
Antes de empezar: Accede a tu hosting (cPanel, Syspanel, etc.)
Para solucionar el error 500 PrestaShop por permisos, necesitas acceder al panel de control de tu hosting. Dependiendo de tu proveedor, el panel puede ser:
- cPanel: El más común. Busca la sección "Archivos" y luego "Administrador de archivos".
- Syspanel (anteriormente HestiaCP): Si tu hosting usa Syspanel, accede a través del puerto 2106 (ejemplo:
tudominio.com:2106). Una vez dentro, busca la opción "Administrador de archivos". - Plesk: Otro panel popular. Busca "Administrador de archivos" en el menú.
Si no estás seguro de qué panel usas, consulta el soporte de tu hosting. Una vez dentro, navega hasta la carpeta raíz de tu PrestaShop (normalmente public_html o www).
Paso a paso: Cómo solucionar el error 500 por permisos
Vamos a restaurar los permisos correctos para PrestaShop. Sigue estos pasos con cuidado:
1. Identifica los permisos correctos
PrestaShop necesita permisos específicos para funcionar. En general, estos son los valores recomendados:
- Archivos: 644 (lectura y escritura para el propietario, solo lectura para el grupo y otros).
- Carpetas: 755 (lectura, escritura y ejecución para el propietario; lectura y ejecución para el grupo y otros).
- Carpetas especiales (cache, log, etc.): 777 (lectura, escritura y ejecución para todos). Esto solo es necesario en casos muy concretos y por periodos cortos de tiempo. No lo hagas en toda la carpeta.
[WARNING] No pongas permisos 777 a toda la carpeta de PrestaShop. Es un riesgo de seguridad grave. Solo hazlo en carpetas específicas como
cache,log,uploadodownloadsi es estrictamente necesario, y después revierte los permisos.
2. Cambia los permisos de forma masiva (la forma más rápida)
La mayoría de los paneles de control permiten cambiar permisos de forma masiva. Así se hace:
- Selecciona todos los archivos y carpetas: En el administrador de archivos, ve a la raíz de tu PrestaShop. Selecciona todo (Ctrl+A o Cmd+A).
- Cambia permisos: Busca la opción "Permisos" o "Cambiar permisos". Se abrirá una ventana.
- Establece los valores:
- En la mayoría de los paneles, puedes escribir el valor numérico (644 para archivos, 755 para carpetas).
- Si no te permite diferenciar, una opción segura es poner 755 para todo. No es perfecto, pero suele funcionar.
- Si tu panel te permite "Aplicar a subdirectorios" o "Aplicar a archivos", úsalo.
- Confirma el cambio.
3. Cambia permisos de carpetas específicas a 755
A veces, el método masivo no funciona del todo. Te recomiendo verificar y cambiar manualmente los permisos de estas carpetas clave:
/cache/log/img/mails/modules/themes/translations/upload/download
Selecciona cada carpeta, elige "Cambiar permisos" y escribe 755. Asegúrate de marcar la opción "Aplicar a subdirectorios" si la hay.
4. Si el error persiste, prueba con permisos 777 en carpetas temporales
Si después de los pasos anteriores el error 500 PrestaShop sigue apareciendo, es posible que necesites permisos más permisivos para las carpetas de caché y archivos temporales. Hazlo solo como prueba y durante poco tiempo.
- Cambia los permisos de la carpeta
/cachea 777 (incluyendo subdirectorios). - Cambia los permisos de la carpeta
/loga 777. - Cambia los permisos de la carpeta
/uploada 777 (si existe).
Después de esto, prueba tu tienda. Si funciona, el problema eran los permisos. Ahora, revierte los permisos de esas carpetas a 755 para mantener la seguridad.
[TIP] Si no puedes cambiar los permisos a 777, es posible que tu hosting tenga restricciones de seguridad. En ese caso, contacta con el soporte de tu hosting y diles que necesitas permisos 777 en las carpetas de caché de PrestaShop.
Otras causas del error 500 (y cómo solucionarlas)
Si los permisos no han sido el problema, no te desanimes. Aquí tienes otras causas comunes del error 500 solución:
1. Archivo .htaccess corrupto
El archivo .htaccess se regenera automáticamente. Para solucionar problemas con él:
- Accede a tu administrador de archivos.
- Busca el archivo
.htaccessen la raíz de PrestaShop (puede estar oculto, activa la opción "Mostrar archivos ocultos"). - Renómbralo a
.htaccess_oldo descárgalo y luego bórralo. - Ve al back office de PrestaShop (si puedes acceder) y ve a Configuración -> Rendimiento. Haz clic en "Regenerar archivo .htaccess".
- Si no puedes acceder al back office, crea un archivo
.htaccessnuevo y vacío. PrestaShop lo regenerará al siguiente acceso.
2. Aumentar la memoria PHP
A veces, el error 500 se debe a que el script se queda sin memoria. Puedes aumentarla desde el panel de control:
- Busca la opción "PHP Settings", "Select PHP Version" o "Configuración de PHP".
- Busca la variable
memory_limity cámbiala a un valor más alto, por ejemplo256Mo512M. - Guarda los cambios.
3. Deshabilitar módulos y temas (modo seguro)
Si el error apareció después de instalar un módulo o tema, puedes deshabilitarlo manualmente:
- Accede a tu administrador de archivos.
- Ve a la carpeta
/modules. - Renombra la carpeta del módulo sospechoso (por ejemplo, añade
_oldal final). Esto lo desactivará. - Prueba tu tienda.
Si el error se soluciona, ese módulo es el culpable. Puedes eliminarlo o contactar con el desarrollador.
4. Verificar la integridad de los archivos de PrestaShop
Si nada funciona, es posible que algún archivo de PrestaShop esté dañado. Puedes:
- Reinstalar PrestaShop: Sube una copia limpia de los archivos de PrestaShop (sin tocar la base de datos) desde la misma versión que tienes instalada. Esto reemplazará los archivos dañados.
- Usar el instalador de PrestaShop: Si tienes acceso al back office, ve a Módulos y servicios -> Módulos y servicios y busca "PrestaShop Checker" o "PrestaShop Cleaner". Estos módulos pueden ayudarte a detectar problemas.
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop
P: ¿El error 500 puede ser por culpa de mi hosting?
R: Sí, aunque es menos común. Si tu hosting tiene problemas de recursos (CPU, memoria) o una mala configuración del servidor, puede provocar errores 500. Contacta con el soporte de tu hosting si has probado todo lo demás.
P: ¿Qué hago si no puedo acceder al back office de PrestaShop?
R: No te preocupes. Puedes solucionar el error 500 PrestaShop desde el administrador de archivos de tu hosting. Todos los pasos que te he explicado se pueden hacer desde ahí.
P: ¿Los permisos 777 son peligrosos?
R: Sí, son un riesgo de seguridad porque cualquiera puede escribir en esas carpetas. Úsalos solo temporalmente para solucionar el error y luego revierte a 755 o 644.
P: ¿Cómo sé si mi archivo .htaccess está corrupto?
R: Si al renombrar el .htaccess a .htaccess_old y regenerarlo se soluciona el error, entonces estaba corrupto.
P: ¿Qué significa el error 500 en PrestaShop cuando estoy en el back office?
R: Significa lo mismo: un error interno del servidor. Las soluciones son las mismas, pero a veces es más fácil porque puedes ir a Configuración -> Rendimiento y regenerar el `.htaccess* o limpiar la caché.
Conclusión: No te rindas, el error 500 tiene solución
El error 500 PrestaShop puede ser frustrante, pero como has visto, en la mayoría de los casos tiene una solución sencilla. Empieza siempre por los permisos de archivos, que es la causa más común. Si no funciona, prueba con el .htaccess, la memoria PHP o deshabilitando módulos.
Recuerda que la clave está en ir probando paso a paso y no desesperarte. Con un poco de paciencia y siguiendo esta guía, tu tienda volverá a funcionar en poco tiempo.
[INFO] Si después de probar todo esto el error persiste, contacta con el soporte técnico de tu hosting. Ellos podrán revisar los logs del servidor y darte una respuesta más precisa. Diles que has probado a cambiar los permisos a 755/644, a regenerar el
.htaccessy a aumentar la memoria PHP.
Espero que este artículo te haya sido de ayuda. ¡Buena suerte con tu tienda PrestaShop!
