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 :
755doit ê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,.htpasswdou le répertoire/domains - Toutes les modifications de permissions ne doivent concerner que
/public_html/your_domainet son contenu - Ne définissez jamais
666ou777sur 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
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
644ou444— par exemple666 - Un dossier a des permissions autres que
755— par exemple777 - Votre
.htaccesscontient 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 !