Solucionar error 500 en cPanel o Plesk
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a desentrañar uno de los mensajes de error más temidos, pero también más comunes en el mundo del hosting: el temido error 500. No te preocupes, es mucho más sencillo de solucionar de lo que parece.
Este error, también conocido como "Error interno del servidor", es la forma que tiene tu servidor web de decir: "Algo salió mal, pero no sé exactamente qué". Es un mensaje genérico que puede tener muchas causas, pero con un método paso a paso podrás identificarlo y solucionarlo. Vamos a ver cómo hacerlo tanto en cPanel como en Plesk, los dos paneles de control más populares.
¿Qué es exactamente un error 500?
Imagina que tu sitio web es una máquina expendedora. Tú introduces una moneda (el visitante hace clic en un enlace) y esperas que te dé un refresco (la página web). Un error 500 sería como si la máquina se quedara atascada, hiciera un ruido extraño y te mostrara un mensaje de "Error interno". No sabes si la moneda está mal, el motor está roto o el producto está atascado. El error 500 es esa "caja negra" del servidor web.
Las causas más comunes son:
- Archivos .htaccess corruptos o mal escritos: Es el archivo de configuración de Apache. Un error de sintaxis o una directiva incorrecta puede provocar un error 500.
- Permisos de archivos incorrectos: Los archivos y carpetas de tu sitio necesitan permisos específicos para ser leídos y ejecutados. Si están mal, el servidor no puede acceder a ellos.
- Problemas con PHP: Una versión de PHP incompatible con tu script (WordPress, Joomla, etc.), un plugin o tema defectuoso, o un límite de memoria excedido.
- Scripts con errores: Un script PHP con un error de sintaxis o que consume demasiados recursos.
- Problemas del servidor (menos común): A veces, el problema es del propio servidor (memoria, CPU, etc.), pero normalmente lo notarás primero en tu panel de control.
[WARNING] No te asustes. El error 500 es temporal y no suele implicar pérdida de datos. Lo importante es actuar con calma y seguir los pasos.
Paso 1: Lo primero, ¡no te pongas nervioso!
Antes de tocar nada, haz esto:
- Refresca la página (F5): A veces es un error momentáneo.
- Prueba en otro navegador o en modo incógnito: Descarta problemas de caché de tu navegador.
- Comprueba si es solo una página o todo el sitio: Si es solo una página, el problema está en esa página o en su configuración. Si es todo el sitio, es más global.
Si el error persiste, pasamos a la acción.
Paso 2: La clave de todo: los logs del servidor
Para solucionar error 500, necesitas un detective: los logs del servidor. Son archivos de texto donde el servidor registra todo lo que ocurre, incluyendo los errores. Aquí es donde verás la causa real.
### Cómo encontrar los logs en cPanel
- Inicia sesión en tu cPanel.
- Busca la sección "Métricas" o "Logs" (el nombre puede variar según la versión).
- Haz clic en "Visor de errores" o "Error Log".
- Verás una lista de errores recientes. Busca los que tengan la fecha y hora de cuando viste el error 500. El mensaje típico será algo como:
[error] [client IP] ... Premature end of script headers...oPHP Fatal error: ....
### Cómo encontrar los logs en Plesk
- Inicia sesión en tu Plesk.
- Ve a "Sitios web y dominios".
- Haz clic en el nombre de tu dominio.
- Busca la sección "Logs" o "Registros". Normalmente hay un enlace directo.
- Dentro, busca el "Error log" (a veces llamado
error_log). También puedes acceder a él por FTP, en la raíz de tu sitio web, con el nombreerror_log.
[TIP] Si no ves los logs en el panel, puedes acceder a ellos por FTP. El archivo de error suele llamarse
error_logy está en la raíz de tu sitio. Si no existe, puede que esté en una carpetalogsdentro de tu cuenta.
Paso 3: Soluciones prácticas según la causa (basadas en logs)
Ahora que tienes el log, vamos a interpretarlo y solucionarlo.
### Solución 1: Archivo .htaccess corrupto (muy común)
Síntoma en el log: Verás algo como Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration o un error similar.
Solución:
- Conéctate por FTP a tu cuenta de hosting.
- Localiza el archivo
.htaccessen la raíz de tu sitio (normalmente enpublic_htmlohttpdocs). - Renómbralo a algo como
.htaccess_oldo.htaccess_backup. Esto lo desactivará temporalmente. - Comprueba tu web. Si el error 500 desaparece, el problema está en ese archivo.
- Crea uno nuevo: Ve a tu panel de control (cPanel o Plesk) y, si usas WordPress, ve a Ajustes > Enlaces permanentes y haz clic en "Guardar cambios". Esto regenerará el .htaccess automáticamente. Si no usas WordPress, crea uno básico desde cero.
Ejemplo de .htaccess básico para WordPress:
# 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
### Solución 2: Permisos de archivos incorrectos
Síntoma en el log: Verás errores como Permission denied o Unable to open file.
Solución:
Los permisos correctos para la mayoría de los archivos son 644 y para las carpetas 755. Nunca uses 777 (permisos totales) por seguridad.
- Conéctate por FTP.
- Selecciona todos los archivos y carpetas de la raíz de tu sitio.
- Establece permisos: La mayoría de los clientes FTP tienen una opción "Permisos de archivos" o "CHMOD". Pon 644 para archivos y 755 para carpetas. Algunos clientes permiten hacerlo recursivamente (aplicar a todo).
- Si no sabes cómo hacerlo recursivamente, hazlo manualmente para las carpetas principales (wp-content, wp-admin, etc.) y luego dentro de ellas.
[INFO] En cPanel, puedes usar el "Administrador de archivos" para cambiar permisos haciendo clic derecho sobre el archivo/carpeta y seleccionando "Cambiar permisos".
### Solución 3: Problemas con PHP (versión, plugins, memoria)
Síntoma en el log: Verás PHP Fatal error: Uncaught Error: Call to undefined function... o PHP Fatal error: Allowed memory size of XXX bytes exhausted....
Solución:
- Cambia la versión de PHP:
- En cPanel: Busca "Selector de versión de PHP" o "MultiPHP Manager". Prueba con una versión superior (ej. de 7.4 a 8.0 o 8.1) o inferior, según lo que soporte tu script.
- En Plesk: Ve a "Sitios web y dominios" > tu dominio > "PHP Settings". Allí puedes cambiar la versión.
- Aumenta el límite de memoria PHP:
- En cPanel (MultiPHP Manager): Hay una opción para modificar
memory_limit. Ponlo a 256M o 512M. - En Plesk: En "PHP Settings", busca
memory_limity aumenta el valor.
- En cPanel (MultiPHP Manager): Hay una opción para modificar
- Desactiva plugins o temas (si usas WordPress, Joomla, etc.):
- Por FTP: Renombra la carpeta
wp-content/pluginsawp-content/plugins_old. Si el error desaparece, renómbrala de nuevo y ve reactivando plugins uno por uno hasta encontrar el culpable. - Por cPanel/Plesk: Si tienes acceso a la base de datos, puedes desactivar plugins desde phpMyAdmin (es más avanzado, mejor usa FTP).
- Por FTP: Renombra la carpeta
### Solución 4: Scripts con errores (tema o plugin personalizado)
Síntoma en el log: Verás PHP Parse error: syntax error, unexpected... en un archivo específico.
Solución:
- Localiza el archivo que aparece en el error del log (ej.
/public_html/wp-content/themes/mi-tema/functions.php). - Conéctate por FTP y descarga ese archivo.
- Ábrelo con un editor de texto plano (como Notepad++ o Sublime Text). Nunca uses Word.
- Busca el error. El log te dirá la línea exacta. Revisa si falta un punto y coma (
;), una llave (}), o una comilla. - Corrige el error y sube el archivo de nuevo. Si no sabes programar, contacta al desarrollador del tema/plugin.
Paso 4: Soluciones avanzadas (si nada funciona)
Si después de todo lo anterior el error 500 persiste, prueba esto:
### Restaurar una copia de seguridad
Si tienes una copia de seguridad reciente de tu sitio (desde cPanel o Plesk), restáurala. Esto te devolverá a un estado anterior donde el sitio funcionaba.
### Contactar al soporte de hosting
Si has hecho todo lo posible y el error sigue, contacta al soporte de tu empresa de hosting. Ellos tienen acceso a logs más profundos del servidor y pueden identificar problemas de configuración del servidor (como módulos de Apache desactivados, problemas de memoria, etc.). Diles que has seguido estos pasos y que necesitas que revisen los logs del servidor a nivel de sistema.
Preguntas Frecuentes (FAQ)
P: ¿El error 500 puede afectar a mi SEO?
R: Sí, si el error se mantiene durante mucho tiempo. Google puede interpretar que tu sitio no está disponible. Pero si lo solucionas en unas horas, no suele tener un impacto grave.
P: ¿Puedo evitar el error 500?
R: Sí, en parte. Mantén tu script (WordPress, etc.) actualizado, usa plugins y temas de fuentes confiables, y haz copias de seguridad periódicas. También es buena idea no tocar archivos de configuración como .htaccess si no sabes lo que haces.
P: ¿Qué hago si no encuentro los logs?
R: En algunos hostings muy básicos, los logs pueden estar desactivados. En ese caso, contacta al soporte. Otra opción es crear un archivo phpinfo.php en la raíz con el contenido <?php phpinfo(); ?> y acceder a él en tu navegador. Si te da error 500, el problema es de PHP.
P: ¿Y si uso Syspanel (HestiaCP)?
R: Si usas Syspanel (que es el nombre que le damos a HestiaCP), el acceso a los logs es similar. Accede a tu panel a través del puerto 2106 (ejemplo: https://tudominio.com:2106). Dentro, ve a la sección de tu dominio y busca "Logs" o "Error log". Los pasos para solucionar el error son exactamente los mismos que para cPanel o Plesk.
Resumen rápido
- No te asustes.
- Revisa los logs del servidor (cPanel: Visor de errores; Plesk: Logs del dominio; Syspanel: Logs del dominio).
- Identifica la causa (archivo .htaccess, permisos, PHP, script).
- Aplica la solución correspondiente.
- Si no funciona, restaura una copia de seguridad o contacta al soporte.
Espero que este artículo te haya sido de gran ayuda. Recuerda que el error 500 es un problema común y, con un poco de paciencia y siguiendo estos pasos, podrás solucionar error 500 en cuestión de minutos. ¡Mucho ánimo y a seguir navegando!
