Cómo solucionar errores 500 en PrestaShop desde DirectAdmin
¡Tranquilo! Si tu tienda PrestaShop muestra la temida pantalla en blanco o el mensaje "Error 500 Internal Server Error", no entres en pánico. Este es uno de los problemas más comunes en entornos de hosting compartido o VPS. Lo bueno es que, si tienes acceso a DirectAdmin, el panel de control de tu servidor, puedes solucionarlo en pocos pasos.
En esta guía te explicaré, de forma clara y paso a paso, cómo solucionar errores 500 en PrestaShop desde DirectAdmin. Usaremos ejemplos prácticos, comandos básicos y trucos de solución que aplican tanto para principiantes como para usuarios avanzados.
¿Qué es un error 500 y por qué aparece en PrestaShop?
Un error 500 es un código de estado HTTP que indica que algo salió mal en el servidor, pero sin dar detalles específicos. En PrestaShop, las causas más frecuentes son:
- Problemas de permisos de archivos o carpetas (muy común al migrar o instalar módulos).
- Errores de PHP (límite de memoria, tiempo de ejecución, versión incompatible).
- Módulos o temas defectuosos que generan un fallo fatal.
- Archivo .htaccess corrupto o con directivas incorrectas.
- Base de datos corrupta o con tablas dañadas.
Con DirectAdmin puedes acceder al servidor, revisar logs y hacer los ajustes necesarios sin tener que contactar al soporte técnico de tu hosting.
Paso 1: Acceder a DirectAdmin y localizar tu sitio
Primero, ingresa a tu panel de DirectAdmin con las credenciales que te proporcionó tu proveedor de hosting. Una vez dentro:
- Busca la sección "Administración de Archivos" (File Manager) o "Gestor de Archivos".
- Navega hasta la carpeta raíz de tu instalación de PrestaShop. Normalmente es
/domains/tudominio.com/public_html/o/home/usuario/domains/tudominio.com/public_html/.
[TIP]: Si no ves tu dominio, revisa en "Lista de Dominios" (Domain Setup) para confirmar la ruta exacta.
Paso 2: Activar el modo debug de PrestaShop (para ver el error real)
Antes de tocar nada, lo más inteligente es hacer que PrestaShop te muestre el error real. El error 500 es genérico, pero el modo debug revela la línea exacta del problema.
¿Cómo activarlo?
- En el Gestor de Archivos de DirectAdmin, ubica el archivo
config/defines.inc.php. - Ábrelo con el editor de texto (clic derecho → Edit).
- Busca la línea:
Y cámbiala a:define('_PS_MODE_DEV_', false);define('_PS_MODE_DEV_', true); - Guarda los cambios y recarga tu tienda. Ahora verás un mensaje de error detallado (por ejemplo, "Fatal error: Allowed memory size exhausted" o "Class not found").
[WARNING]: Una vez resuelto el error, vuelve a poner
falseen esa línea. Si lo dejas entrue, cualquier visitante podrá ver información sensible de tu servidor.
Paso 3: Revisar los logs de error desde DirectAdmin
Si no quieres activar el modo debug (o si el error persiste sin mostrar nada), puedes consultar los logs del servidor.
Para logs de Apache (errores HTTP):
- En DirectAdmin, ve a "Logs de Errores" (Error Logs) o "Estadísticas / Logs".
- Busca el archivo
error_logdentro de la carpetapublic_htmlo en/var/log/httpd/(según la configuración de tu hosting). - Descarga o visualiza las últimas líneas. Busca palabras como "PHP Fatal error" o "Premature end of script headers".
Para logs de PHP (más detallados):
- En DirectAdmin, puedes crear un archivo
phpinfo.phpenpublic_htmlcon el contenido:
Luego accede a<?php phpinfo(); ?>tudominio.com/phpinfo.phpy busca la ruta del archivoerror_logde PHP (normalmente en/tmp/o/var/log/). - Otra opción: desde "Configuración de PHP" (PHP Settings) en DirectAdmin, activa "display_errors" y "log_errors" temporalmente.
[INFO]: Los logs son tu mejor amigo. Un error 500 suele dejar una pista clara en el log de PHP.
Paso 4: Soluciones rápidas para errores comunes
4.1. Permisos de archivos y carpetas
PrestaShop necesita permisos específicos. Si los has cambiado accidentalmente (por ejemplo, al subir archivos por FTP), el error 500 es casi seguro.
- Carpetas: deben tener permisos
755(o750en entornos más restrictivos). - Archivos: deben tener permisos
644(o640).
Cómo corregirlo en DirectAdmin:
- En el Gestor de Archivos, selecciona toda la carpeta
public_html. - Haz clic en "Cambiar permisos" (Change Permissions).
- Marca:
- Propietario: lectura, escritura, ejecución (7).
- Grupo: lectura, ejecución (5).
- Otros: lectura, ejecución (5).
- Aplica a "Todos los archivos y subdirectorios".
- Luego, para los archivos, repite pero con:
- Propietario: lectura, escritura (6).
- Grupo: lectura (4).
- Otros: lectura (4).
[TIP]: Si usas un hosting compartido, algunos proveedores exigen permisos
750para carpetas y640para archivos. Consulta con tu soporte.
4.2. Archivo .htaccess corrupto
El archivo .htaccess de PrestaShop puede dañarse al instalar módulos o al cambiar de URL. Para regenerarlo:
- En DirectAdmin, renombra el archivo
.htaccessa.htaccess_old(por si acaso). - Accede al panel de administración de tu tienda:
tudominio.com/admin1234/. - Ve a Configuración → Rendimiento y haz clic en "Regenerar archivo .htaccess".
- Si no puedes acceder al panel, crea uno nuevo desde cero. Sube este contenido básico:
(Esto es lo mínimo para que funcione, luego el módulo de URL amigables lo completará).RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L]
4.3. Límite de memoria de PHP agotado
Si el error dice "Allowed memory size exhausted", debes aumentar el límite.
Desde DirectAdmin:
- Ve a "Configuración de PHP" (PHP Settings) o "Selector de PHP".
- Busca la opción memory_limit y cámbiala a
256Mo512M. - Guarda y reinicia el servicio si es necesario.
Si no tienes acceso a esa opción, edita el archivo php.ini (puedes crearlo en public_html):
memory_limit = 256M
max_execution_time = 120
max_input_time = 120
4.4. Módulo o tema incompatible
Si el error apareció justo después de instalar un módulo o cambiar de tema:
- Desactiva el módulo sospechoso desde el panel de administración (si puedes acceder).
- Si no puedes, ve a la base de datos desde phpMyAdmin (en DirectAdmin, en "Base de Datos MySQL").
- Busca la tabla
ps_module(oprestashop_module) y cambia el campoactivea0para el módulo problemático. - También puedes renombrar la carpeta del módulo en
/modules/nombre_modulo/a/modules/nombre_modulo_old/para desactivarlo forzosamente.
4.5. Versión de PHP incorrecta
PrestaShop requiere versiones específicas de PHP (por ejemplo, 7.4 o 8.0, según la versión de la tienda). Si tu hosting cambió la versión global de PHP, puede dar error 500.
En DirectAdmin:
- Ve a "Selector de PHP" o "PHP Version".
- Elige la versión compatible con tu PrestaShop (consulta los requisitos en la documentación oficial).
- Aplica los cambios.
Paso 5: Restablecer la configuración de PrestaShop (último recurso)
Si nada funciona, puedes restablecer la configuración base de PrestaShop sin perder productos ni clientes (solo se reinician ajustes de módulos y temas).
- Desde DirectAdmin, edita el archivo
config/settings.inc.php(oapp/config/parameters.phpen versiones recientes). - Busca la línea que contiene
_PS_MODE_DEV_oparameters.ymly asegúrate de que no haya caracteres extraños. - También puedes eliminar los archivos de caché: borra todo el contenido de la carpeta
/var/cache/(en PrestaShop 1.7+) o/cache/(en 1.6).
Preguntas frecuentes (FAQ)
¿Por qué mi PrestaShop da error 500 después de una migración?
Es muy común. Al mover archivos, los permisos suelen cambiar. Sigue el Paso 4.1 para corregirlos. También revisa que la versión de PHP en el nuevo hosting sea compatible.
¿Puedo solucionar el error 500 sin acceso a DirectAdmin?
Si solo tienes FTP, puedes activar el modo debug editando defines.inc.php con un editor de texto plano. Pero DirectAdmin facilita mucho la gestión de logs y permisos.
¿El error 500 puede deberse a la base de datos?
Sí. Si el log muestra "Table 'ps_product' doesn't exist" o errores de conexión, repara las tablas desde phpMyAdmin (selecciona todas las tablas y elige "Reparar tabla").
¿Debo contactar a mi proveedor de hosting?
Si después de todos estos pasos el error persiste, probablemente sea un problema de configuración del servidor (por ejemplo, límites de recursos muy bajos). En ese caso, sí, contacta al soporte de tu hosting y muéstrales los logs que encontraste.
Conclusión
El error 500 en PrestaShop puede parecer aterrador, pero con las herramientas de DirectAdmin y un enfoque metódico, casi siempre tiene solución. Recuerda:
- Activa el modo debug para ver el error real.
- Revisa los logs de Apache y PHP.
- Corrige permisos, regenera .htaccess o ajusta la memoria de PHP.
- Desactiva módulos problemáticos o cambia la versión de PHP.
Y lo más importante: siempre haz una copia de seguridad antes de hacer cambios drásticos. Con esta guía, podrás diagnosticar y resolver el problema tú mismo, ahorrándote tiempo y dolores de cabeza.
¿Sigues teniendo dudas? Déjalas en los comentarios o consulta con tu proveedor de hosting; ellos también pueden ayudarte desde su panel de control. ¡Buena suerte con tu tienda!
