Erreur 500 en mode suPHP : permissions des fichiers et dossiers (chmod)

Comprendre l'« Internal Server Error » en mode suPHP et configurer correctement les permissions.

500 Internal Server Error est un code de statut HTTP indiquant que le serveur fonctionne, mais qu'il a rencontré une erreur critique l'empêchant de traiter la requête.

À quoi sert suPHP

Dans le mode standard mod_php, Apache tourne toujours sous un unique utilisateur partagé — nobody. C'est loin d'être idéal : des permissions mal configurées peuvent permettre à d'autres utilisateurs du même serveur de lire, voire de modifier vos fichiers. De plus, lorsque des scripts créent ou modifient des fichiers sous nobody, ces fichiers deviennent impossibles à supprimer ou à éditer via FTP.

suPHP résout ces deux problèmes en exécutant chaque processus sous le compte du propriétaire réel. Vos fichiers restent les vôtres.

Paramètres de permissions corrects

Permission S'applique à Signification
644 Fichiers Le propriétaire peut écrire ; les autres peuvent seulement lire (par défaut)
444 Fichiers Lecture seule pour tous, y compris vos propres scripts
755 Dossiers Accès standard aux dossiers (par défaut, aucune modification nécessaire)

Quelques règles importantes :

  • 755 doit être défini sur le dossier /public_html/your_domain
  • Ne modifiez jamais les permissions des dossiers et fichiers système tels que stats, logs, .htpasswd ou le répertoire /domains
  • Toutes les modifications de permissions ne doivent concerner que /public_html/your_domain et son contenu
  • Ne définissez jamais 666 ou 777 sur des fichiers ou dossiers — les scripts ne s'exécuteront pas avec ces permissions, et l'ensemble de votre compte sera mis en danger

Conseil

Avec les permissions 644, seuls les scripts s'exécutant sous votre propre compte peuvent écrire dans les fichiers. Personne d'autre ne le peut. Pour une couche de sécurité supplémentaire, vous pouvez passer à 444 — vos propres scripts ne pourront alors plus écrire non plus, bien que cela soit entièrement facultatif.

Nos produits et services

Hébergement webFonctionne sur des disques NVMe ultra-rapides. Convient aux sites de toute complexité.
Commande
VPSInfrastructure cloud flexible avec accès root complet.
Commande
Serveurs dédiésServeurs physiques pour une performance maximale.
Commande

Causes fréquentes de l'erreur 500 Internal Server Error

En mode suPHP, une erreur 500 signifie presque toujours que le serveur a bloqué un script pour l'une de ces raisons :

  • Un fichier a des permissions autres que 644 ou 444 — par exemple 666
  • Un dossier a des permissions autres que 755 — par exemple 777
  • Votre .htaccess contient des directives que suPHP ne prend pas en charge

Directives .htaccess non prises en charge en mode suPHP

suPHP ne prend pas en charge les directives d'environnement PHP dans .htaccess, notamment php_flag, php_admin_flag, php_value et similaires. Si votre .htaccess contient quelque chose comme :

php_flag register_globals On

ou même simplement :

display_errors Off

Le serveur renverra immédiatement une 500 Internal Server Error. Supprimez ces lignes et configurez les paramètres PHP via un fichier php.ini personnalisé à la place.

Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter