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

Guía para solucionar el error 500 Internal Server Error en Linux

Actualizado el 11 de enero de 2026

¿Qué es el error 500 Internal Server Error en Linux y por qué aparece?

El error 500 Internal Server Error es uno de los mensajes más frustrantes que puedes ver al navegar por tu sitio web o al intentar acceder a tu panel de administración. En términos simples, significa que el servidor (Linux en este caso) encontró un problema inesperado que le impide completar la solicitud. No es un error de tu navegador ni de tu conexión a Internet; es un problema del lado del servidor.

Este error puede aparecer por muchas razones: desde un archivo de configuración mal escrito, hasta permisos incorrectos en archivos o carpetas, pasando por problemas con módulos de PHP, bases de datos, o incluso un script que consume demasiados recursos. Lo bueno es que, con un enfoque metódico, puedes solucionar error 500 sin necesidad de ser un experto en Linux.

En esta guía completa, te explicaré paso a paso cómo diagnosticar y resolver el error 500 Linux. Usaremos herramientas básicas de terminal, revisaremos los logs Linux y aplicaremos soluciones prácticas. Al final, también incluyo una sección de preguntas frecuentes (FAQ) para resolver dudas comunes.


Paso 1: No entres en pánico – Lo primero que debes hacer

Cuando ves un error 500, lo peor que puedes hacer es empezar a cambiar cosas al azar. Sigue estos pasos iniciales:

  1. Recarga la página a veces es un error temporal.
  2. Prueba en otro navegador o en modo incógnito para descartar problemas de caché.
  3. Si usas un panel como Syspanel (puerto 2106), intenta acceder a su interfaz web. Si el panel funciona, el problema está en tu sitio web, no en el servidor.

