🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

DirectAdmin: Solucionar error 500 Internal Server Error en PrestaShop

Actualizado el 28 de noviembre de 2025

Introducción: El temido error 500 en PrestaShop

Si estás leyendo esto, probablemente te has encontrado con la pantalla en blanco o el mensaje "500 Internal Server Error" en tu tienda PrestaShop alojada en un servidor con DirectAdmin. No te preocupes, es uno de los errores más comunes y, por suerte, también uno de los más fáciles de solucionar cuando sabes dónde mirar.

Este error significa que el servidor web (Apache o Nginx) encontró una condición inesperada que le impidió completar la solicitud. En el contexto de PrestaShop, las causas suelen ser: archivos .htaccess corruptos, permisos incorrectos, límites de memoria PHP excedidos, o módulos conflictivos.

En esta guía extensa y paso a paso, te enseñaré a solucionar el error 500 en PrestaShop usando DirectAdmin. No necesitas ser un experto en Linux; solo sigue las instrucciones al pie de la letra.


1. Primeros pasos: entender el error y preparar el entorno

Antes de lanzarte a hacer cambios, es importante que sepas que DirectAdmin es el panel de control de tu servidor. Desde él puedes gestionar archivos, bases de datos y configuraciones. Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es similar, pero la interfaz cambia ligeramente.

[INFO] Si usas Syspanel, accede a través del puerto 2106 (ejemplo: tudominio.com:2106). Las opciones de archivos y logs están en la sección "Archivos" o "Logs".

1.1. Accede a DirectAdmin

  • Abre tu navegador y escribe: https://tudominio.com:2222 (o la IP de tu servidor).
  • Ingresa con tu usuario y contraseña de administrador.

1.2. Identifica el problema exacto

El error 500 es genérico, pero puedes obtener más detalles:

  • Habilita la visualización de errores PHP temporalmente. En DirectAdmin, ve a "Gestión de PHP" o "PHP Selector" y busca la opción display_errors = On. Esto mostrará el error específico en la pantalla (por ejemplo, "Allowed memory size exhausted").
  • Revisa los logs de errores del servidor. En DirectAdmin, ve a "Logs de errores" o "Apache Error Log". Busca la línea con la hora del error.

[TIP] Si no ves los logs, pídele a tu proveedor de hosting que active el log de errores de PHP. Es esencial para el troubleshooting.


2. Causa común #1: Archivo .htaccess corrupto o incorrecto

Uno de los mayores culpables del error 500 en PrestaShop es un archivo .htaccess mal configurado. Esto ocurre a menudo después de actualizar el módulo de SEO, cambiar la URL amigable, o migrar la tienda.

2.1. Solución temporal: renombrar el archivo

  1. En DirectAdmin, ve a "Administrador de archivos" y navega hasta la raíz de tu PrestaShop (normalmente public_html o domains/tudominio.com/public_html).
  2. Busca el archivo .htaccess (puede estar oculto; activa "Mostrar archivos ocultos" en la esquina superior).
  3. Cámbiale el nombre a .htaccess_backup o descárgalo a tu PC.
  4. Vuelve a cargar tu tienda. Si el error desaparece, el problema era el .htaccess.

2.2. Regenerar el .htaccess desde PrestaShop

Una vez que la tienda cargue (sin .htaccess), debes regenerarlo:

  • Accede al panel de administración de PrestaShop (ejemplo: tudominio.com/admin1234).
  • Ve a "Parámetros de la tienda" > "Tráfico y SEO".
  • Desactiva y vuelve a activar la opción "URLs amigables". Esto regenerará el .htaccess automáticamente.

[WARNING] Si no puedes acceder al panel de administración, puedes subir manualmente un .htaccess limpio desde los archivos de instalación de PrestaShop. Descarga la versión original de PrestaShop y extrae el archivo .htaccess de la raíz.


3. Causa común #2: Permisos de archivos incorrectos

Los permisos de archivos y carpetas en DirectAdmin deben ser específicos para que PrestaShop funcione. Un error 500 puede aparecer si los permisos son demasiado restrictivos o demasiado abiertos.

