Solución: Error 500 en PrestaShop instalado en DirectAdmin
¡Hola! 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 alojada en un panel de control DirectAdmin. No te preocupes, es uno de los errores más comunes y, en la gran mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un experto en programación.
En esta guía completa y paso a paso, vamos a desglosar las causas más frecuentes de este problema y te enseñaremos a solucionar el error 500 en PrestaShop de manera efectiva. Vamos a ello.
¿Qué significa exactamente un Error 500?
Antes de ponernos manos a la obra, es importante entender qué está pasando. Un error 500 es un mensaje genérico que indica que algo ha ido mal en el servidor, pero no especifica el motivo exacto. Piensa en ello como un "cajón desastre": el servidor sabe que hay un problema, pero no te dice cuál es directamente.
En el contexto de PrestaShop instalado en DirectAdmin, este error suele aparecer por tres razones principales: problemas con los permisos de archivos y carpetas, un archivo .htaccess corrupto o incompatible, o un agotamiento de la memoria PHP (límite de memoria). Vamos a atacar cada uno de estos frentes en orden de probabilidad y facilidad.
1. La Causa Más Común: Archivos y Carpetas con Permisos Incorrectos
Esta es, con diferencia, la razón número uno por la que ves un error 500 DirectAdmin en PrestaShop. Los permisos determinan quién puede leer, escribir o ejecutar los archivos en tu servidor. Si se cambian accidentalmente (por ejemplo, al descomprimir una copia de seguridad o al editar un archivo desde el gestor de archivos), PrestaShop deja de funcionar.
¿Cómo solucionarlo?
Vamos a restablecer los permisos a los valores correctos que PrestaShop necesita para funcionar.
- Accede a tu panel de DirectAdmin: Inicia sesión con tus credenciales.
- Entra al Administrador de Archivos: Busca el icono "Administrador de Archivos" o "File Manager" en la sección de "Administración de Archivos". Haz clic en él.
- Navega a la raíz de tu tienda: Una vez dentro, localiza la carpeta donde está instalada tu tienda PrestaShop. Normalmente es
public_htmlo una subcarpeta dentro de esta (por ejemplo,public_html/tienda). - Selecciona todo: Dentro de la carpeta raíz de tu PrestaShop, haz clic en "Seleccionar todo" o usa el atajo de teclado (Ctrl+A o Cmd+A) para seleccionar todos los archivos y carpetas.
- Cambia los permisos: En la barra de herramientas superior o en el menú contextual (clic derecho), busca la opción "Cambiar permisos" o "Change Permissions".
- Aplica los valores correctos:
- Carpetas (Directorios): Deben tener el permiso 755 (rwxr-xr-x).
- Archivos: Deben tener el permiso 644 (rw-r--r--).
- En la ventana emergente, asegúrate de marcar las casillas para aplicar estos permisos de forma recursiva (a todas las subcarpetas y archivos internos). Suele haber una casilla que dice "Aplicar a todos los archivos y subdirectorios".
[WARNING]
¡Cuidado! No apliques permisos 777 a todo. Aunque "funcione" a corto plazo, es un agujero de seguridad enorme que permite que cualquiera pueda modificar tus archivos. Usa siempre 755 para carpetas y 644 para archivos.
Una vez hecho esto, intenta recargar tu tienda. Si el problema era este, ya deberías ver tu web con normalidad.
2. El Archivo Oculto: El Problema del .htaccess
El archivo .htaccess es un archivo de configuración invisible que le dice al servidor cómo manejar las URLs, los redireccionamientos y otras reglas importantes para PrestaShop. Si este archivo se daña, se corrompe o tiene una sintaxis incorrecta, provocará un error 500 PrestaShop DirectAdmin inmediato.
Diagnosticar y Arreglar el .htaccess
La mejor manera de saber si este es el culpable es renombrarlo temporalmente.
- Ve al Administrador de Archivos de DirectAdmin (como en el paso anterior).
- Activa "Mostrar archivos ocultos": En la parte superior del administrador de archivos, suele haber un botón o casilla que dice "Mostrar archivos ocultos" o "Show Hidden Files". Actívalo para poder ver el
.htaccess. - Localiza el archivo: Deberías ver un archivo llamado
.htaccessen la raíz de tu instalación de PrestaShop. - Renómbralo: Haz clic derecho sobre él y selecciona "Renombrar". Cámbiale el nombre a algo como
.htaccess_backup. No lo elimines, solo queremos "desactivarlo" por ahora. - Prueba tu tienda: Ahora intenta acceder a tu web. Verás que la URL se ve "rara" (sin SEO friendly URLs), pero si el error 500 desaparece, hemos encontrado al culpable.
¿Cómo generar un nuevo .htaccess?
Ahora que sabemos que el .htaccess era el problema, vamos a crear uno nuevo y limpio.
- Accede al back-office de PrestaShop: Ve a
tudominio.com/admin(o la URL de administración que hayas configurado). - Ve a Parámetros Avanzados > Rendimiento: En el menú lateral izquierdo, busca esta sección.
- Regenera el archivo: En la parte superior de la página de "Rendimiento", encontrarás un botón que dice "Regenerar el archivo .htaccess". Haz clic en él.
- Guarda los cambios: Después de regenerarlo, haz clic en el botón "Guardar" en la parte inferior de la página.
[TIP]
Si no puedes acceder a tu back-office porque el error 500 persiste, puedes intentar copiar el contenido de un.htaccessde una instalación limpia de PrestaShop, o simplemente dejar el archivo renombrado y probar a desactivar la opción "URLs amigables" desde la base de datos, pero esto es más complejo. La opción de regenerarlo desde el panel de administración es la más segura y recomendada.
3. Agotamiento de la Memoria PHP (Memory Limit)
Otra causa muy frecuente es que tu tienda esté intentando utilizar más memoria de la que el servidor le permite. Esto es especialmente común si has instalado muchos módulos, tienes una tienda con muchos productos o usas temas pesados. El error 500 en este caso es la forma que tiene el servidor de decir "me he quedado sin recursos".
Aumentar el límite de memoria en PrestaShop
PrestaShop tiene un archivo de configuración donde podemos aumentar este límite.
- Accede al Administrador de Archivos de DirectAdmin.
- Localiza la carpeta
config: Dentro de la raíz de tu PrestaShop, busca la carpeta llamadaconfig. - Busca el archivo
defines.inc.php: Dentro de la carpetaconfig, encuentra el archivodefines.inc.php. Importante: Haz una copia de seguridad de este archivo antes de editarlo. - Edita el archivo: Haz clic derecho sobre él y selecciona "Editar" o "Edit".
- Busca la línea de memoria: Dentro del archivo, busca la siguiente línea de código (puedes usar el buscador del editor, normalmente Ctrl+F):
define('_PS_MEMORY_LIMIT_', '128M'); - Aumenta el valor: Cambia el número por uno más alto. Por ejemplo,
256Mo512M. La línea quedaría así:
define('_PS_MEMORY_LIMIT_', '512M'); - Guarda los cambios: Guarda el archivo y cierra el editor.
- Prueba tu tienda: Vuelve a cargar tu web. Si el problema era la memoria, ahora debería funcionar.
Aumentar el límite desde DirectAdmin (PHP Selector)
DirectAdmin nos ofrece una forma más elegante de gestionar los parámetros de PHP.
- Ve a tu panel de DirectAdmin.
- Busca "Select PHP Version" o "Selector de PHP": Normalmente está en la sección "Configuración de Cuenta" o "Opciones Avanzadas".
- Haz clic en "Opciones" o "Extensions": Una vez dentro del selector, busca un botón que diga "Opciones" o "Extensions".
- Busca
memory_limit: En la lista de parámetros, localizamemory_limit. - Cambia el valor: Despliega el menú y selecciona
512Mo incluso1Gsi tu plan lo permite. - Guarda los cambios: Haz clic en "Guardar" o "Save".
[INFO]
Si no encuentras la opción del selector de PHP, es posible que tu plan de hosting no lo incluya. En ese caso, la opción de editardefines.inc.phpes tu mejor aliada.
4. Otras Causas y Soluciones Avanzadas
Si has probado los tres pasos anteriores y el error 500 DirectAdmin persiste, no te desesperes. Aún hay un par de cosas que podemos comprobar.
4.1. El Error de "Permisos de la Carpeta var/cache"
PrestaShop usa una carpeta de caché para acelerar la carga de tu web. Si los permisos de esta carpeta son incorrectos, puede causar un error 500.
- Solución: Ve al Administrador de Archivos y navega a la carpeta
var/cache(ocacheen versiones antiguas). Borra todo el contenido de esta carpeta (pero no la carpeta en sí). Esto forzará a PrestaShop a regenerar la caché desde cero.
4.2. Modo de Depuración (Debug Mode)
PrestaShop tiene un modo de depuración que muestra el error real en lugar de la página genérica "Error 500". Esto nos dará una pista exacta de qué está fallando.
Para activarlo, debemos editar otro archivo de configuración.
- Ve al Administrador de Archivos.
- Navega a la raíz de tu PrestaShop.
- Abre el archivo
config/defines.inc.phpque ya conocemos. - Busca la siguiente línea:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda el archivo y recarga tu tienda. Ahora verás un mensaje de error detallado (en inglés, normalmente) que te indicará el archivo y la línea exacta del problema.
[WARNING]
¡IMPORTANTE! Una vez hayas identificado y solucionado el problema, cambia el valor de_PS_MODE_DEV_de vuelta afalse. Dejar el modo de depuración activado en una tienda en producción es un riesgo de seguridad grave, ya que expone rutas internas de tu servidor.
4.3. ¿Has movido tu tienda de servidor o de carpeta recientemente?
Si acabas de migrar tu tienda, es muy probable que los datos de configuración en la base de datos apunten a rutas antiguas.
- Solución: Accede a tu base de datos MySQL desde DirectAdmin (phpMyAdmin). Busca la tabla
ps_configuration(el prefijops_puede variar). Dentro de esta tabla, busca las entradasPS_SSL_ENABLED,PS_CIPHER_ALGORITHM, y especialmentePS_SHOP_DOMAINyPS_SHOP_DOMAIN_SSL. Asegúrate de que estas últimas tengan tu dominio actual y correcto (por ejemplo,www.tudominio.com).
Preguntas Frecuentes (FAQ)
P: ¿Cuál es la causa más común del error 500 en PrestaShop en DirectAdmin?
R: Sin duda, los permisos de archivos incorrectos. El cambio accidental de permisos a 777 o a valores inconsistentes es la causa número uno.
P: ¿Necesito ser un programador para arreglar el error 500?
R: No. Siguiendo los pasos de esta guía (permisos, .htaccess y memoria), la mayoría de los usuarios pueden resolver el problema sin conocimientos técnicos avanzados. Solo necesitas acceso a tu panel de DirectAdmin.
P: ¿Qué pasa si después de todo sigue el error?
R: Si has agotado todas las opciones, es probable que el problema sea más profundo, como un conflicto con un módulo o tema específico, o un problema en el servidor en sí. En ese caso, te recomiendo contactar con el soporte de tu proveedor de hosting, proporcionándoles el mensaje de error exacto que obtengas al activar el modo de depuración (paso 4.2).
P: ¿Es lo mismo un error 500 en DirectAdmin que en cPanel o Syspanel?
R: El error es el mismo, pero la forma de acceder a los archivos y la configuración puede variar ligeramente. Si tu hosting usa Syspanel (antiguamente conocido como HestiaCP), recuerda que el acceso se realiza a través del puerto 2106 y que la estructura de carpetas es muy similar a la de DirectAdmin, por lo que los pasos de esta guía te serán de gran utilidad.
Conclusión: No te rindas ante el Error 500
El error 500 PrestaShop DirectAdmin puede parecer un monstruo aterrador al principio, pero como has visto, es un problema con soluciones muy concretas y accesibles. Hemos cubierto los tres frentes principales: permisos de archivos, el archivo .htaccess y el límite de memoria PHP.
Te recomiendo seguir los pasos en este orden:
- Verifica los permisos (el más común).
- Reinicia el
.htaccess(el más rápido de probar). - Aumenta la memoria PHP (el más efectivo si tu tienda es grande).
Con un poco de paciencia, podrás arreglar el error 500 en PrestaShop y volver a tener tu tienda online funcionando en un abrir y cerrar de ojos. ¡Mucho ánimo y manos a la obra!