[INFO] Syspanel (antes HestiaCP) es un panel de control para servidores Linux. Su acceso por defecto es a través del puerto 2106 (ejemplo: https://tu-servidor.com:2106). Si no puedes acceder ni siquiera al panel, el problema es más profundo.


Paso 2: Revisar los logs del servidor – Tu mejor aliado

Los logs Linux son archivos donde el sistema registra todo lo que ocurre. Para el error 500, los logs más importantes son los de Apache/Nginx y los de PHP.

2.1. Logs de Apache o Nginx

Dependiendo de tu servidor web, los logs se encuentran en rutas diferentes:

  • Apache (httpd): /var/log/apache2/error.log o /var/log/httpd/error_log
  • Nginx: /var/log/nginx/error.log

Para ver las últimas líneas del log en tiempo real, usa:

tail -f /var/log/apache2/error.log

Busca líneas que contengan "500" o "Internal Server Error". El mensaje suele incluir la ruta del archivo problemático y una breve descripción del error.

2.2. Logs de PHP

Si tu web usa PHP, los errores suelen registrarse en:

  • /var/log/php_errors.log (si está configurado)
  • O dentro del propio log del servidor web.

Para habilitar el log de PHP temporalmente, puedes crear un archivo phpinfo.php en la raíz de tu sitio con este contenido:

<?php
phpinfo();
?>

Luego accede a tusitio.com/phpinfo.php y busca la línea "error_log" para ver la ruta exacta.

[TIP] Si no ves nada en los logs, es posible que los errores estén ocultos. Activa la visualización de errores en PHP añadiendo estas líneas al archivo .htaccess o al php.ini:

php_flag display_errors on
php_value error_reporting E_ALL

Paso 3: Causas comunes y soluciones paso a paso

3.1. Permisos incorrectos en archivos o carpetas

Una causa muy frecuente del error 500 Linux son los permisos incorrectos. Los archivos deben tener permisos 644 y las carpetas 755. Para corregirlos:

# Para archivos:
find /ruta/a/tu/sitio -type f -exec chmod 644 {} \;

# Para carpetas:
find /ruta/a/tu/sitio -type d -exec chmod 755 {} \;

Si usas Syspanel, puedes hacerlo desde su administrador de archivos (sección "Archivos").

3.2. Archivo .htaccess corrupto o mal escrito

El archivo .htaccess (Apache) es un gran culpable. Renómbralo temporalmente:

mv .htaccess .htaccess_backup

Si el error desaparece, entonces el problema está en ese archivo. Revisa su contenido línea por línea, especialmente si has añadido reglas de redirección o de seguridad.

3.3. Problemas con PHP (versión, memoria, módulos)

  • Versión de PHP incorrecta: Si tu sitio requiere una versión específica (ej: PHP 7.4 vs 8.0), verifica con php -v en terminal. En Syspanel puedes cambiar la versión desde "Servicios Web".
  • Límite de memoria agotado: Aumenta el límite en php.ini:
    memory_limit = 256M
    
  • Módulo faltante: Errores como "Class not found" indican que falta un módulo (ej: php-mysql). Instálalo con:
    sudo apt install php-mysql
    

3.4. Scripts con errores de sintaxis

Si tienes un script PHP o Python con un error de sintaxis, el servidor devolverá un 500. Para PHP, verifica la sintaxis:

php -l /ruta/al/archivo.php

Si muestra "Parse error", corrige la línea indicada.

3.5. Problemas con la base de datos

Si tu sitio usa MySQL/MariaDB, una conexión fallida también puede causar un 500. Verifica:

# Conectar a la base de datos
mysql -u usuario -p -h localhost nombre_bd

Si no puedes conectar, revisa las credenciales en tu archivo de configuración (ej: wp-config.php en WordPress).


Paso 4: Soluciones avanzadas para SysAdmin

4.1. Reiniciar servicios

A veces un simple reinicio soluciona todo:

sudo systemctl restart apache2   # Para Apache
sudo systemctl restart nginx     # Para Nginx
sudo systemctl restart php8.1-fpm # Ajusta la versión de PHP

4.2. Verificar el uso de recursos

Un servidor sobrecargado puede dar errores 500. Usa:

top

Para ver si algún proceso consume demasiada CPU o RAM. Si es un script de tu sitio, optimízalo o aumenta los recursos del servidor.

4.3. Revisar el firewall

Si tienes un firewall como ufw o iptables, asegúrate de que no esté bloqueando puertos esenciales (80, 443, 2106 para Syspanel).

sudo ufw status

Paso 5: FAQ – Preguntas frecuentes sobre el error 500

P: ¿El error 500 siempre es culpa del servidor?
R: Sí, pero la causa suele estar en la configuración de tu sitio web, no en el hardware.

P: ¿Puedo solucionarlo sin acceder por SSH?
R: Si usas Syspanel (puerto 2106), puedes hacer muchos cambios desde su interfaz: editar archivos, cambiar permisos, reiniciar servicios.

P: ¿Cómo sé si es un error de PHP o de Apache?
R: Revisa los logs. En el log de Apache verás "PHP Fatal error" si es de PHP, o "Request exceeded the limit" si es de recursos.

P: Mi sitio da error 500 solo en algunas páginas, ¿qué hago?
R: El problema está en esas páginas específicas. Revisa los scripts que cargan (plugins, temas) o la base de datos.

P: ¿Restaurar una copia de seguridad soluciona el error?
R: Solo si el error fue causado por un cambio reciente. Si no, el problema persistirá.


Resumen final

El error 500 Internal Server Error en Linux puede parecer un monstruo, pero con un enfoque ordenado es completamente solucionable. Recuerda:

  1. No toques nada al azar – primero revisa los logs.
  2. Los permisos y el .htaccess son los culpables más comunes.
  3. Usa Syspanel (puerto 2106) para gestionar tu servidor si no te sientes cómodo con la terminal.
  4. Si todo falla, busca ayuda en foros o con tu proveedor de hosting, pero siempre proporciona los logs.

Con esta guía, ya tienes las herramientas para solucionar error 500 como un verdadero SysAdmin. ¡Manos a la obra!

¿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