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

Guía para solucionar errores 500 en DirectAdmin

Actualizado el 21 de diciembre de 2025

¡Hola! Soy tu técnico de soporte amigable. Si estás aquí, es porque seguramente te has encontrado con el temido error 500 en tu servidor DirectAdmin. No te preocupes, es uno de los errores más comunes y, salvo excepciones, suele tener solución rápida. En esta guía te explicaré paso a paso qué es, por qué ocurre y, lo más importante, cómo solucionar el error 500 en tu panel de control.

Vamos a desglosarlo todo de forma sencilla, sin tecnicismos complicados. Solo necesitas tener acceso a tu DirectAdmin y, en algunos casos, a la terminal de tu servidor (SSH). ¡Empecemos!


¿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". Es una forma que tiene el servidor de decirte: "Algo salió mal, pero no puedo darte más detalles porque el problema está en mi configuración o en el código de tu sitio web".

En el contexto de DirectAdmin, las causas más frecuentes son:

  • Archivos .htaccess corruptos o con reglas incorrectas. Es el culpable número uno.
  • Permisos de archivos o carpetas mal configurados. Por ejemplo, una carpeta con permisos 777.
  • Errores en scripts PHP. Un plugin de WordPress desactualizado puede lanzar un error 500.
  • Problemas de memoria o límites de recursos. El servidor se queda sin recursos para ejecutar el script.
  • Archivos PHP con sintaxis incorrecta. Un simple punto y coma olvidado puede ser el problema.
  • Módulos de Apache o PHP desactivados o incompatibles.

[INFO] Recuerda que el error 500 es genérico. Para saber la causa exacta, necesitamos revisar los logs DirectAdmin o los logs de Apache.


Paso 1: Lo primero, revisar los logs DirectAdmin

Antes de hacer cambios a lo loco, lo mejor es consultar los registros de errores. Los logs DirectAdmin y los logs de Apache te darán la pista exacta.

¿Dónde están los logs en DirectAdmin?

  1. Accede a tu panel de DirectAdmin (normalmente en https://tudominio.com:2222).
  2. Ve a "Administración de Cuentas" o "Estadísticas y Logs" (depende de la versión).
  3. Busca la opción "Log de Errores" o "Error Log". Normalmente está en la sección de "Apache" o "PHP".
  4. También puedes encontrarlo directamente en la ruta del servidor: /var/log/httpd/error_log o /home/usuario/domains/tudominio.com/logs/error.log.

¿Qué buscar en el log?

Abre el archivo de log. Busca la fecha y hora en que apareció el error 500. Verás líneas como:

[Sun Jan 14 10:30:00.123456 2025] [core:alert] [pid 12345] [client 192.168.1.1:54321] /home/usuario/domains/tudominio.com/public_html/.htaccess: Invalid command 'RewirteEngine', perhaps misspelled or defined by a module not included in the server configuration

¡Aquí está la clave! El log te dice exactamente que el archivo .htaccess tiene una línea mal escrita (RewirteEngine en lugar de RewriteEngine).

[TIP] Si no ves nada en los logs, espera un minuto y recarga la página que da error. A veces los logs se actualizan con un pequeño retraso.


Paso 2: Solucionar el error 500 causado por .htaccess

El archivo .htaccess es el principal sospechoso. Es un archivo de configuración de Apache que controla redirecciones, URLs amigables, reglas de seguridad, etc. Si tiene un error, el servidor se bloquea.

¿Cómo saber si el .htaccess es el culpable?

  1. Accede a tu panel DirectAdmin.
  2. Ve a "Administrador de Archivos" (File Manager).
  3. Navega hasta la carpeta public_html de tu dominio.
  4. Busca el archivo .htaccess (puede estar oculto, activa "Mostrar archivos ocultos").
  5. Renómbralo a algo como .htaccess_old o .htaccess_backup. Esto lo desactiva temporalmente.
  6. Recarga la página que daba error 500.

Si el error desaparece, ¡felicidades! El problema está en el .htaccess. Ahora tienes dos opciones:

  • Solución rápida: Reemplázalo con una copia limpia (por ejemplo, el .htaccess por defecto de WordPress, Joomla, etc.).
  • Solución manual: Ábrelo con un editor de texto (desde el File Manager) y revisa línea por línea. Busca errores de sintaxis, módulos que no existen (RewriteCond, RewriteRule mal escritos) o directivas obsoletas.

[WARNING] No edites el .htaccess directamente desde un editor de texto de escritorio y luego lo subas. Mejor usa el editor integrado de DirectAdmin para evitar problemas de codificación.

Ejemplo de .htaccess básico para WordPress (si usas WordPress)

Si tu sitio es WordPress y has eliminado el .htaccess, puedes crear uno nuevo con este contenido básico:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Guárdalo como .htaccess en public_html. Luego, ve a Ajustes > Enlaces permanentes en WordPress y haz clic en Guardar cambios para regenerarlo automáticamente.


Paso 3: Revisar los permisos de archivos y carpetas

Los permisos incorrectos son otra causa muy común del error 500. En un servidor Linux, los archivos y carpetas tienen permisos que determinan quién puede leer, escribir o ejecutar.

¿Cuáles son los permisos correctos?

  • Carpetas (directorios): 755
  • Archivos (PHP, HTML, imágenes): 644
  • Archivos ejecutables (como scripts CGI): 755 (a veces 750)

[INFO] Nunca des permisos 777 (lectura, escritura y ejecución para todos). Es un agujero de seguridad y puede causar errores 500.

¿Cómo cambiar permisos en DirectAdmin?

  1. Ve a "Administrador de Archivos".
  2. Selecciona la carpeta public_html (o la carpeta que quieras revisar).
  3. Haz clic derecho sobre un archivo o carpeta y elige "Cambiar permisos".
  4. Introduce el valor correcto (755 para carpetas, 644 para archivos) o marca las casillas correspondientes (propietario: leer, escribir, ejecutar; grupo: leer, ejecutar; otros: leer, ejecutar para carpetas).
  5. Marca la opción "Aplicar a todos los archivos y subdirectorios" si quieres cambiar toda la estructura. ¡Ten cuidado! Si tienes archivos que necesitan permisos especiales (como una carpeta uploads con 755), no los toques.

Comando rápido desde SSH (si tienes acceso)

Si te sientes cómodo con la terminal, puedes usar estos comandos desde SSH:

# Cambiar permisos de todas las carpetas a 755
find /home/usuario/domains/tudominio.com/public_html -type d -exec chmod 755 {} \;

# Cambiar permisos de todos los archivos a 644
find /home/usuario/domains/tudominio.com/public_html -type f -exec chmod 644 {} \;

[WARNING] Si usas SSH, asegúrate de estar en el directorio correcto. Un error podría dejar tu sitio inservible.


Paso 4: Verificar la configuración de PHP

A veces el error 500 se debe a un script PHP que consume más memoria de la permitida, o que usa una función desactivada.

Aumentar el límite de memoria PHP

  1. En DirectAdmin, ve a "Administración de Cuentas" > "Configuración de PHP" (o "PHP Settings").
  2. Busca la opción memory_limit y aumenta su valor, por ejemplo de 128M a 256M.
  3. También revisa max_execution_time (ponlo a 300 segundos) y upload_max_filesize si trabajas con subidas de archivos.
  4. Guarda los cambios. Esto reinicia el servicio PHP-FPM (si lo usas) automáticamente.

Activar la visualización de errores PHP (temporal)

Para depurar, puedes hacer que PHP muestre los errores en pantalla (no recomendado en producción, solo para pruebas).

  1. Crea un archivo llamado info.php en public_html con este contenido:
    <?php
    phpinfo();
    ?>
    
  2. Accede a tudominio.com/info.php. Busca la sección "Loaded Configuration File" para saber qué php.ini está usando tu sitio.
  3. Edita ese php.ini (normalmente en /usr/local/lib/php.ini o dentro de tu cuenta en public_html/php.ini).
  4. Busca la línea display_errors = Off y cámbiala a display_errors = On. También activa error_reporting = E_ALL.
  5. Recarga la página que da error 500. Ahora verás un mensaje más descriptivo (por ejemplo, "Fatal error: Allowed memory size exhausted").

[TIP] No olvides desactivar display_errors después de solucionar el problema. Es un riesgo de seguridad.


Paso 5: Revisar plugins y temas (si usas CMS)

Si tu sitio usa WordPress, Joomla, Drupal u otro CMS, un plugin o un tema desactualizado o incompatible puede lanzar un error 500.

Para WordPress:

  1. Desactiva todos los plugins. Ve a wp-content/plugins desde el File Manager y renombra la carpeta plugins a plugins_backup. Esto desactiva todos los plugins de golpe.
  2. Si el error desaparece, reactiva los plugins uno por uno (renombrando la carpeta de nuevo a plugins y activándolos desde el panel de administración de WordPress) hasta encontrar el culpable.
  3. Cambia temporalmente al tema por defecto (Twenty Twenty-Three o similar). Ve a wp-content/themes y renombra la carpeta de tu tema actual (ej: mitema a mitema_backup). WordPress usará automáticamente el tema por defecto.

Para Joomla:

  1. Ve a Extensiones > Gestor de Extensiones.
  2. Desactiva los plugins o módulos que hayas instalado recientemente.
  3. También puedes renombrar la carpeta plugins desde el File Manager (similar a WordPress).

Paso 6: Verificar los límites de recursos del servidor

A veces el error 500 aparece porque tu sitio supera los límites de recursos asignados por el hosting (memoria, CPU, procesos).

¿Cómo saber si es un problema de recursos?

  1. En DirectAdmin, ve a "Estadísticas y Logs" > "Uso de Recursos".
  2. Revisa si el uso de memoria o CPU está cerca del límite.
  3. También puedes ver el Log de Errores del Sistema (/var/log/messages o journalctl) para buscar mensajes como "Out of memory" o "Killed process".

Soluciones:

  • Optimiza tu sitio: Usa caché (como LiteSpeed Cache, W3 Total Cache), comprime imágenes, elimina plugins innecesarios.
  • Aumenta el límite de memoria PHP (como vimos en el Paso 4).
  • Contacta a tu proveedor de hosting para solicitar más recursos o un plan superior.

[WARNING] Si el servidor mata procesos por falta de memoria, el error 500 puede ser intermitente. Aparece cuando hay picos de tráfico.


Paso 7: Revisar la configuración de Apache y módulos

A veces el problema está en la configuración del servidor web Apache. En DirectAdmin, puedes acceder a algunas opciones.

¿Cómo comprobar los módulos de Apache?

  1. Ve a "Administración de Cuentas" > "Configuración de Apache".
  2. Busca la sección "Módulos de Apache".
  3. Asegúrate de que mod_rewrite (para URLs amigables), mod_headers, mod_expires y mod_php (o mod_fcgid / mod_proxy_fcgi) estén activados.
  4. Si desactivaste algún módulo por error, actívalo y guarda.

Reiniciar Apache desde DirectAdmin

  1. Ve a "Herramientas de Administración" > "Reiniciar Servicios".
  2. Marca Apache y haz clic en "Reiniciar".
  3. También puedes reiniciar PHP-FPM si lo usas.

[INFO] Si no ves la opción de reiniciar servicios, es posible que tu plan de hosting no lo permita. Contacta a tu proveedor.


Paso 8: Casos especiales (CGI, Python, etc.)

Si tu sitio usa scripts CGI (Common Gateway Interface) o Python (como Flask, Django), el error 500 puede deberse a:

  • Permisos incorrectos en el script CGI: Debe ser ejecutable (755).
  • Errores de sintaxis en Python: Revisa los logs de errores de Python (suelen estar en error.log dentro de tu dominio).
  • Falta de módulos o dependencias: Asegúrate de que todas las librerías necesarias estén instaladas.

Para scripts CGI, también verifica que la primera línea del script tenga el shebang correcto (ej: #!/usr/bin/perl o #!/usr/bin/python3).


Preguntas Frecuentes (FAQ)

¿Por qué veo un error 500 en mi sitio WordPress después de instalar un plugin?

Es muy común. El plugin puede tener un conflicto con otro plugin, con el tema o con la versión de PHP. Sigue el Paso 5 para desactivar plugins y encontrar el culpable.

¿El error 500 puede deberse a un ataque DDoS?

Sí, aunque es menos común. Si tu sitio recibe un pico de tráfico malicioso, el servidor puede colapsar y mostrar errores 500. Revisa los logs de acceso (access_log) para ver si hay muchas peticiones desde la misma IP.

¿Cómo puedo prevenir el error 500 en el futuro?

  • Mantén tu CMS, plugins y temas actualizados.
  • Haz copias de seguridad periódicas de tu .htaccess y de la configuración de PHP.
  • Usa un plugin de caché para reducir la carga del servidor.
  • Monitorea el uso de recursos desde DirectAdmin.
  • Contrata un hosting de calidad con soporte técnico rápido.

¿Qué hago si nada de esto funciona?

Si has seguido todos los pasos y el error 500 persiste, es hora de contactar al soporte técnico de tu hosting. Proporciónales:

  • La URL exacta donde aparece el error.
  • La fecha y hora del error.
  • Una captura de pantalla del error (si es posible).
  • Los últimos mensajes del log de errores de Apache.

Ellos tienen acceso a los logs del servidor y pueden identificar problemas más profundos (como configuraciones de firewall, problemas de disco, etc.).


Resumen rápido de la guía

  1. Revisa los logs DirectAdmin para encontrar la causa exacta.
  2. Desactiva el .htaccess renombrándolo.
  3. Corrige los permisos de archivos y carpetas (755 y 644).
  4. Aumenta los límites de PHP (memoria, tiempo de ejecución).
  5. Desactiva plugins y temas si usas CMS.
  6. Verifica los recursos del servidor (memoria, CPU).
  7. Revisa los módulos de Apache y reinicia servicios.
  8. Si nada funciona, contacta al soporte técnico.

[TIP] Guarda esta guía en tus favoritos. El error 500 puede aparecer en cualquier momento, y tener estos pasos a mano

¿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