Solución de error 500 en PrestaShop con Plesk
Comprendiendo el Error 500 en PrestaShop
El temido error 500 en PrestaShop, también conocido como "Error interno del servidor", es uno de los problemas más comunes que enfrentan los usuarios al administrar su tienda online. Este código de error genérico indica que algo salió mal en el servidor, pero sin dar detalles específicos sobre la causa raíz. Para los usuarios sin experiencia técnica, puede ser frustrante, pero con las herramientas adecuadas y un enfoque paso a paso, es posible solucionarlo.
En este artículo, nos centraremos en resolver el error 500 PrestaShop cuando tu sitio está alojado en un servidor con Plesk. Plesk es un panel de control de hosting muy popular, y te guiaremos para que puedas diagnosticar y arreglar el problema tú mismo, sin necesidad de ser un experto en servidores.
[INFO] El error 500 puede aparecer tanto en el frontend (la tienda visible para clientes) como en el backend (panel de administración). En muchos casos, la solución es la misma.
Causas Comunes del Error 500 en PrestaShop
Antes de lanzarnos a las soluciones, es útil entender qué puede estar provocando el error. Las causas más frecuentes incluyen:
- Archivos .htaccess corruptos: Este archivo es crucial para las reglas de reescritura de URL y la configuración del servidor. Un error en él puede causar el error 500.
- Problemas de permisos de archivos: Si los permisos (lectura, escritura, ejecución) no son correctos, PrestaShop no puede acceder a sus archivos.
- Errores de PHP: Un script con errores, una función obsoleta o un límite de memoria excedido pueden detener la ejecución.
- Módulos o temas incompatibles: Tras una actualización o instalación, un módulo o tema defectuoso puede romper la tienda.
- Problemas de base de datos: Una tabla corrupta o una consulta fallida también pueden desencadenar el error 500.
- Configuración del servidor: Límites de recursos (como el tiempo de ejecución máximo) o directivas incorrectas en Plesk.
Solución Paso a Paso para el Error 500 en PrestaShop con Plesk
A continuación, te presentamos una guía detallada para resolver el error 500 PrestaShop utilizando las herramientas que ofrece Plesk. Sigue los pasos en orden, ya que van de lo más simple a lo más complejo.
Paso 1: Activar la Visualización de Errores PHP
Por defecto, los errores de PHP están ocultos en producción. Activarlos te dará pistas concretas sobre el problema.
- Accede a Plesk (normalmente a través de
https://tudominio.com:8443o la URL que te haya proporcionado tu proveedor de hosting). - Ve a Sitios web y dominios y selecciona tu dominio.
- Busca la sección Configuración de PHP (o "PHP Settings").
- Localiza la opción display_errors y cámbiala a On.
- También es recomendable cambiar error_reporting a E_ALL para ver todos los tipos de errores.
- Guarda los cambios y recarga tu tienda. Ahora deberías ver un mensaje de error más descriptivo en lugar del genérico 500.
[WARNING] No olvides desactivar
display_errorsy volver a ponererror_reportinga un valor seguro (comoE_ALL & ~E_NOTICE & ~E_STRICT) una vez que hayas solucionado el problema, por seguridad.
Paso 2: Revisar y Regenerar el Archivo .htaccess
El archivo .htaccess es un punto crítico. Un error en él es una de las causas más comunes del error 500 en PrestaShop.
-
Conéctate a tu servidor mediante FTP (FileZilla, Cyberduck, etc.) o usa el Administrador de archivos de Plesk.
-
Navega hasta la carpeta raíz de tu tienda (normalmente
httpdocsopublic_html). -
Localiza el archivo
.htaccess. Si no lo ves, asegúrate de que tu cliente FTP muestre archivos ocultos. -
Haz una copia de seguridad del archivo (por ejemplo, renómbralo a
.htaccess.backup). -
Ahora, elimina o renombra el archivo
.htaccessoriginal. Si el error desaparece, el problema está ahí. -
Para regenerar un
.htaccesslimpio para PrestaShop, accede a tu Panel de administración de PrestaShop (si aún puedes) y ve a Configuración de la tienda > Tráfico y SEO > URL amigables. Desmarca y vuelve a marcar la opción "URLs amigables" y guarda. Esto forzará a PrestaShop a crear un nuevo archivo. -
Si no puedes acceder al panel, puedes crear un
.htaccessbásico manualmente. Copia y pega este código en un editor de texto y súbelo como.htaccess:# START PrestaShop <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] </IfModule> # END PrestaShop
Paso 3: Verificar y Corregir los Permisos de Archivos
Los permisos incorrectos pueden impedir que PrestaShop lea o escriba archivos, causando el error 500.
- Usa el Administrador de archivos de Plesk o un cliente FTP.
- Asegúrate de que los permisos de las carpetas sean 755 y los de los archivos 644. La excepción son las carpetas
cache,img,log,mails,modules,themes,translationsyupload, que deben tener permisos 755 (o 777 en algunos casos, pero 755 es más seguro). - En Plesk, puedes seleccionar todos los archivos y carpetas de la raíz, hacer clic derecho y elegir Cambiar permisos. Aplica 755 a las carpetas y 644 a los archivos.
- Presta especial atención a los archivos
config/settings.inc.phpyconfig/defines.inc.php. Deben tener permisos 644.
[TIP] Si usas FTP, muchos clientes tienen una opción para "Aplicar permisos a subcarpetas y archivos" para hacerlo de una sola vez.
Paso 4: Aumentar el Límite de Memoria de PHP
A veces, el error 500 se debe a que un script se queda sin memoria. Aumentar el límite puede solucionarlo.
- En Plesk, ve a Sitios web y dominios > Configuración de PHP.
- Busca la directiva memory_limit.
- Auméntala a 256M o 512M. Si ya está en 128M, prueba con 256M.
- Guarda los cambios y verifica si el error persiste.
Paso 5: Deshabilitar Módulos o Temas Problemáticos
Si el error apareció después de instalar o actualizar un módulo o tema, es probable que sea el culpable.
- Si aún tienes acceso al Panel de administración de PrestaShop, ve a Módulos > Gestor de módulos y deshabilita los módulos recién instalados o actualizados.
- Si no puedes acceder al panel, tendrás que hacerlo manualmente:
- Conéctate por FTP o al Administrador de archivos de Plesk.
- Navega a la carpeta
/modules. - Localiza la carpeta del módulo sospechoso y renómbrala (por ejemplo, añadiendo
_disabledal final). Esto lo desactivará. - Si el problema es el tema, renombra la carpeta del tema activo en
/themes(por ejemplo, atema_desactivado). PrestaShop usará el tema por defecto (si existe).
- Prueba tu tienda. Si el error se soluciona, ya sabes qué lo causaba.
Paso 6: Revisar los Logs del Servidor en Plesk
Los logs son la fuente de información más valiosa para diagnosticar el error 500 PrestaShop.
- En Plesk, ve a Sitios web y dominios y selecciona tu dominio.
- Busca la sección Logs (a veces dentro de "Estadísticas" o "Herramientas").
- Revisa el log de errores (error_log) más reciente. Busca líneas que contengan "PHP Fatal error" o "mod_security".
- Anota cualquier mensaje de error. Por ejemplo, un error como
PHP Fatal error: Allowed memory size of 134217728 bytes exhaustedte indica que necesitas aumentar la memoria (Paso 4). Si ves un error de una función específica, te ayudará a identificar el módulo o archivo problemático.
[INFO] Si no ves los logs en Plesk, contacta a tu proveedor de hosting. Ellos pueden proporcionarte acceso a los logs del servidor Apache o Nginx.
Paso 7: Verificar la Configuración de Plesk (mod_security, PHP handler)
A veces, la configuración del servidor en Plesk puede interferir.
- Mod_Security: Este módulo de seguridad de Apache puede bloquear peticiones legítimas. En Plesk, ve a Sitios web y dominios > Configuración de seguridad web (o similar) y desactívalo temporalmente para probar.
- PHP Handler: Asegúrate de que el manejador de PHP sea compatible. En Configuración de PHP, verifica que el "PHP handler" no esté en un modo obsoleto. "FastCGI" o "FPM" suelen ser las opciones más estables para PrestaShop.
- Versión de PHP: PrestaShop requiere una versión específica de PHP (por ejemplo, 7.4, 8.0, 8.1 según la versión de PrestaShop). En Configuración de PHP, selecciona una versión compatible con tu tienda.
Paso 8: Revisar la Base de Datos
Una base de datos corrupta también puede causar un error 500.
- Accede a phpMyAdmin desde Plesk (suele estar en Bases de datos > phpMyAdmin).
- Selecciona la base de datos de tu tienda.
- En la parte inferior, marca la opción Seleccionar todo y en el menú desplegable elige Reparar tabla. Esto intentará reparar tablas corruptas.
- También es buena idea ejecutar un Optimizar tabla para limpiar la base de datos.
FAQ: Preguntas Frecuentes sobre el Error 500 en PrestaShop
¿Por qué aparece el error 500 solo en algunas páginas?
Esto suele indicar un problema con un módulo o función específica. Revisa los logs del servidor para ver qué página o script está fallando.
¿Puedo evitar el error 500 en el futuro?
Sí, siguiendo estas buenas prácticas:
- Haz siempre copias de seguridad antes de actualizar PrestaShop, módulos o temas.
- Usa módulos y temas de fuentes confiables.
- Mantén tu PrestaShop y servidor actualizados.
- Monitorea los logs del servidor periódicamente.
Si nada funciona, ¿qué hago?
Si has seguido todos los pasos y el error persiste, contacta a tu proveedor de Plesk hosting. Ellos tienen acceso a configuraciones más profundas del servidor y pueden revisar problemas de hardware o configuración global que tú no puedes modificar.
[WARNING] Si tienes acceso a Syspanel (el panel de control alternativo, que se accede por el puerto 2106), los pasos son similares, pero la interfaz es diferente. Busca las secciones de "Archivos", "Base de datos" y "Logs" dentro de Syspanel para aplicar las mismas soluciones.
Conclusión
El error 500 en PrestaShop puede ser desconcertante, pero con esta guía y las herramientas que ofrece Plesk, tienes todo lo necesario para diagnosticarlo y solucionarlo. Recuerda siempre empezar por lo más sencillo (activar errores, revisar .htaccess) y avanzar hacia lo más complejo (logs, base de datos). La clave está en la paciencia y en seguir un método estructurado. ¡No te rindas, tu tienda online estará funcionando de nuevo en poco tiempo!
