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

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

Actualizado el 22 de diciembre de 2025

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

El error 500 linux o internal server error 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. Es decir, el servidor está funcionando, pero algo dentro de tu aplicación o configuración falló silenciosamente.

A diferencia de un error 404 (que indica que la página no existe) o un 403 (acceso denegado), el 500 es genérico: no te dice exactamente qué falló. Por eso, solucionar error 500 requiere un proceso de diagnóstico metódico. La buena noticia es que en la mayoría de los casos, la causa es algo sencillo como un archivo con permisos incorrectos o un error de sintaxis en un archivo de configuración.

Si trabajas con cPanel, el proceso de diagnóstico es muy similar al de cualquier servidor Linux, pero con herramientas adicionales que te facilitan la vida. A lo largo de esta guía, te explicaré paso a paso cómo identificar y corregir este problema, tanto desde la interfaz gráfica como desde la terminal.


Paso 1: Lo primero, revisa los registros de errores (logs)

Antes de tocar nada, necesitas saber qué está fallando exactamente. El error 500 no te da detalles, pero los logs del servidor sí los tienen. Aquí te muestro dónde encontrarlos en cada entorno.

En cPanel

  1. Entra a tu panel de control de cPanel con tu usuario y contraseña.
  2. Busca la sección Métricas o Registros (según la versión, puede variar).
  3. Haz clic en "Errores de error" o "Registros de errores".
  4. Verás una lista de los últimos errores registrados. Busca los que tengan fecha y hora reciente.

El archivo de logs más común en cPanel es error_log, que se encuentra en la raíz de tu cuenta. Si tienes acceso a Administrador de archivos, puedes verlo directamente:

  1. Ve a Administrador de archivos.
  2. Busca el archivo error_log en el directorio raíz de tu sitio (normalmente public_html).
  3. Ábrelo y mira las últimas líneas.

En un servidor Linux sin panel

Si no usas cPanel, tendrás que acceder por SSH:

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

O si usas Nginx:

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

El comando tail -f te muestra las últimas líneas en tiempo real. Si el error ocurre mientras ejecutas este comando, verás aparecer el mensaje de error en pantalla.


Paso 2: Permisos de archivos y directorios

La causa más común del error 500 linux son los permisos incorrectos. Cada archivo y directorio en tu servidor tiene un conjunto de permisos que indican quién puede leer, escribir o ejecutar. Si los permisos son demasiado restrictivos o demasiado permisivos, el servidor puede fallar.

Permisos correctos que debes usar

  • Directorios: 755 (rwxr-xr-x)
  • Archivos: 644 (rw-r--r--)
  • Archivos ejecutables (como scripts PHP): 755

Cómo corregirlos desde cPanel

  1. Entra al Administrador de archivos.
  2. Selecciona todos los archivos y carpetas de public_html.
  3. Haz clic en Permisos en la barra superior.
  4. Cambia los directorios a 755 y los archivos a 644.
  5. Aplica los cambios.

Cómo corregirlos desde SSH

Si prefieres la terminal, puedes usar estos comandos:

find /ruta/a/tu/sitio -type d -exec chmod 755 {} \;
find /ruta/a/tu/sitio -type f -exec chmod 644 {} \;

[WARNING] Ten cuidado con los archivos que necesitan permisos especiales, como los archivos de configuración de WordPress que a veces requieren 600 o 400. Si tu sitio usa WordPress, los permisos de los archivos wp-config.php deben ser 600 para mayor seguridad.


Paso 3: Revisa los archivos .htaccess

El archivo .htaccess es un archivo de configuración que controla cómo Apache maneja las solicitudes. Si tiene una sintaxis incorrecta o contiene directivas incompatibles, puede provocar un internal server error.

Cómo verificar el .htaccess

  1. Ve al Administrador de archivos en cPanel.
  2. Asegúrate de que tengas activada la opción "Mostrar archivos ocultos" (punto en la esquina superior derecha).
  3. Busca el archivo .htaccess en la raíz de tu sitio.
  4. Ábrelo y revisa su contenido.

Si sospechas que el .htaccess es el problema, la solución más rápida es renombrarlo:

mv .htaccess .htaccess.bak

Luego intenta cargar tu sitio. Si ya no aparece el error 500, entonces el problema estaba en ese archivo. Puedes ir restaurando las reglas una a una para identificar cuál causaba el conflicto.

Reglas comunes que causan errores

  • Directivas de redirección mal escritas.
  • Reglas de reescritura (mod_rewrite) con sintaxis incorrecta.
  • Límites de memoria o tiempo de ejecución demasiado bajos.

Paso 4: Errores de PHP y configuración

Si tu sitio usa PHP (como la mayoría de sitios con WordPress, Joomla o PrestaShop), un error en el código o en la configuración de PHP puede provocar el error 500.

Aumentar el límite de memoria de PHP

A veces, el script simplemente se queda sin memoria. Puedes aumentar el límite desde cPanel:

  1. Ve a Configuración de PHP (o "Select PHP Version").
  2. Busca la opción memory_limit y auméntala a 256M o 512M.
  3. Guarda los cambios.

Errores de sintaxis en tus scripts

Si has editado recientemente un archivo PHP y aparece el error 500, es muy probable que haya un error de sintaxis. Puedes verificar esto desde la terminal:

php -l archivo.php

Este comando te dirá si hay errores de sintaxis y en qué línea están.

Versiones de PHP incompatibles

Si cambiaste la versión de PHP recientemente, puede ser que tu código no sea compatible. En cPanel, puedes cambiar la versión desde Configuración de PHP y probar con diferentes versiones (7.4, 8.0, 8.1, etc.).


Paso 5: Espacio en disco y límites de recursos

Un servidor sin espacio libre o con límites de recursos agotados puede responder con un error 500. Esto es más común de lo que piensas.

Verificar el espacio en disco

En cPanel, ve a Estadísticas o Uso de disco para ver cuánto espacio te queda. Si estás al 100%, libera espacio eliminando archivos temporales, copias de seguridad antiguas o logs innecesarios.

Desde SSH, puedes usar:

df -h

Límites de recursos (inodes)

Además del espacio en disco, tu hosting tiene un límite de inodos (número de archivos). Si lo superas, el servidor puede fallar. En cPanel, puedes ver esto en la sección de Estadísticas.


Paso 6: El archivo de configuración de tu aplicación

Si tu sitio usa un CMS como WordPress, Joomla o PrestaShop, el archivo de configuración principal puede tener errores.

En WordPress

El archivo wp-config.php contiene la configuración de la base de datos. Si tiene datos incorrectos o está dañado, el sitio no funcionará. Puedes restaurarlo desde una copia de seguridad o reemplazarlo con uno nuevo.

En PrestaShop

El problema suele estar en config/settings.inc.php. Verifica que las credenciales de la base de datos sean correctas.


Paso 7: Problemas con la base de datos

Una base de datos corrupta o con demasiadas conexiones también puede provocar un error 500. Si tu sitio muestra el error solo al hacer acciones que implican consultas a la base de datos, el problema puede estar ahí.

En cPanel

  1. Ve a phpMyAdmin.
  2. Selecciona tu base de datos.
  3. Haz clic en la pestaña "Reparar" (o "Repair") para intentar arreglar tablas corruptas.

Desde SSH

mysqlcheck -u usuario -p --auto-repair base_de_datos

Paso 8: Verifica si el problema es de tu hosting

Si después de todos estos pasos el error persiste, puede que el problema sea del servidor en sí. Algunas causas comunes:

  • El servicio de Apache o Nginx se detuvo.
  • El servidor está sobrecargado.
  • Hay un firewall bloqueando conexiones.

En este caso, contacta a tu proveedor de hosting y proporciona los logs de error que encontraste en el paso 1. Ellos podrán verificar el estado de los servicios y solucionar el problema a nivel de infraestructura.


Paso 9: Herramientas avanzadas de diagnóstico

Si nada de lo anterior funciona, aquí tienes algunas herramientas avanzadas que te pueden ayudar a diagnosticar error 500:

Activar el modo de depuración en WordPress

Agrega estas líneas a tu archivo wp-config.php:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Esto creará un archivo debug.log en tu carpeta wp-content con los errores detallados.

Usar la terminal para ver errores en tiempo real

tail -f /home/usuario/logs/error_log

Tabla rápida de causas y soluciones

CausaSíntomaSolución
Permisos incorrectosError en todas las páginasCambiar permisos a 755/644
.htaccess corruptoError al cargar cualquier páginaRenombrar el .htaccess
Error de sintaxis PHPError después de editar un archivoRevisar con php -l
Límite de memoria PHPError en operaciones pesadasAumentar memory_limit
Espacio en disco llenoError aleatorioLiberar espacio
Base de datos corruptaError en acciones específicasReparar desde phpMyAdmin

Preguntas frecuentes (FAQ)

¿El error 500 puede desaparecer solo?

A veces sí, si es un problema temporal (como un pico de tráfico o un reinicio del servidor). Pero si persiste más de unos minutos, necesitas investigar.

¿Qué diferencia hay entre error 500 y error 503?

El 503 indica que el servidor está disponible pero temporalmente sobrecargado. El 500 es un error interno del servidor, no necesariamente por sobrecarga.

¿Puedo evitar futuros errores 500?

Sí, manteniendo tus scripts actualizados, haciendo copias de seguridad regulares y monitoreando los logs de errores periódicamente.

¿Qué hago si uso Syspanel en lugar de cPanel?

Si tu servidor usa Syspanel (antes conocido como HestiaCP), el proceso es muy similar. Accede a través del puerto 2106 con tu navegador:

https://tu-servidor:2106

Dentro encontrarás opciones para ver logs, cambiar permisos y configurar PHP, muy parecido a cPanel. La lógica de diagnóstico es exactamente la misma que te he explicado.


Conclusión

El error 500 linux puede parecer intimidante, pero como has visto, casi siempre tiene una solución clara. El proceso de solucionar error 500 se reduce a: revisar logs, verificar permisos, comprobar el .htaccess, revisar la configuración de PHP y asegurarte de que no haya problemas de recursos.

[INFO] Recuerda: la paciencia es clave. No cambies demasiadas cosas a la vez, porque si algo sale mal, no sabrás qué lo causó. Haz cambios de uno en uno y verifica después de cada modificación.

Si has seguido todos los pasos y el error persiste, no dudes en contactar con tu proveedor de hosting. Ellos tienen acceso a los logs del servidor a nivel raíz y pueden identificar problemas que tú no puedes ver desde tu cuenta.

Espero que esta guía te haya sido útil. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte a resolverla. ¡Buena suerte con tu sitio web!

¿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