3.1. Permisos recomendados para PrestaShop

  • Carpetas: 755 (rwxr-xr-x)
  • Archivos: 644 (rw-r--r--)
  • Archivos de configuración (config/settings.inc.php): 644 o incluso 444 (solo lectura)
  • Carpeta cache y upload: 755

3.2. Cómo corregir permisos en DirectAdmin

  1. En el Administrador de archivos, selecciona toda la carpeta de PrestaShop (marca la casilla junto a public_html).
  2. Haz clic en "Cambiar permisos".
  3. Establece 755 para carpetas y 644 para archivos. Puedes marcar "Recursivo" para aplicar a subcarpetas.
  4. Asegúrate de que la carpeta config y img tengan permisos correctos. Si usas módulos de pago, algunos requieren permisos 777 en carpetas temporales (pero evítalo a menos que sea estrictamente necesario).

[INFO] Si usas Syspanel, el proceso es idéntico: busca la opción "Permisos" en el administrador de archivos.


4. Causa común #3: Límite de memoria PHP excedido

PrestaShop es exigente con la memoria PHP, especialmente si tienes muchos módulos o catálogos grandes. El error 500 suele ir acompañado de un mensaje como "Allowed memory size of 134217728 bytes exhausted".

4.1. Aumentar el límite de memoria en DirectAdmin

  1. Ve a "Seleccionar versión de PHP" o "PHP Selector" en DirectAdmin.
  2. Busca la opción memory_limit. El valor recomendado para PrestaShop es 256M o incluso 512M.
  3. También ajusta:
    • max_execution_time = 120
    • max_input_time = 120
    • upload_max_filesize = 64M
    • post_max_size = 64M
  4. Guarda los cambios y reinicia el servicio PHP (o espera unos minutos).

[TIP] Si no ves la opción de cambiar estos valores, verifica que tu plan de hosting permita la personalización de PHP. Algunos proveedores limitan esto.

4.2. Solución alternativa: editar el archivo .user.ini

Si no tienes acceso al selector de PHP, puedes crear un archivo .user.ini en la raíz de tu PrestaShop con el siguiente contenido:

memory_limit = 256M
max_execution_time = 120

Luego, guarda y sube el archivo. DirectAdmin lo leerá automáticamente.


5. Causa común #4: Módulo o tema conflictivo

Un módulo mal codificado o un tema con errores puede lanzar un error 500. Esto es muy común después de instalar o actualizar un módulo.

5.1. Identificar el módulo problemático

  • Revisa los logs de errores de PHP (como vimos en el paso 1). Busca líneas que mencionen un nombre de módulo o clase.
  • Si no ves nada, desactiva todos los módulos no esenciales desde el panel de administración. Si no puedes acceder, hazlo manualmente:

5.2. Desactivar módulos manualmente desde la base de datos

  1. En DirectAdmin, ve a "phpMyAdmin" (o "Base de datos").
  2. Selecciona la base de datos de tu PrestaShop.
  3. Busca la tabla ps_module (el prefijo puede variar: ps_, prestashop_, etc.).
  4. Ejecuta la siguiente consulta SQL para desactivar todos los módulos:
    UPDATE ps_module SET active = 0;
    
  5. Luego, ve a la tabla ps_module_shop y haz lo mismo:
    UPDATE ps_module_shop SET active = 0;
    
  6. Vuelve a cargar tu tienda. Si funciona, reactiva los módulos uno por uno desde el panel de administración para encontrar el culpable.

[WARNING] Esta operación desactiva todos los módulos. Asegúrate de tener un backup de la base de datos antes de hacer cambios.


6. Causa común #5: Problemas con el archivo de configuración de PrestaShop

El archivo config/settings.inc.php contiene las credenciales de la base de datos y otras configuraciones críticas. Si está dañado o tiene permisos incorrectos, puede causar un error 500.

