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

Solucionar error 500 en DirectAdmin: Causas y pasos

Actualizado el 3 de marzo de 2026

¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a desentrañar uno de los errores más temidos (pero fáciles de solucionar) en el mundo del hosting: el temido error 500 en DirectAdmin. No te preocupes, aunque parezca un monstruo, con esta guía paso a paso lo vas a domar como un verdadero SysAdmin.

Este artículo está diseñado para que, incluso si no eres un experto en Linux, puedas identificar las causas y aplicar las soluciones una a una. Vamos a convertir ese error en un recuerdo lejano.


¿Qué es exactamente un Error 500?

El error 500, también conocido como "Internal Server Error", es la forma que tiene el servidor de decir: "Algo salió mal, pero no sé exactamente qué, o no puedo darte más detalles por seguridad". Es un error genérico del lado del servidor. Esto significa que el problema no está en tu ordenador, ni en tu conexión a Internet, sino en la configuración del servidor donde se aloja tu sitio web.

Imagina que el servidor es una cocina. El error 500 sería como si el chef te dijera: "No puedo preparar tu plato", pero no te explica si falta un ingrediente, la receta está mal escrita o el horno está roto. Nosotros, como SysAdmin, vamos a ser los detectives que descubren la causa.


Causas Comunes del Error 500 en DirectAdmin

Antes de lanzarnos a solucionar, es clave entender qué lo provoca. Aquí tienes las causas más frecuentes:

1. Archivo .htaccess corrupto o con reglas incorrectas

El .htaccess es un archivo de configuración muy poderoso que permite modificar el comportamiento del servidor web (Apache). Una línea mal escrita, una directiva incompatible o un simple error de sintaxis pueden provocar un error 500. Es la causa número uno.

2. Permisos de archivos y directorios incorrectos

Todo en Linux tiene permisos. Los archivos y carpetas de tu web deben tener permisos específicos para que el servidor pueda leerlos y ejecutarlos. Si son demasiado restrictivos (ej. 600 en lugar de 644 para archivos) o demasiado abiertos (ej. 777), el servidor se bloquea y muestra el error 500.

3. Problemas con PHP (versión, memoria o errores en el código)

Un script PHP que consume demasiada memoria, una función obsoleta, un error de sintaxis en tu código o una incompatibilidad con la versión de PHP instalada pueden detener el servidor en seco.

4. Archivos del core de CMS corruptos o incompletos

Si usas WordPress, Joomla o cualquier otro gestor de contenidos (CMS), un archivo esencial que se haya subido mal, esté corrupto o falte, puede generar el error 500.

5. Límites de recursos del servidor excedidos

A veces, el problema no es tu web, sino el servidor compartido. Si tu sitio consume más CPU o memoria de la permitida, el servidor puede responder con un 500 para protegerse a sí mismo y a otros sitios.

6. Configuraciones incorrectas en DirectAdmin (PHP-FPM, Apache, Nginx)

A veces, los ajustes desde el panel de control, como la configuración de PHP-FPM (por ejemplo, el número de procesos o el tiempo de ejecución) pueden estar mal definidos.


Pasos para Solucionar el Error 500 en DirectAdmin

Vamos a la acción. Sigue estos pasos en orden. Cada uno está diseñado para descartar una causa. No te saltes ninguno.

Paso 1: El primer paso más simple: Limpia la caché del navegador y reinicia

Aunque parezca tonto, a veces el error 500 se debe a una versión en caché de tu navegador. Antes de tocar nada en el servidor, haz esto:

  1. Abre una ventana de incógnito o privada en tu navegador.
  2. Accede a tu web. Si funciona, el problema era la caché de tu navegador.
  3. Si no, limpia completamente la caché (Ctrl+Shift+Supr en Chrome/Firefox) y vuelve a intentar.

Paso 2: Revisa el archivo .htaccess (El principal sospechoso)

Este es el paso más común. El .htaccess suele estar en la raíz de tu sitio web (la carpeta public_html en DirectAdmin).

  1. Accede a DirectAdmin y ve a Administración de Archivos (File Manager).
  2. Navega hasta public_html (o la carpeta donde esté tu web).
  3. Busca el archivo .htaccess. Si no lo ves, activa la opción Mostrar archivos ocultos (suele ser un checkbox).
  4. Haz una copia de seguridad: Renómbralo a .htaccess.bak o descárgalo a tu PC.
  5. Crea uno nuevo vacío: Haz clic derecho en la carpeta y selecciona Crear archivo. Nómbralo .htaccess.
  6. Prueba tu web. Si funciona, el problema estaba en tu .htaccess original. Ahora puedes restaurar la copia de seguridad e ir añadiendo las reglas una por una para encontrar la línea conflictiva. Si usas WordPress, un .htaccess básico funcional es este:
    # BEGIN 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
    

[TIP] Si tu web funciona con el .htaccess vacío, el error es culpa de ese archivo. ¡Enhorabuena, has encontrado al culpable!

Paso 3: Verifica los permisos de archivos y carpetas

Los permisos incorrectos son otra causa muy frecuente. Los valores estándar seguros son:

  • Archivos: 644 (lectura y escritura para el dueño, solo lectura para el grupo y el mundo).
  • Carpetas: 755 (lectura, escritura y ejecución para el dueño; lectura y ejecución para el grupo y el mundo).

Cómo solucionarlo desde DirectAdmin:

  1. Ve a Administración de Archivos.
  2. Selecciona la carpeta public_html (o la carpeta raíz de tu web).
  3. En la barra superior, busca el botón Cambiar permisos (suele ser un icono de candado o un engranaje).
  4. Marca la opción Recursivo para que se aplique a todos los archivos y subcarpetas.
  5. Establece los permisos para Archivos en 644 y para Directorios en 755.
  6. Haz clic en Aceptar.

[WARNING] No pongas permisos 777 a tus archivos. Es un agujero de seguridad enorme. Si algún plugin o script te lo pide, busca otra alternativa.

Paso 4: Activa el modo debug de PHP o revisa los logs de error

Si los pasos anteriores no funcionan, necesitamos más información. El servidor guarda registros (logs) de lo que ocurre. Ahí estará la pista definitiva.

Opción A: Ver los logs de error del servidor (La mejor opción)

  1. En DirectAdmin, ve a Registros de errores (Error Logs) o Apache Error Log. Suele estar en la sección "Administración de cuentas" o "Herramientas avanzadas".
  2. Busca las últimas líneas. Verás algo como: [error] [client IP] ... PHP Fatal error: Allowed memory size of X bytes exhausted... o ... syntax error, unexpected.... Esa línea te dice exactamente qué archivo y línea están causando el error.

Opción B: Forzar a PHP a mostrar errores (Temporal)
Si no encuentras los logs, puedes forzar a PHP a mostrar el error en pantalla. Haz esto solo temporalmente, ya que muestra información sensible.

  1. Crea un archivo llamado phpinfo.php en la raíz de tu web con este contenido:
    <?php
    phpinfo();
    ?>
    
  2. Accede a tudominio.com/phpinfo.php. Busca la sección "Loaded Configuration File" para saber qué php.ini está usando tu sitio.
  3. Edita ese php.ini (desde Administración de Archivos o desde la sección Configuración de PHP de DirectAdmin) y cambia estas líneas:
    • display_errors = On
    • error_reporting = E_ALL
  4. Guarda y recarga tu web. Ahora, en lugar del error 500, verás el mensaje de error específico. Recuerda desactivarlo después (poner display_errors = Off).

[INFO] Si usas Syspanel (el antiguo HestiaCP), el puerto de acceso es el 2106. La estructura de logs es similar, pero puedes acceder a ellos desde la sección "Registros" del panel.

Paso 5: Aumenta la memoria de PHP (memory_limit)

Un error muy común es "Allowed memory size of X bytes exhausted". Esto significa que un script (a menudo un plugin de WordPress) está pidiendo más memoria de la permitida.

Cómo aumentarlo en DirectAdmin:

  1. Ve a Configuración de PHP (PHP Settings) o Select PHP Version.
  2. Busca el parámetro memory_limit.
  3. Auméntalo gradualmente. Por ejemplo, de 128M a 256M o 512M. No subas a valores extremos como 2GB en un hosting compartido.
  4. Guarda los cambios.

Paso 6: Reinstala los archivos del core de tu CMS

Si el error persiste, es posible que un archivo del núcleo de WordPress, Joomla, etc., esté dañado.

Para WordPress:

  1. Descarga la última versión de WordPress desde wordpress.org.
  2. Descomprime el archivo en tu ordenador.
  3. Sube las carpetas wp-admin y wp-includes a tu servidor (a public_html), sobrescribiendo los archivos existentes. No borres la carpeta wp-content ahí están tus temas, plugins y subidas.
  4. También sube todos los archivos .php de la raíz (excepto wp-config.php).

Paso 7: Revisa las configuraciones de PHP-FPM en DirectAdmin

DirectAdmin permite configurar PHP-FPM por usuario. A veces, una mala configuración puede dar error 500.

  1. Ve a Configuración de PHP (PHP Settings) y luego a PHP-FPM Configuration.
  2. Revisa los parámetros como pm.max_children, pm.start_servers, etc. Si no sabes lo que haces, no los toques. Pero si has visto en los logs errores de "server reached pm.max_children", entonces necesitas aumentarlos (con cuidado).
  3. También puedes cambiar el modo de ejecución de PHP. Si tienes dudas, cámbialo a suphp (más seguro y estable) o lsapi (más rápido) y prueba. A veces, cambiar de php-fpm a lsapi soluciona el error.

Paso 8: Contacta a tu proveedor de hosting (El último recurso)

Si después de todos estos pasos el error 500 sigue apareciendo, es hora de llamar a los refuerzos. El problema puede ser a nivel de servidor (configuración de Apache, Nginx, firewall, etc.) que solo tu proveedor puede solucionar.

Qué decirles:

  • "Tengo un error 500 en mi web [tudominio.com]."
  • "Ya revisé el .htaccess, los permisos, los logs y aumenté la memoria de PHP."
  • "En el log de errores vi esto: [Pega la línea del log]."

Con esa información, el soporte técnico podrá ayudarte mucho más rápido.


FAQ: Preguntas Frecuentes (Para resolver dudas comunes)

¿El error 500 puede deberse a un plugin de WordPress?

Sí, es muy común. Desactiva todos los plugins renombrando la carpeta public_html/wp-content/plugins a plugins_old. Si la web funciona, reactívalos uno por uno para encontrar el culpable.

¿Qué hago si no puedo acceder ni a DirectAdmin?

Si el error 500 te impide incluso entrar al panel, contacta a tu proveedor de hosting por teléfono o ticket. Ellos pueden acceder al servidor desde fuera y solucionarlo.

¿Es seguro borrar el archivo .htaccess?

Sí, es seguro temporalmente. Solo perderás las reglas de reescritura (como los enlaces permanentes de WordPress). Puedes regenerarlo fácilmente desde el panel de administración de tu CMS.

¿Los permisos 755 y 644 son obligatorios?

Son los más recomendados por seguridad y funcionalidad. No uses 777 a menos que sea estrictamente necesario y temporal.

¿Puedo solucionar el error 500 desde un cliente FTP?

Sí, totalmente. Puedes renombrar el .htaccess, cambiar permisos (aunque algunos clientes FTP no lo hacen recursivamente bien) y subir archivos. DirectAdmin es más visual, pero FTP funciona igual.


Conclusión: Eres un SysAdmin en potencia

Como has visto, el error 500 en DirectAdmin no es una sentencia de muerte para tu web. Siguiendo esta guía errores paso a paso, has aprendido a ser un SysAdmin básico: a leer logs, a modificar configuraciones y a mantener la calma ante los problemas.

Recuerda que la clave está en la paciencia y en seguir el orden lógico: primero lo más simple (caché, .htaccess), luego permisos, luego PHP, y finalmente los logs. Si llegas al final sin éxito, tu proveedor de hosting (o un buen amigo SysAdmin) te echará una mano.

¿Has conseguido solucionarlo? ¡Cuéntame en los comentarios! Y si te ha quedado alguna duda, aquí estoy para ayudarte.

[TIP FINAL] Crea un punto de restauración de tu web (una copia de seguridad completa) antes de hacer cambios grandes. ¡Nunca sabes cuándo la necesitarás!

¿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