Error 500 en modo suPHP: permisos de archivos y carpetas (chmod)

Qué es el «Internal Server Error» en modo suPHP y cómo configurar correctamente los permisos.

500 Internal Server Error es un código de estado HTTP que indica que el servidor está en funcionamiento, pero ha encontrado un error crítico que le impide procesar la solicitud.

Para qué sirve suPHP

En el modo estándar mod_php, Apache siempre se ejecuta bajo un único usuario compartido — nobody. Esto está lejos de ser ideal: unos permisos mal configurados pueden permitir que otros usuarios del mismo servidor lean o incluso modifiquen tus archivos. Además, cuando los scripts crean o modifican archivos bajo nobody, esos archivos se vuelven imposibles de eliminar o editar por FTP.

suPHP resuelve ambos problemas ejecutando cada proceso bajo el propietario real de la cuenta. Tus archivos siguen siendo tuyos.

Configuración correcta de permisos

Permiso Se aplica a Significado
644 Archivos El propietario puede escribir; los demás solo pueden leer (predeterminado)
444 Archivos Solo lectura para todos, incluidos tus propios scripts
755 Carpetas Acceso estándar a carpetas (predeterminado, no se necesitan cambios)

Algunas reglas importantes:

  • 755 debe estar establecido en la carpeta /public_html/your_domain
  • Nunca cambies los permisos de carpetas y archivos del sistema como stats, logs, .htpasswd o el directorio /domains
  • Todos los cambios de permisos deben afectar únicamente a /public_html/your_domain y su contenido
  • Nunca establezcas 666 o 777 en archivos o carpetas — los scripts no se ejecutarán con estos permisos y pondrás en riesgo toda tu cuenta

Consejo

Con permisos 644, solo los scripts que se ejecutan bajo tu propia cuenta pueden escribir en los archivos. Nadie más puede hacerlo. Para una capa adicional de seguridad, puedes cambiar a 444 — en ese caso ni siquiera tus propios scripts podrán escribir, aunque esto es completamente opcional.

Nuestros servicios y productos

HostingFunciona en discos NVMe ultrarrápidos. Apto para sitios web de cualquier complejidad.
Pedir
VPSParámetros ajustables y configuración flexible del SO. Administración gratuita incluida.
Pedir
Servidores dedicadosDisponibles diversas configuraciones Supermicro con procesadores Intel y AMD.
Pedir

Causas frecuentes del error 500 Internal Server Error

En el modo suPHP, un error 500 casi siempre significa que el servidor bloqueó un script por uno de estos motivos:

  • Un archivo tiene permisos distintos de 644 o 444 — por ejemplo, 666
  • Una carpeta tiene permisos distintos de 755 — por ejemplo, 777
  • Tu .htaccess contiene directivas que suPHP no admite

Directivas .htaccess no admitidas en el modo suPHP

suPHP no admite directivas de entorno PHP dentro de .htaccess, entre ellas php_flag, php_admin_flag, php_value y similares. Si tu .htaccess contiene algo como:

php_flag register_globals On

o incluso simplemente:

display_errors Off

El servidor devolverá inmediatamente un 500 Internal Server Error. Elimina estas líneas y configura los ajustes de PHP mediante un archivo php.ini personalizado.

Ayuda

¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!

¿Necesitas ayuda?Nuestros ingenieros te ayudarán gratuitamente con cualquier pregunta en minutosContáctanos