6.1. Verificar el archivo settings.inc.php

  1. En el Administrador de archivos, navega a public_html/config/.
  2. Abre el archivo settings.inc.php en el editor de texto.
  3. Verifica que las líneas de conexión a la base de datos sean correctas:
    define('_DB_SERVER_', 'localhost');
    define('_DB_NAME_', 'nombre_base');
    define('_DB_USER_', 'usuario');
    define('_DB_PASSWD_', 'contraseña');
    
  4. Si cambiaste la contraseña de la base de datos recientemente, actualízala aquí.
  5. Guarda el archivo y asegúrate de que tenga permisos 644.

6.2. Restaurar desde un backup

Si el archivo está corrupto y no tienes copia, puedes descargar una instalación limpia de PrestaShop de la misma versión y reemplazar solo este archivo (luego editar las credenciales).


7. Causa común #6: Cache de PrestaShop o de servidor

A veces, el error 500 es causado por un cache corrupto. PrestaShop guarda archivos temporales en la carpeta cache y var/cache.

7.1. Limpiar la cache manualmente

  1. En el Administrador de archivos, elimina todo el contenido de las carpetas:
    • public_html/cache/
    • public_html/var/cache/ (si existe)
    • public_html/themes/tu_tema/cache/ (si existe)
  2. No elimines las carpetas en sí, solo su contenido.
  3. Vuelve a cargar la tienda.

7.2. Limpiar cache desde DirectAdmin

En DirectAdmin, ve a "Limpiar cache" o "PHP OpCache" y haz clic en "Limpiar". Esto elimina la cache de PHP, que a veces interfiere.


8. Causa común #7: Problemas con el servidor web (Apache/Nginx)

Aunque menos frecuente, el servidor web puede estar mal configurado. En DirectAdmin, puedes reiniciar Apache o Nginx desde el panel.

8.1. Reiniciar Apache

  1. Ve a "Servicios" o "Gestión de servicios".
  2. Busca "Apache" o "httpd".
  3. Haz clic en "Reiniciar".
  4. Espera unos segundos y prueba tu tienda.

[INFO] Si tu servidor usa Nginx, el proceso es similar. Busca "Nginx" en la lista de servicios.

8.2. Verificar la configuración de Apache

Si el error persiste, verifica que no haya reglas de reescritura conflictivas en el archivo httpd.conf o en los archivos de configuración de tu dominio. Esto es más avanzado y puede requerir ayuda de tu proveedor de hosting.


9. Preguntas frecuentes (FAQ)

9.1. ¿Por qué el error 500 aparece solo en algunas páginas?

Esto suele deberse a un módulo o tema que falla en una página específica. Revisa los logs de errores para identificar el módulo.

9.2. ¿Puedo usar el modo de depuración de PrestaShop?

Sí. Edita el archivo config/defines.inc.php y cambia _PS_MODE_DEV_ a true. Esto mostrará errores detallados en pantalla. No lo dejes activo en producción.

9.3. ¿El error 500 puede ser por un plugin de cache?

Sí. Los plugins como "Cache avanzada" o "Varnish" pueden generar conflictos. Desactívalos temporalmente.

9.4. ¿Qué hago si nada de esto funciona?

Contacta a tu proveedor de hosting. A veces el error es por recursos del servidor (CPU, RAM) o por configuraciones de seguridad como mod_security.


10. Conclusión: el error 500 no es el fin del mundo

El error 500 en PrestaShop es frustrante, pero con DirectAdmin tienes todas las herramientas para solucionarlo. Recuerda siempre:

  1. Revisar los logs primero.
  2. Probar una solución a la vez (empieza por el .htaccess y permisos).
  3. Hacer backups antes de cambios drásticos.

Si tu hosting usa Syspanel, los pasos son prácticamente los mismos, solo cambia la interfaz. Y no olvides que el puerto de acceso es el 2106.

Espero que esta guía te haya sido útil. Si tienes más dudas, no dudes en consultar la documentación oficial de PrestaShop o preguntar a tu proveedor de hosting. ¡Buena suerte con tu tienda!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel