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

Cómo solucionar el error 500 Internal Server Error en Linux

Actualizado el 20 de enero de 2026

¿Qué es el error 500 Internal Server Error en Linux?

El error 500 linux es uno de los mensajes más temidos por cualquier persona que administra un sitio web. Cuando lo ves en tu navegador, significa que el servidor encontró una condición inesperada que le impidió completar la solicitud. En términos simples: el servidor está funcionando, pero algo dentro de la configuración o del código está fallando.

A diferencia de otros errores HTTP que tienen causas claras (como el 404 que indica "página no encontrada"), el internal server error es genérico. Esto lo hace más difícil de diagnosticar, pero no imposible. La buena noticia es que en la mayoría de los casos, la solución es bastante sencilla si sigues un orden lógico de revisión.

Lo primero que debes saber es que este error no distingue entre sistemas operativos, pero en Linux hay herramientas específicas que te ayudarán a encontrar la causa raíz. Además, dependiendo de si usas un panel de control como cPanel o Plesk, o si administras tu servidor directamente por terminal, el proceso puede variar ligeramente.


Causas más comunes del error 500 en Linux

Antes de lanzarte a solucionar, es útil entender qué lo provoca. Estas son las causas más frecuentes:

  • Permisos incorrectos en archivos o directorios: El servidor web necesita permisos específicos para leer y ejecutar archivos. Si están mal configurados, todo falla.
  • Errores en el archivo .htaccess: Una directiva mal escrita o un módulo inexistente puede romper la configuración.
  • Problemas con PHP: Versiones incompatibles, memoria insuficiente o errores de sintaxis en tu código.
  • Configuración defectuosa del servidor web: Apache o Nginx con directivas incorrectas.
  • Problemas con bases de datos: Conexiones agotadas o credenciales incorrectas.
  • Espacio en disco insuficiente: El servidor no puede escribir archivos temporales.
  • Módulos o extensiones corruptas: Especialmente en entornos con paneles como cPanel o Plesk.

Paso 1: Verifica los logs del servidor (la clave del diagnóstico)

Esta es la parte más importante. Sin los logs, estarás adivinando a ciegas. Los logs guardan el error exacto que está ocurriendo.

### Revisar logs en Apache

Abre tu terminal y ejecuta:

sudo tail -n 50 /var/log/apache2/error.log

Si usas CentOS o RHEL, la ruta puede variar:

sudo tail -n 50 /var/log/httpd/error_log

### Revisar logs en Nginx

sudo tail -n 50 /var/log/nginx/error.log

[TIP] Si no sabes qué servidor web usas, ejecuta sudo apache2ctl -v o sudo nginx -v. El que responda es el que tienes instalado.

### Logs en cPanel y Plesk

Si usas cPanel, los logs están en:

/usr/local/apache/logs/error_log

Para Plesk:

/var/log/plesk/php/error.log

Busca la última línea con la fecha de hoy. Ahí verás el error exacto, como PHP Fatal error: Allowed memory size exhausted o Invalid command 'RewriteEngine'.


Paso 2: Comprueba los permisos de archivos y directorios

Los permisos incorrectos son la causa más común del error 500 linux. El servidor web necesita permisos específicos para funcionar.

Los permisos correctos generalmente son:

  • Archivos: 644 (lectura y escritura para el propietario, lectura para el grupo y otros)
  • Directorios: 755 (lectura, escritura y ejecución para el propietario, lectura y ejecución para el grupo y otros)

### Cómo corregir permisos desde terminal

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

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

[WARNING] Asegúrate de que el propietario de los archivos sea el usuario correcto del servidor web (generalmente www-data en Ubuntu o apache en CentOS). Ejecuta chown -R www-data:www-data /ruta/a/tu/sitio si es necesario.

### Permisos en cPanel

Si usas cPanel, el usuario debe tener permisos como usuario:usuario. Puedes cambiarlos desde el Administrador de Archivos del panel, seleccionando todos los archivos y ajustando los permisos a 755 para carpetas y 644 para archivos.

### Permisos en Plesk

En Plesk, puedes usar la opción "Permisos de archivos" en el Administrador de Archivos del dominio, o usar SSH si tienes acceso root.


Paso 3: Revisa el archivo .htaccess

El archivo .htaccess es una fuente frecuente de internal server error. Un error de sintaxis o una directiva no soportada rompe todo.

### Cómo probar si el .htaccess es el problema

  1. Renombra el archivo temporalmente:
mv .htaccess .htaccess.bak
  1. Recarga tu sitio web. Si el error desaparece, el problema está en el .htaccess.

  2. Restaura el archivo y edítalo línea por línea hasta encontrar el error.

### Errores comunes en .htaccess

  • Directivas mal escritas (ej: RewriteCond en lugar de RewriteCond)
  • Módulos no habilitados (ej: mod_rewrite desactivado)
  • Rutas incorrectas en reglas de reescritura

[INFO] Si usas WordPress, puedes copiar el .htaccess original desde el código de WordPress y volver a configurar los permalinks desde el panel de administración.


Paso 4: Revisa la configuración de PHP

PHP puede estar fallando por varias razones. El error más común es la falta de memoria.

### Aumentar el límite de memoria PHP

Edita el archivo php.ini:

sudo nano /etc/php/8.1/apache2/php.ini

Busca la línea memory_limit y cámbiala a:

memory_limit = 256M

Guarda, reinicia Apache:

sudo systemctl restart apache2

### Errores de sintaxis en PHP

Si el error ocurre solo en una página específica, revisa el código PHP de esa página. Puedes verificar la sintaxis desde terminal:

php -l /ruta/al/archivo.php

Te dirá si hay errores de sintaxis y en qué línea.

### Versión de PHP en cPanel y Plesk

