Solución a errores comunes de PrestaShop en Plesk (500, 503, instalación)
¿Tu tienda PrestaShop en Plesk ha decidido tomarse unas vacaciones inesperadas? No te preocupes, es más común de lo que crees. Los errores 500, 503 o los fallos durante la instalación son clásicos en este CMS, pero la buena noticia es que casi siempre tienen una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un gurú de la programación.
En esta guía extensa y práctica, vamos a desglosar paso a paso cómo solucionar los errores más frecuentes de PrestaShop cuando está alojado en un servidor con Plesk. Olvídate del pánico, coge un café y vamos a ello. Al final de este artículo, tendrás un kit de herramientas mentales para diagnosticar y arreglar estos problemas.
¿Por qué ocurren los errores en PrestaShop con Plesk?
Antes de lanzarnos a la acción, es importante entender que Plesk es un panel de control muy potente, pero a veces su configuración predeterminada choca con los requisitos específicos de PrestaShop. La mayoría de los problemas vienen de tres frentes principales:
- Permisos de archivos incorrectos: PrestaShop necesita escribir en ciertos archivos y carpetas. Si los permisos no son los correctos (normalmente 755 para carpetas y 644 para archivos), el sistema falla.
- Versiones de PHP incompatibles: PrestaShop es un poco "exigente" con la versión de PHP. Usar una versión muy nueva o muy antigua puede provocar errores 500 inmediatos.
- Configuración del servidor (Apache/Nginx): Plesk a veces configura el servidor web de una manera que no coincide con las reglas de reescritura de URL (archivo
.htaccess) de PrestaShop.
Vamos a ver cómo atacar cada uno de estos frentes.
Solucionar el temido "Error 500" en PrestaShop
El error 500 es el "cajón desastre" de los errores. Significa que algo falló en el servidor, pero no te dice exactamente qué. Es como si tu coche no arrancara y el mecánico dijera "es un problema de motor". Tenemos que ser detectives.
### Diagnóstico inicial: Activar el modo de depuración
El primer paso para solucionar el error 500 es saber por qué ocurre. PrestaShop tiene un modo de depuración que muestra el error real en pantalla.
Para activarlo, necesitas acceder a los archivos de tu tienda. Puedes hacerlo desde el Administrador de archivos de Plesk (normalmente en la sección "Archivos" de tu dominio) o mediante FTP.
- Busca el archivo
config/defines.inc.phpen la raíz de tu instalación de PrestaShop. - Ábrelo con el editor de texto que te proporciona Plesk.
- Busca esta línea:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda los cambios e intenta cargar tu tienda de nuevo.
Ahora, en lugar de la pantalla blanca del error 500, verás un mensaje de error detallado en la pantalla. Puede ser algo como "Fatal error: Allowed memory size of X bytes exhausted..." o "Uncaught Error: Call to undefined function...".
[INFO] Anota ese mensaje. Es la clave para la solución definitiva.
Una vez que tengas el mensaje, puedes revertir el cambio en defines.inc.php (volver a poner false) para que tus clientes no vean esos detalles técnicos, y aplicar la solución específica.
### Soluciones comunes para el error 500
Dependiendo del mensaje de error, la solución varía. Aquí tienes las más habituales:
-
Límite de memoria excedido: Si el error menciona "Allowed memory size", tu tienda necesita más memoria PHP.
- Solución: Ve a Plesk > Herramientas y configuración > Configuración de PHP (o directamente en el dominio > PHP Settings). Busca la opción
memory_limity auméntala. Te recomiendo empezar con256Mo incluso512M. Guarda los cambios y prueba de nuevo.
- Solución: Ve a Plesk > Herramientas y configuración > Configuración de PHP (o directamente en el dominio > PHP Settings). Busca la opción
-
Archivo .htaccess corrupto: Este archivo es vital para las URLs amigables de PrestaShop. Si está dañado, obtendrás un error 500.
- Solución: Usa el Administrador de archivos de Plesk, ve a la raíz de tu tienda y renombra el archivo
.htaccessa.htaccess.bak(o bórralo, pero renombrarlo es más seguro). - Ahora, ve al back-office de PrestaShop (si puedes acceder,
/adminXXX) y ve a Parámetros avanzados > Rendimiento. Pulsa el botón "Regenerar el archivo .htaccess".
- Solución: Usa el Administrador de archivos de Plesk, ve a la raíz de tu tienda y renombra el archivo
-
Versión de PHP incorrecta: PrestaShop 1.7 y 8.x funcionan mejor con PHP 7.4 u 8.0/8.1.
- Solución: En Plesk, ve a tu dominio > "Configuración de PHP" y selecciona una versión más estable. Si tienes PHP 8.2 o 8.3 y tu PrestaShop es antiguo (1.6), es muy probable que ese sea el problema. Cambia a 7.4.
Atajando el "Error 503" (Servicio No Disponible)
El error 503 es diferente al 500. Este indica que el servidor está en mantenimiento o está sobrecargado. En el contexto de PrestaShop en Plesk, hay dos causas principales.
### Modo mantenimiento activado por error
A veces, una actualización fallida o un clic accidental deja tu tienda en "modo mantenimiento", mostrando un 503 a todos los visitantes.
- Solución: Accede a tu back-office de PrestaShop. Si puedes entrar, ve a Parámetros avanzados > Mantenimiento y desactiva el modo mantenimiento.
- Solución vía archivos: Si no puedes entrar al back-office, tendrás que hacerlo manualmente. Conecta por FTP o usa el Administrador de archivos de Plesk. Busca el archivo
app/config/parameters.php. Dentro, busca la línea que dice'PS_SHOP_ENABLE' => 0y cámbiala a'PS_SHOP_ENABLE' => 1. Guarda y recarga.
[WARNING] Ten cuidado al editar este archivo. Si borras una coma o una comilla, puedes romper toda la tienda. Haz una copia de seguridad antes de tocarlo.
### Problemas con PHP-FPM o el servicio web
Si el error 503 persiste, el problema puede ser que el servicio PHP-FPM (el que ejecuta PHP) se haya detenido o esté fallando.
- Solución: En Plesk, ve a "Herramientas y configuración" > "Servicios". Busca el servicio de PHP-FPM (puede llamarse
php-fpmo similar) y asegúrate de que esté ejecutándose. Si está detenido, inícialo. También puedes reiniciar Apache o Nginx desde aquí para asegurarte de que todo se recarga correctamente.
Errores durante la instalación inicial de PrestaShop
Instalar PrestaShop en Plesk suele ser un proceso guiado por el instalador de Plesk, pero a veces falla. Estos son los problemas más comunes y cómo resolverlos.
### La instalación se atasca o da error en el paso de "Configuración de la base de datos"
Este es un clásico. El instalador no puede conectarse a la base de datos MySQL.
- Solución: Asegúrate de que los datos de la base de datos son correctos. En Plesk, ve a la sección "Bases de datos" de tu dominio y crea una nueva base de datos y un usuario si no lo has hecho. Anota el nombre de la base, el usuario y la contraseña.
- Asegúrate de que el nombre del servidor de base de datos es
localhosty no una IP o un nombre de dominio externo. - Verifica que el usuario de la base de datos tiene todos los privilegios sobre esa base de datos (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). En Plesk, puedes gestionar los privilegios desde la propia base de datos.
[TIP] Si el instalador te da error en el paso de "Crear tablas", puede ser que el usuario de la base de datos no tenga permisos suficientes. Es más fácil borrar la base de datos y crearla de nuevo otorgando todos los privilegios que intentar modificarlos manualmente.
### Error de permisos de archivos durante la instalación
El instalador necesita escribir en muchos archivos. Si los permisos no son correctos, te mostrará un error.
- Solución: Una solución rápida es seleccionar todos los archivos y carpetas de tu instalación de PrestaShop desde el Administrador de archivos de Plesk y cambiar sus permisos a
755para carpetas y644para archivos. Plesk te permite hacer esto en "Propiedades" de archivo o carpeta. - Solución avanzada: Si usas SSH, puedes ejecutar el siguiente comando desde la raíz de tu tienda para arreglarlo todo de una vez:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
### El instalador no crea el archivo de configuración
Si el instalador termina pero no crea el archivo config/settings.inc.php (en PrestaShop 1.6) o app/config/parameters.php (en PrestaShop 1.7+), es un problema de permisos.
- Solución: Manualmente, crea una carpeta llamada
configen la raíz y dentro, un archivo vacío llamadosettings.inc.php. Luego, cambia los permisos de esa carpeta a755y el archivo a644. Vuelve a ejecutar el instalador. A veces, el hecho de que el archivo ya exista (aunque vacío) permite que el script continúe.
Prevención: Evita futuros dolores de cabeza
Una vez que hayas solucionado el problema, es hora de blindar tu tienda para que no vuelva a pasar.
### Configuración recomendada en Plesk
- Versión de PHP: Elige una versión de PHP que sea compatible con tu versión de PrestaShop. Investiga cuál es la recomendada. Para PrestaShop 8.x, PHP 8.0 o 8.1 son ideales.
- Aumenta el límite de memoria: Configura
memory_limita256Mpor defecto en la configuración de PHP de tu dominio. Esto evitará muchos errores de memoria. - Activa el caché de PrestaShop: Ve a Parámetros avanzados > Rendimiento y activa el caché. Esto no solo acelera tu tienda, sino que reduce la carga en el servidor, lo que puede prevenir errores 503.
### Copias de seguridad: Tu mejor amigo
Plesk facilita mucho las copias de seguridad. Antes de hacer cualquier cambio importante (actualizar módulos, cambiar la versión de PHP, editar archivos), haz una copia de seguridad completa.
- Ve a tu dominio > "Copias de seguridad" en Plesk.
- Pulsa "Crear copia de seguridad" y elige "Todo el dominio" (incluyendo archivos y bases de datos).
- Si algo sale mal, puedes restaurarla en unos clics.
[INFO] Una copia de seguridad es tu red de seguridad. Nunca sabes cuándo un simple cambio puede provocar un efecto dominó.
Preguntas Frecuentes (FAQ) sobre errores de PrestaShop en Plesk
Aquí tienes algunas de las preguntas que más nos llegan al soporte. Si tu error no estaba arriba, quizás esté aquí.
¿Cómo activo el modo de depuración si no veo el archivo defines.inc.php?
Si estás en PrestaShop 1.7 o superior, el archivo se llama config/defines.inc.php y está en la raíz. Si no lo ves, asegúrate de que el administrador de archivos de Plesk muestra archivos ocultos (los que empiezan por .). Puedes activar la opción "Mostrar archivos ocultos" en la esquina superior derecha del Administrador de archivos.
He cambiado la versión de PHP y ahora la tienda está en blanco. ¿Qué hago?
Vuelve a cambiar a la versión anterior que funcionaba. El cambio a una versión más nueva puede romper la compatibilidad con módulos antiguos. Investiga si tus módulos son compatibles con la nueva versión antes de hacer el cambio definitivo.
¿Puedo usar Syspanel para gestionar mi PrestaShop en lugar de Plesk?
Syspanel es un panel de control alternativo. Si tu proveedor de hosting te ofrece Syspanel (que se accede a través del puerto 2106), el proceso de gestión será similar, pero las rutas de los menús pueden cambiar. Sin embargo, los principios de solución de errores (permisos, versiones de PHP) son exactamente los mismos. La solución de errores PrestaShop Plesk que hemos visto aquí se aplica a la mayoría de los paneles.
El error 500 solo aparece en la página de inicio, pero el back-office funciona. ¿Por qué?
Esto suele ser un problema con el archivo .htaccess o con el tema. Prueba a regenerar el .htaccess desde el back-office. Si no funciona, cambia temporalmente el tema a uno por defecto (como Classic) para ver si el problema es del tema.
¿Cómo solucionar un error 500 que aparece al activar un módulo?
Desactiva el módulo desde el back-office o, si no puedes, renombra la carpeta del módulo en /modules a través del Administrador de archivos de Plesk. Esto lo desactivará forzosamente y deberías poder acceder de nuevo a tu tienda para investigar el conflicto.
Esperamos que esta guía te haya sido de gran ayuda. Recuerda que la paciencia es clave. Siempre empieza por lo más simple (permisos y versión de PHP) antes de hacer cambios drásticos. Y si te sientes perdido, no dudes en contactar con tu proveedor de hosting; para eso estamos. ¡Buena suerte con tu tienda!
