Solución a errores comunes en PrestaShop con DirectAdmin: permisos y 500 error
¿Por qué aparece el error 500 en PrestaShop con DirectAdmin?
Si estás leyendo esto, probablemente te has encontrado con la temida pantalla blanca o el mensaje "Error 500 Internal Server Error" en tu tienda PrestaShop. No te preocupes, es uno de los problemas más comunes y, en la mayoría de los casos, tiene solución rápida sin necesidad de ser un experto en programación.
El error 500 en PrestaShop es un error genérico del servidor que indica que algo falló internamente, pero no te dice exactamente qué es. Las causas más frecuentes están relacionadas con permisos de archivos incorrectos, problemas de configuración en el archivo .htaccess, o conflictos con módulos recién instalados.
Cuando trabajamos con DirectAdmin como panel de control, la gestión de permisos tiene sus particularidades. Entender cómo funciona este sistema te ahorrará muchos dolores de cabeza y te permitirá solucionar PrestaShop en DirectAdmin de forma autónoma.
Primeros pasos: identifica el origen del error 500
Antes de tocar nada, necesitas saber exactamente qué está fallando. El error 500 puede deberse a múltiples factores, así que vamos a descartar posibilidades una a una.
Revisa el registro de errores del servidor
El primer lugar donde debes mirar es el log de errores de DirectAdmin. Para ello:
- Accede a tu panel de DirectAdmin con tus credenciales.
- Busca la sección "Gestor de archivos" o "Administrador de archivos" (depende de la versión).
- Localiza la carpeta
logsdentro de tu directorio principal (/home/usuario/). - Abre el archivo
error.logoerror_logy busca las últimas líneas con fecha de hoy.
[INFO] Si no encuentras el archivo de logs, puedes activar la visualización de errores temporalmente editando el archivo
config/defines.inc.phpde PrestaShop. Cambia la líneadefine('_PS_MODE_DEV_', false);pordefine('_PS_MODE_DEV_', true);. Verás los errores directamente en pantalla, pero recuerda desactivarlo después.
Prueba a desactivar módulos recientes
Si el error apareció después de instalar o actualizar un módulo, ese es el culpable más probable. Para comprobarlo:
- Accede a tu servidor por FTP o mediante el gestor de archivos de DirectAdmin.
- Renombra la carpeta
/modules/nombre_del_modulo_sospechosoa/modules/nombre_del_modulo_sospechoso_bak. - Intenta cargar tu tienda de nuevo.
Si el error desaparece, ya sabes qué módulo causaba el problema. Puedes reinstalarlo o buscar una versión compatible.
Permisos de archivos y carpetas en PrestaShop con DirectAdmin
Los permisos incorrectos son la causa número uno del error 500 en PrestaShop. Cada archivo y carpeta tiene un nivel de acceso que determina quién puede leer, escribir o ejecutar. Si estos permisos son demasiado restrictivos o demasiado abiertos, el sistema falla.
Permisos correctos para PrestaShop
Estos son los valores que debes usar:
| Elemento | Permiso recomendado |
|---|---|
| Carpetas | 755 |
| Archivos PHP | 644 |
| Archivo .htaccess | 644 |
| Archivo settings.inc.php | 644 |
| Carpeta cache | 755 |
| Carpeta log | 755 |
| Carpeta img | 755 |
| Carpeta upload | 755 |
| Carpeta download | 755 |
| Carpeta translations | 755 |
| Carpeta mails | 755 |
| Carpeta themes | 755 |
| Carpeta modules | 755 |
[WARNING] Nunca uses permisos 777 en producción. Aunque a veces "funciona" porque da acceso total, es un agujero de seguridad gravísimo. Cualquier persona podría modificar tus archivos.
Cómo cambiar permisos con DirectAdmin
El proceso es muy sencillo:
- Entra en el Gestor de archivos de DirectAdmin.
- Navega hasta la raíz de tu instalación de PrestaShop.
- Selecciona todos los archivos y carpetas con la casilla de verificación.
- En el menú superior, haz clic en "Cambiar permisos".
- Introduce el valor correcto (755 para carpetas, 644 para archivos).
- Marca la opción "Recursivo" para aplicar a subcarpetas.
- Haz clic en "Aceptar".
[TIP] Si tienes acceso SSH, puedes usar el comando
find /ruta/a/prestashop -type d -exec chmod 755 {} \;para carpetas yfind /ruta/a/prestashop -type f -exec chmod 644 {} \;para archivos. Es mucho más rápido.
El archivo .htaccess y los permisos especiales
El .htaccess es un archivo de configuración crucial para PrestaShop. Si tiene permisos incorrectos o está corrupto, el error 500 es casi inmediato.
Para regenerarlo:
- Accede a tu panel de administración de PrestaShop.
- Ve a Preferencias → SEO y URLs.
- Activa la opción "Usar URL amigables" (si estaba desactivada).
- Guarda los cambios. Esto regenera automáticamente el
.htaccess.
Si no puedes acceder al panel de administración, crea un archivo .htaccess vacío en la raíz y luego intenta acceder. PrestaShop lo regenerará automáticamente.
El error 500 y los problemas de memoria PHP
Otra causa muy común del error 500 en PrestaShop es la falta de memoria PHP. Las tiendas con muchos productos, módulos o tráfico necesitan más memoria de la que el servidor asigna por defecto.
Aumentar el límite de memoria en DirectAdmin
Para solucionarlo:
- Accede al Gestor de archivos de DirectAdmin.
- Busca el archivo
php.inien la raíz de tu cuenta o en la carpetapublic_html. - Si no existe, créalo con un editor de texto.
- Añade estas líneas:
memory_limit = 256M
max_execution_time = 120
max_input_time = 120
upload_max_filesize = 64M
post_max_size = 64M
- Guarda los cambios y reinicia PHP desde DirectAdmin (sección "Reiniciar PHP" o "Gestión de servicios").
[INFO] Algunos proveedores de hosting no permiten modificar
php.inidirectamente. En ese caso, crea un archivo.user.inien la raíz con el mismo contenido. DirectAdmin respeta este archivo.
Alternativa: modificar desde el panel de administración
Si tienes acceso al panel de PrestaShop, ve a Parámetros avanzados → Rendimiento y ajusta la configuración de memoria desde ahí. Aunque la opción más fiable siempre es el php.ini.
Solucionar error 500 tras actualizar PrestaShop
Las actualizaciones son necesarias, pero a veces rompen algo en el camino. Si el error 500 apareció después de actualizar, prueba esto:
Limpiar la caché de PrestaShop
La caché acumulada puede causar conflictos graves:
- Con tu gestor FTP o el gestor de archivos de DirectAdmin, ve a la carpeta
/var/cache/. - Elimina todo el contenido de las subcarpetas
dev,prodycache. - También borra el contenido de
/cache/smarty/si existe. - Intenta cargar tu tienda.
Verificar la versión de PHP
PrestaShop 1.7 y versiones superiores requieren PHP 7.1 o superior. Si tu servidor tiene PHP 5.6 o anterior, tendrás problemas graves.
Para comprobarlo en DirectAdmin:
- Ve a la sección Configuración de PHP o Selector de versión de PHP.
- Selecciona la versión más reciente compatible con tu PrestaShop (PHP 7.4 u 8.0 son buenas opciones).
- Guarda los cambios.
[WARNING] Antes de cambiar la versión de PHP, asegúrate de que tus módulos y temas son compatibles. Algunos módulos antiguos no funcionan con PHP 8.
El error 500 y los conflictos de tema
Un tema mal configurado puede provocar fallos catastróficos. Si el error apareció tras cambiar de tema:
- Accede por FTP a la carpeta
/themes/. - Renombra la carpeta de tu tema actual a
tema_bak. - Copia el tema por defecto de PrestaShop (
classicen versiones 1.7) en su lugar. - Prueba tu tienda.
Si funciona, el problema es del tema. Contacta con su desarrollador o busca una alternativa compatible.
Errores de base de datos y el error 500
A veces el error 500 no tiene nada que ver con archivos, sino con la base de datos. PrestaShop necesita que la base de datos esté siempre sincronizada.
Reparar tablas dañadas
- Accede a phpMyAdmin desde DirectAdmin.
- Selecciona la base de datos de tu PrestaShop.
- Marca todas las tablas con la casilla superior.
- Despliega el menú "Con seleccionados" y elige "Reparar tabla".
Verificar la configuración de conexión
El archivo config/settings.inc.php contiene los datos de conexión a la base de datos. Si estos datos son incorrectos, el error 500 es inevitable.
Abre el archivo y verifica:
define('_DB_SERVER_', 'localhost');(o la IP de tu servidor de BD)define('_DB_NAME_', 'tu_base_de_datos');define('_DB_USER_', 'tu_usuario');define('_DB_PASSWD_', 'tu_contraseña');
[TIP] Si acabas de migrar tu tienda a un nuevo servidor, es muy común que estos datos hayan cambiado. Asegúrate de actualizarlos.
Soluciones avanzadas para el error 500
Si has probado todo lo anterior y el error persiste, necesitas ir un paso más allá.
Activar el modo depuración
Edita el archivo config/defines.inc.php y busca:
define('_PS_MODE_DEV_', false);
Cámbialo a true. Esto mostrará el error específico en pantalla, lo que te dará pistas exactas sobre qué está fallando.
Desactivar todos los módulos no esenciales
Si el error persiste, puede que un módulo esté causando un conflicto. Renombra la carpeta /modules/ a /modules_bak/ y crea una carpeta vacía /modules/. PrestaShop funcionará sin módulos. Si la tienda carga, el problema es de un módulo específico.
[WARNING] Esto desactivará todos los módulos, incluidos los de pago. Úsalo solo como diagnóstico temporal.
Verificar el archivo de configuración de DirectAdmin
DirectAdmin tiene su propia configuración de PHP que puede interferir. Revisa la sección Configuración personalizada de PHP y asegúrate de que no hay valores restrictivos como disable_functions que bloqueen funciones necesarias.
Preguntas frecuentes sobre errores de PrestaShop con DirectAdmin
¿Por qué mi tienda da error 500 solo en algunas páginas?
Esto suele indicar que el problema está en un módulo o función específica que se carga solo en ciertas páginas. Revisa los logs de error para identificar qué módulo se está cargando en esas páginas.
¿Los permisos 755 y 644 son obligatorios?
Sí, son los valores estándar que PrestaShop espera. Si usas otros valores, la tienda puede funcionar al principio pero fallar en el momento más inesperado.
¿Cuánto tiempo se tarda en solucionar estos errores?
Depende del problema. Los permisos incorrectos se arreglan en 5 minutos. Los conflictos de módulos pueden llevar más tiempo porque hay que identificar al culpable.
¿Puedo usar Syspanel en lugar de DirectAdmin?
Sí, si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es similar. Accede a través del puerto 2106 (https://tu-dominio:2106) y busca las herramientas de gestión de archivos y permisos. Los principios son los mismos.
¿Qué hago si nada funciona?
Si has agotado todas las opciones, puede que necesites contactar con tu proveedor de hosting. A veces el error 500 está relacionado con restricciones del servidor que solo ellos pueden modificar.
Resumen final: checklist para solucionar el error 500 en PrestaShop
Sigue esta lista de verificación en orden:
- Revisa los logs de error para identificar la causa exacta.
- Verifica los permisos de carpetas (755) y archivos (644).
- Regenera el .htaccess desde el panel de administración.
- Aumenta el límite de memoria PHP a 256M o más.
- Limpia la caché de PrestaShop y del navegador.
- Desactiva módulos recientes o sospechosos.
- Comprueba la versión de PHP y la compatibilidad.
- Verifica la base de datos y repara tablas dañadas.
- Activa el modo depuración para ver errores específicos.
- Si todo falla, contacta con tu proveedor de hosting.
[INFO] La mayoría de los errores de PrestaShop con DirectAdmin se resuelven con los pasos 1 al 4. Los pasos 5 al 8 son para casos más complejos.
Recuerda siempre hacer una copia de seguridad antes de realizar cambios importantes. Los permisos incorrectos y los errores de configuración pueden empeorar si no sabes exactamente qué estás haciendo.
Con estas soluciones, podrás solucionar PrestaShop en DirectAdmin y volver a tener tu tienda online funcionando en poco tiempo. No te frustres si no funciona a la primera: la práctica hace al maestro, y cada error te enseña algo nuevo sobre cómo funciona tu tienda por dentro.
