Solución de errores 500 en DirectAdmin
¿Te ha aparecido de repente la temida pantalla blanca o un mensaje genérico de Error 500 en tu web 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 si sabes por dónde empezar.
En esta guía completa y paso a paso, te explicaré qué significa exactamente ese error 500 DirectAdmin, por qué ocurre y, lo más importante, cómo solucionar error 500 tú mismo sin necesidad de ser un experto en programación. Vamos a desglosarlo de forma clara y visual.
¿Qué es un Error 500 y por qué aparece en DirectAdmin?
El error 500 es un código de estado HTTP que significa "Error Interno del Servidor". Básicamente, le está diciendo a tu navegador: "Algo ha ido mal en el servidor, pero no te digo exactamente qué para no comprometer la seguridad".
En el contexto de DirectAdmin errores, las causas más frecuentes suelen ser:
- Archivos .htaccess corruptos o con sintaxis incorrecta. Esta es, con diferencia, la causa número uno.
- Permisos de archivos o carpetas incorrectos. Por ejemplo, dar permisos 777 a un archivo PHP.
- Problemas de memoria PHP. Un script que consume más memoria de la permitida.
- Versión de PHP incompatible con tu aplicación (WordPress, Joomla, etc.).
- Plugin o tema defectuoso (en CMS como WordPress).
- Errores de sintaxis en scripts PHP que hayas modificado recientemente.
[INFO] El mensaje de error puede variar: "500 Internal Server Error", "500 Internal Server Error - Lo sentimos", o simplemente una página en blanco. Todos apuntan al mismo problema.
Paso 1: Lo Primero, Activar la Visualización de Errores PHP
Antes de tocar nada, vamos a hacer que el servidor nos cuente qué está pasando exactamente. Por defecto, DirectAdmin oculta los detalles del error por seguridad. Vamos a forzarlo a mostrarlos.
### Para usuarios con acceso a la configuración de PHP (más común)
- Accede a tu panel de DirectAdmin.
- Busca la sección "Administrador de cuentas" o "Configuración de PHP" (suele estar en "Características del dominio" o "Configuración avanzada").
- Dentro, busca la opción "Selector de versión de PHP" (o similar).
- Haz clic en el icono de "Editar" (normalmente un lápiz) junto a tu dominio.
- En la lista de opciones, busca
display_errorsy cámbialo aOn. - También busca
error_reportingy asegúrate de que esté enE_ALLoE_ALL & ~E_DEPRECATED. - Guarda los cambios.
### Para usuarios sin acceso a la configuración de PHP (alternativa con .htaccess)
Si no encuentras la opción anterior, puedes forzar la visualización desde el archivo .htaccess. Pero primero, haz una copia de seguridad de tu archivo .htaccess actual (si existe). Puedes descargarlo por FTP o desde el administrador de archivos de DirectAdmin.
Luego, añade estas líneas al principio del archivo:
php_flag display_errors on
php_value error_reporting 32767
Guarda el archivo y subelo de nuevo. Ahora, al recargar tu web, en lugar del error 500, verás un mensaje descriptivo como "Fatal error: Allowed memory size of...". Eso es oro puro para la solución.
[WARNING] Después de solucionar el error, recuerda desactivar
display_errorsy volver a poner el .htaccess original para no exponer información sensible a los visitantes.
Paso 2: La Causa Más Común – El Archivo .htaccess
Si el error 500 apareció después de que hicieras algún cambio en la web (instalar un plugin, modificar reglas de redirección, etc.), el culpable es casi seguro tu archivo .htaccess.
### Cómo solucionarlo
- Localiza el archivo .htaccess en la raíz de tu dominio (carpeta
public_html). - Renómbralo a algo como
htaccess_oldo.htaccess_backup. Esto lo desactiva temporalmente. - Recarga tu web. Si el error 500 desaparece, ¡bingo! El problema está en el .htaccess.
- Crea uno nuevo limpio. Puedes copiar este código básico:
# BEGIN WordPress (si usas WordPress)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
- Vuelve a probar tu web. Si funciona, el problema era una regla incorrecta en tu .htaccess anterior. Puedes ir añadiendo las reglas que necesites de una en una (redirecciones 301, caché, etc.) hasta que encuentres la que falla.
[TIP] Si no usas WordPress, un .htaccess básico puede estar vacío o solo tener reglas de seguridad. Simplemente crea uno nuevo con el contenido mínimo que necesites.
Paso 3: Permisos de Archivos y Carpetas
Los permisos incorrectos son otra causa muy frecuente de error 500 DirectAdmin. Los archivos deben tener permisos 644 y las carpetas 755. Nunca uses 777 a no ser que sea estrictamente necesario y sepas lo que haces.
### Cómo corregirlos desde DirectAdmin
- Ve a "Administrador de archivos" en tu panel de DirectAdmin.
- Navega hasta la carpeta
public_html. - Selecciona todos los archivos y carpetas (puedes usar Ctrl+A).
- Haz clic en el botón "Cambiar permisos" (suele ser un icono de candado o un engranaje).
- En la ventana emergente, marca:
- Archivos: 644 (lectura/escritura para el usuario, solo lectura para grupo y público).
- Carpetas: 755 (lectura/ejecución para todos, escritura solo para el usuario).
- Asegúrate de marcar la opción "Recursivo" (aplicar a subcarpetas).
- Haz clic en "Aceptar".
[WARNING] Si tu web necesita escribir archivos (por ejemplo, una galería o un foro), las carpetas de subida (como
/wp-content/uploads/en WordPress) deben tener permisos 755 o incluso 775 en algunos casos. Pero el resto, siempre 644/755.
Paso 4: Límite de Memoria PHP (Memory Limit)
Si el error 500 aparece al intentar acceder a una página con muchos plugins o un proceso pesado (como una importación), el problema puede ser que el límite de memoria PHP sea demasiado bajo.
### Cómo aumentarlo
- Accede a "Configuración de PHP" en DirectAdmin (como en el Paso 1).
- Busca la opción
memory_limit. - Auméntalo progresivamente. Por ejemplo, de
128Ma256Mo512M. No te pases, 256M suele ser suficiente para la mayoría de sitios. - Guarda los cambios y prueba la web.
Paso 5: Versión de PHP Incorrecta
A veces, una actualización de tu CMS o de un plugin requiere una versión de PHP más moderna. Si tienes una versión antigua, puede dar error 500.
### Cómo cambiarla
- En DirectAdmin, busca "Selector de versión de PHP".
- Selecciona tu dominio.
- Elige una versión más reciente (por ejemplo, de PHP 7.4 a PHP 8.1 o 8.2). Asegúrate de que tu web es compatible con esa versión.
- Guarda los cambios.
[INFO] Si no estás seguro de qué versión usar, empieza por la que tu CMS recomiende. WordPress, por ejemplo, funciona bien con PHP 8.0+.
Paso 6: Desactivar Plugins o Tema (en WordPress)
Si tu web es WordPress y el error 500 apareció tras una actualización o instalación, el problema está en un plugin o tema.
### Cómo desactivar todo sin acceso al panel
- Accede por FTP o al Administrador de archivos de DirectAdmin.
- Navega a
/wp-content/plugins/. - Renombra la carpeta
pluginsaplugins_old. Esto desactiva todos los plugins de golpe. - Recarga tu web. Si funciona, el problema es de un plugin.
- Crea una nueva carpeta
pluginsvacía. - Vuelve a subir los plugins de uno en uno desde tu ordenador (o desde el panel de WordPress después), probando la web cada vez, hasta que encuentres el culpable.
- Si el error persiste con los plugins desactivados, renombra la carpeta
themesathemes_old. WordPress usará un tema por defecto (Twenty Twenty-Four, por ejemplo). Si funciona, el problema es de tu tema.
Preguntas Frecuentes (FAQ) sobre el Error 500 en DirectAdmin
P: ¿El error 500 puede deberse a un problema del servidor (hosting)?
R: Sí, aunque es menos común. Si has probado todos los pasos anteriores y nada funciona, contacta a tu proveedor de hosting. Ellos pueden verificar los logs del servidor (Apache, Nginx) para detectar un error más profundo.
P: ¿Qué hago si no encuentro el archivo .htaccess?
R: Es posible que no exista o que esté oculto. En el Administrador de archivos de DirectAdmin, asegúrate de tener activada la opción "Mostrar archivos ocultos" (suele ser un checkbox). Si no aparece, puedes crear uno nuevo desde cero con un editor de texto.
P: ¿Puedo usar el archivo error_log que se genera automáticamente?
R: ¡Sí! DirectAdmin suele generar un archivo llamado error_log en la raíz de tu dominio. Descárgalo y ábrelo con un editor de texto. Las últimas líneas suelen contener la causa exacta del error 500, como "Allowed memory size exhausted" o "syntax error".
P: ¿El error 500 afecta a todos los visitantes?
R: Sí, generalmente sí. El servidor devuelve ese código de error a cualquier petición que haga el navegador, por lo que todos ven la misma pantalla de error.
P: ¿Es seguro borrar el archivo .htaccess?
R: Sí, es seguro mientras crees uno nuevo funcional. Si borras el .htaccess sin reemplazarlo, tu web puede perder funcionalidades como redirecciones, reglas de caché o protección contra hotlinking, pero la web en sí seguirá funcionando.
P: ¿Qué pasa si uso Syspanel (HestiaCP)?
R: Si tu panel es Syspanel (el antiguo HestiaCP), el proceso es muy similar. Accedes por el puerto 2106 (ejemplo: https://tudominio.com:2106). Busca la sección de "Editar configuración de PHP" o "Administrador de archivos" dentro de tu cuenta. Los pasos para solucionar el error 500 son exactamente los mismos: revisar .htaccess, permisos, límite de memoria y versión de PHP.
P: ¿Y si el error 500 aparece solo en una página concreta?
R: Eso suele indicar un problema en un script PHP específico de esa página. Activa la visualización de errores (Paso 1) y la página te mostrará el error exacto (por ejemplo, "syntax error, unexpected..."). Revisa el código de esa página o del plugin que la genera.
Conclusión: No temas al Error 500
Como has visto, solucionar error 500 en DirectAdmin no es una tarea de otro mundo. Siguiendo estos pasos de forma metódica –empezando por lo más simple (el .htaccess) y subiendo en complejidad– podrás resolver la mayoría de los casos en pocos minutos.
Recuerda:
- Activa la visualización de errores para obtener pistas.
- Renombra el .htaccess para descartarlo.
- Corrige los permisos de archivos y carpetas.
- Aumenta el límite de memoria PHP.
- Cambia la versión de PHP si es necesario.
- Desactiva plugins/temas en WordPress.
Y si todo falla, tu proveedor de hosting siempre tendrá los logs del servidor para ayudarte. ¡Ánimo, que ese error 500 no puede contigo!
