Cómo solucionar el error '500 Internal Server Error' en PrestaShop con Plesk
¿Por qué aparece el error 500 en PrestaShop y Plesk?
El error 500 Internal Server Error es uno de los más temidos por cualquier administrador de tiendas online. Si tienes PrestaShop alojado en un servidor con Plesk, es muy probable que en algún momento te hayas encontrado con una pantalla en blanco o un mensaje genérico que no te dice nada útil. La buena noticia es que, en la gran mayoría de los casos, este error tiene una solución clara y no implica perder datos.
Antes de entrar en pánico, debes entender que un error 500 significa que el servidor encontró una condición inesperada que le impidió completar la petición. No es un problema de tu conexión a internet ni de tu navegador. Es algo que ocurre en el servidor, y casi siempre está relacionado con permisos de archivos, archivos corruptos, memoria insuficiente o un módulo mal configurado.
En este artículo te voy a guiar paso a paso para diagnosticar y solucionar el error 500 en PrestaShop cuando utilizas Plesk como panel de control. No necesitas ser un experto en Linux, pero sí tener acceso al panel y a los archivos de tu sitio. Vamos a ello.
Primeros pasos: no hagas nada a ciegas
Cuando aparece el error 500, lo peor que puedes hacer es empezar a tocar archivos al azar o reinstalar cosas. Lo primero es recopilar información. El error 500 es como un dolor de cabeza: puede tener muchas causas, y necesitas identificar cuál es la tuya antes de aplicar un tratamiento.
Accede a los logs de error
Plesk guarda los registros de error de cada dominio en una ubicación concreta. Para encontrarlos, sigue esta ruta:
- Entra en tu panel de Plesk.
- Ve a la sección Sitios web y dominios.
- Busca tu dominio de PrestaShop y haz clic en Registros o Logs.
- Busca el archivo llamado
error_logo similar. En la mayoría de instalaciones, estará en la carpeta raíz de tu dominio, por ejemplo:/var/www/vhosts/tudominio.com/httpdocs/error_log.
Si no ves el archivo desde el panel, puedes acceder por SSH (si tu plan lo permite) y ejecutar:
tail -f /var/www/vhosts/tudominio.com/httpdocs/error_log
Este comando te mostrará los últimos errores en tiempo real. Es una herramienta fundamental para el diagnóstico. Los mensajes que veas ahí te dirán exactamente qué está fallando.
Causas más comunes del error 500 en PrestaShop
Una vez que tienes acceso a los logs, es hora de identificar el problema. Estas son las causas más habituales:
1. Permisos de archivos incorrectos
Plesk tiene una estructura de permisos específica. Si algún archivo o carpeta tiene permisos demasiado restrictivos o demasiado permisivos, PrestaShop no podrá leer o escribir correctamente, y el servidor devolverá un error 500.
Los permisos recomendados para PrestaShop en Plesk son:
- Directorios: 755
- Archivos: 644
- Carpeta
config: 755 - Carpeta
cache: 755 - Carpeta
log: 755 - Carpeta
img: 755 - Carpeta
mails: 755 - Carpeta
modules: 755 - Carpeta
themes: 755 - Carpeta
translations: 755 - Carpeta
upload: 755 - Carpeta
var: 755
Para corregir los permisos desde Plesk, ve a Sitios web y dominios > tu dominio > Administrador de archivos. Selecciona todos los archivos y carpetas, haz clic en Permisos y ajusta según lo indicado.
[WARNING] No uses permisos 777 en ningún archivo de PrestaShop, especialmente en
config/settings.inc.php. Esto es un grave riesgo de seguridad y además puede provocar errores en Plesk.
2. Archivos corruptos o incompletos
A veces, una actualización fallida de PrestaShop o una subida incompleta de archivos por FTP deja el sistema en un estado inconsistente. Los archivos más críticos son los que están en la raíz, como index.php, config/config.inc.php o el archivo .htaccess.
La solución más fiable es comparar tus archivos con una copia limpia de la misma versión de PrestaShop que tienes instalada. Puedes descargarla desde el sitio oficial de PrestaShop y sobrescribir los archivos dañados.
Para ello:
- Descarga la versión exacta de PrestaShop que tienes instalada.
- Descomprime el ZIP en tu ordenador.
- Sube por FTP o por el Administrador de archivos de Plesk solo los archivos que falten o estén corruptos.
[TIP] Antes de sobrescribir nada, haz una copia de seguridad completa de tu sitio. Puedes usar la herramienta de copia de seguridad de Plesk o hacer un backup manual por FTP.
3. Memoria PHP insuficiente
PrestaShop es una plataforma bastante exigente en cuanto a recursos. Si el límite de memoria PHP es demasiado bajo, especialmente al administrar el back office o al procesar imágenes, el servidor puede responder con un error 500.
Para aumentar el límite de memoria, debes editar el archivo php.ini o crear un archivo .htaccess en la raíz de tu PrestaShop con las siguientes líneas:
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
En Plesk, también puedes cambiar la configuración de PHP desde el panel. Ve a Sitios web y dominios > tu dominio > Configuración de PHP. Ahí podrás ajustar el memory_limit a 256M o incluso 512M si tu plan lo permite.
4. Módulos o temas incompatibles
Un módulo recién instalado o actualizado puede ser el culpable del error 500. A veces, un módulo mal codificado provoca un conflicto fatal con el núcleo de PrestaShop.
Para diagnosticar si es un módulo el que está causando el problema:
- Accede a tu servidor por FTP o por el Administrador de archivos de Plesk.
- Renombra la carpeta
modulesamodules_backup. - Crea una carpeta nueva llamada
modulesvacía. - Intenta acceder a tu tienda.
Si el error desaparece, el problema está en uno de tus módulos. Para identificar cuál, ve moviendo los módulos de modules_backup a modules de uno en uno, comprobando la tienda en cada paso.
[INFO] Este método es un poco tedioso, pero es infalible. Asegúrate de hacerlo con calma y de anotar qué módulo te da el error.
5. Problemas con el archivo .htaccess
El archivo .htaccess de PrestaShop es esencial para el funcionamiento de las URLs amigables y la redirección. Si está dañado o tiene directivas incompatibles, puede provocar un error 500.
Puedes regenerar el .htaccess desde el back office de PrestaShop, pero si no puedes acceder, tendrás que hacerlo manualmente. Una opción es renombrar el archivo actual a .htaccess.bak y crear uno nuevo vacío. Luego, desde el back office (si consigues entrar), ve a Parámetros avanzados > URLs y guarda la configuración para que PrestaShop genere un .htaccess nuevo.
Si no puedes acceder al back office, tendrás que restaurar un .htaccess de una copia de seguridad o copiar el de una instalación limpia de la misma versión.
6. Problemas con la base de datos
Otra causa frecuente es una base de datos corrupta o con errores. Plesk incluye herramientas para reparar bases de datos MySQL. Puedes acceder a phpMyAdmin desde Plesk y ejecutar un chequeo de las tablas de PrestaShop.
En phpMyAdmin:
- Selecciona la base de datos de tu PrestaShop.
- Ve a la pestaña Operaciones.
- Busca la sección Mantenimiento de tablas.
- Elige Verificar tablas y luego Reparar tablas si se encuentran errores.
[WARNING] Antes de reparar, haz una copia de seguridad de la base de datos. La reparación de tablas puede ser destructiva si hay errores graves.
Soluciones específicas para Plesk
Plesk tiene sus propias particularidades que pueden ayudar a resolver el error 500 de forma más rápida.
Usa el modo de desarrollo de PHP
Plesk te permite cambiar entre modos de PHP. Puedes probar a cambiar de php-fpm a apache o viceversa, ya que a veces un cambio en la configuración de Plesk puede romper la compatibilidad con PrestaShop.
Para cambiar el modo de PHP:
- Ve a Sitios web y dominios > tu dominio.
- Busca la sección Configuración de PHP.
- Cambia el modo de ejecución de PHP.
- Guarda los cambios y prueba tu tienda.
Comprueba los certificados SSL
Un error 500 también puede aparecer si hay un problema con el certificado SSL o si la configuración de HTTPS está mal. Plesk gestiona los certificados de forma centralizada, así que revisa que tu certificado esté correctamente instalado y activo.
Ve a Sitios web y dominios > tu dominio > Certificados SSL/TLS. Si ves algún error, reinstala el certificado o genera uno nuevo.
Revisa el espacio en disco
Un disco lleno puede causar errores 500. Plesk te muestra el uso de disco en el panel principal. Si está al 100%, libera espacio eliminando copias de seguridad antiguas, logs innecesarios o cachés.
Diagnóstico avanzado: activa el modo de depuración
Si nada de lo anterior funciona, es hora de activar el modo de depuración de PrestaShop para obtener más información sobre el error.
Para ello, edita el archivo config/defines.inc.php y cambia:
define('_PS_MODE_DEV_', false);
por:
define('_PS_MODE_DEV_', true);
Guarda el archivo y recarga tu tienda. Ahora verás el error real en pantalla, con el archivo y la línea exacta donde se produce. Esto es oro puro para el diagnóstico.
[WARNING] No dejes el modo de depuración activado en producción. Es un riesgo de seguridad enorme. Desactívalo en cuanto hayas identificado el problema.
Prevención: cómo evitar futuros errores 500
Una vez que hayas solucionado el error, es importante tomar medidas para que no vuelva a ocurrir.
Mantén todo actualizado
Tanto PrestaShop como los módulos y temas deben estar siempre en sus últimas versiones. Las actualizaciones corrigen errores y vulnerabilidades que pueden provocar fallos.
Haz copias de seguridad periódicas
Configura copias de seguridad automáticas en Plesk. Puedes programar backups diarios o semanales según la frecuencia de actualización de tu tienda.
Controla los permisos
Revisa periódicamente los permisos de los archivos, especialmente después de subir archivos por FTP. Un simple archivo con permisos incorrectos puede tumbar toda la tienda.
Monitoriza los logs
Revisa los logs de error de vez en cuando, aunque todo funcione correctamente. Detectar problemas a tiempo te ahorrará muchos quebraderos de cabeza.
Preguntas frecuentes sobre el error 500 en PrestaShop y Plesk
¿El error 500 significa que he perdido mis datos?
No, en absoluto. El error 500 es un fallo del servidor, no un problema de datos. Tus productos, pedidos y clientes siguen en la base de datos. Una vez solucionado el error, todo volverá a estar visible.
¿Puedo solucionar el error 500 sin acceso al panel de Plesk?
Es mucho más complicado, pero posible. Si tienes acceso por FTP y a phpMyAdmin, puedes aplicar la mayoría de las soluciones que hemos visto. Sin embargo, el acceso a Plesk facilita mucho el diagnóstico y la resolución.
¿Cuánto tiempo se tarda en solucionar un error 500?
Depende de la causa. Si es un problema de permisos, puede ser cuestión de minutos. Si es un módulo conflictivo, puede llevarte un par de horas. En cualquier caso, con este artículo deberías poder resolverlo en menos de una tarde.
¿Debo contratar a un profesional?
Si después de seguir todos estos pasos el error persiste, puede ser recomendable contactar con el soporte de tu hosting o con un desarrollador especializado en PrestaShop. A veces hay problemas de servidor más profundos que requieren conocimientos avanzados de Linux.
Conclusión
El error 500 es frustrante, pero no es el fin del mundo. Con un buen diagnóstico, acceso a los logs y un poco de paciencia, puedes resolverlo. Recuerda que Plesk te da herramientas potentes para gestionar tu servidor, y que PrestaShop es una plataforma robusta que se recupera bien de estos contratiempos.
Lo más importante es no actuar a ciegas. Sigue los pasos de este artículo, utiliza los logs para identificar la causa exacta y aplica la solución adecuada. Y sobre todo, no olvides hacer copias de seguridad. La prevención es siempre la mejor estrategia.
Ahora ya tienes todo lo necesario para enfrentarte al temido error 500 en PrestaShop con Plesk. Manos a la obra.