En cPanel, ve a "Select PHP Version" y prueba cambiar a una versión diferente (ej: de PHP 8.0 a 8.1). En Plesk, ve a "PHP Settings" dentro de tu dominio y prueba otra versión.


Paso 5: Comprueba el espacio en disco y la memoria

Un disco lleno puede causar error 500 linux porque el servidor no puede escribir archivos temporales o de sesión.

### Verificar espacio en disco

df -h

Si alguna partición está al 90% o más, necesitas liberar espacio. Revisa los logs grandes y archivos temporales:

sudo du -sh /var/log/*

### Verificar memoria RAM

free -h

Si la memoria está al límite, considera aumentar el memory_limit de PHP o reiniciar los servicios.

[TIP] Un truco rápido: reinicia Apache o Nginx. A veces libera memoria y resuelve el error temporalmente.

sudo systemctl restart apache2
# o
sudo systemctl restart nginx

Paso 6: Revisa la configuración de Apache o Nginx

A veces el error viene del propio servidor web.

### Verificar configuración de Apache

sudo apache2ctl configtest

Te dirá si hay errores de sintaxis. Si los hay, revisa los archivos en /etc/apache2/sites-available/.

### Verificar configuración de Nginx

sudo nginx -t

### Módulos deshabilitados

Si el error menciona un módulo específico (ej: mod_rewrite), habilítalo:

sudo a2enmod rewrite
sudo systemctl restart apache2

Paso 7: Solución de errores específicos en cPanel

Si usas cPanel, hay causas adicionales:

### Error por límite de recursos

Revisa si tu plan tiene límites de memoria o CPU. Puedes verificar en "Resource Usage" del panel.

### Actualizar EasyApache

A veces el perfil de Apache está desactualizado. Ve a "EasyApache 4" y actualiza el perfil.

### Reconstruir el .htaccess

Si el problema es el .htaccess, puedes crear uno nuevo desde el Administrador de Archivos.

[WARNING] No edites archivos de configuración de cPanel directamente si no sabes lo que haces. Usa las herramientas del panel siempre que sea posible.


Paso 8: Solución de errores específicos en Plesk

En Plesk, el proceso es similar pero con algunas diferencias:

### Revisar el registro de errores desde el panel

Ve a "Logs" en tu dominio y filtra por errores 500.

### Restablecer la configuración de PHP

En "PHP Settings", haz clic en "Restore Default" y prueba de nuevo.

### Verificar permisos desde el panel

Usa el Administrador de Archivos de Plesk y revisa los permisos de los archivos.

[INFO] Si usas Syspanel (antes conocido como HestiaCP), el puerto de acceso al panel es el 2106. Aunque menos común, sigue la misma lógica: revisa logs en /var/log/syspanel/ y permisos desde el Administrador de Archivos.


Paso 9: Revisa conexiones a la base de datos

Si tu sitio usa MySQL o MariaDB, un error de conexión puede mostrar un 500.

### Verificar que MySQL esté corriendo

sudo systemctl status mysql
# o
sudo systemctl status mariadb

### Probar conexión desde terminal

mysql -u usuario -p -h localhost

### Aumentar límite de conexiones

Si el error dice Too many connections, edita /etc/mysql/my.cnf:

max_connections = 200

Reinicia MySQL:

sudo systemctl restart mysql

Paso 10: Último recurso: desactivar plugins o temas (WordPress)

Si usas WordPress, un plugin o tema incompatible es la causa más común del internal server error.

### Cómo desactivar plugins sin entrar al panel

Renombra la carpeta de plugins:

cd /ruta/a/tu/sitio/wp-content
mv plugins plugins_old
mkdir plugins

Tu sitio cargará sin plugins. Si funciona, el problema es uno de ellos. Ve activándolos uno a uno.

### Cambiar a un tema por defecto

cd /ruta/a/tu/sitio/wp-content/themes
mv tu-tema tu-tema-bak

WordPress usará el tema por defecto.


Preguntas frecuentes sobre el error 500

### ¿Por qué aparece el error 500 en mi sitio Linux?

Las causas más comunes son permisos incorrectos, errores en .htaccess, problemas de PHP o configuración del servidor web.

### ¿Cómo solucionar el error 500 en cPanel?

Revisa los logs de error, verifica permisos, comprueba el .htaccess y usa la herramienta "Select PHP Version" para cambiar la versión de PHP.

### ¿Cómo solucionar el error 500 en Plesk?

Usa el Administrador de Archivos para revisar permisos, revisa los logs del dominio y restablece la configuración de PHP desde el panel.

### ¿El error 500 es culpa de mi hosting?

No necesariamente. En la mayoría de los casos es un problema de configuración del sitio, no del servidor. Pero si nada funciona, contacta con tu proveedor.

### ¿Cuánto tiempo se tarda en solucionar?

Entre 10 minutos y 2 horas, dependiendo de la causa. Los problemas de permisos son los más rápidos de resolver.


Conclusión: resumen de pasos rápidos

Para solucionar error 500 de forma metódica:

  1. Revisa los logs (el 90% de las veces te dirán el problema exacto)
  2. Verifica permisos de archivos y directorios
  3. Prueba renombrando el .htaccess
  4. Aumenta el memory_limit de PHP
  5. Reinicia Apache o Nginx
  6. Comprueba espacio en disco y memoria RAM
  7. Si usas WordPress, desactiva plugins y temas

[TIP FINAL] Si después de todo esto el error persiste, contacta con tu proveedor de hosting. Puede ser un problema del servidor que no puedes ver desde tu cuenta. Ten a mano los logs de error para acelerar el proceso de soporte.

Recuerda que el error 500 linux es frustrante pero casi siempre solucionable. Con paciencia y siguiendo estos pasos, tu sitio volverá a estar en línea en poco tiempo.

¿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