Fehler 500 im suPHP-Modus: Datei- und Ordnerberechtigungen (chmod)
„Internal Server Error" im suPHP-Modus verstehen und Berechtigungen korrekt einrichten.
500 Internal Server Error ist ein HTTP-Statuscode, der anzeigt, dass der Server läuft, aber auf einen kritischen Fehler gestoßen ist, der die Verarbeitung der Anfrage verhindert.
Wozu suPHP dient
Im Standardmodus mod_php läuft Apache immer unter einem einzigen gemeinsamen Benutzer — nobody. Das ist alles andere als ideal: Falsch konfigurierte Berechtigungen können anderen Benutzern auf demselben Server ermöglichen, Ihre Dateien zu lesen oder sogar zu verändern. Außerdem werden Dateien, die Skripte unter nobody erstellen oder verändern, über FTP nicht mehr lösch- oder bearbeitbar.
suPHP löst beide Probleme, indem es jeden Prozess unter dem tatsächlichen Kontoinhaber ausführt. Ihre Dateien bleiben Ihre.
Korrekte Berechtigungseinstellungen
| Berechtigung | Gilt für | Bedeutung |
|---|---|---|
644 |
Dateien | Inhaber kann schreiben; andere können nur lesen (Standard) |
444 |
Dateien | Nur-Lese-Zugriff für alle, einschließlich eigener Skripte |
755 |
Ordner | Standardzugriff für Ordner (Standard, keine Änderungen nötig) |
Einige wichtige Regeln:
755muss für den Ordner/public_html/your_domaingesetzt sein- Ändern Sie niemals die Berechtigungen von Systemordnern und -dateien wie
stats,logs,.htpasswdoder dem Verzeichnis/domains - Alle Berechtigungsänderungen sollten ausschließlich
/public_html/your_domainund dessen Inhalt betreffen - Setzen Sie niemals
666oder777für Dateien oder Ordner — Skripte werden mit diesen Berechtigungen nicht ausgeführt, und Ihr gesamtes Konto wird dadurch gefährdet
Pro-Tipp
Mit der Berechtigung 644 können nur Skripte, die unter Ihrem eigenen Konto laufen, in Dateien schreiben. Niemand sonst kann es. Für eine zusätzliche Sicherheitsebene können Sie auf 444 wechseln — dann können auch Ihre eigenen Skripte nicht mehr schreiben, obwohl dies völlig optional ist.
Unsere Produkte und Dienste
Häufige Ursachen für den 500 Internal Server Error
Im suPHP-Modus bedeutet ein 500-Fehler fast immer, dass der Server ein Skript aus einem dieser Gründe blockiert hat:
- Eine Datei hat andere Berechtigungen als
644oder444— zum Beispiel666 - Ein Ordner hat andere Berechtigungen als
755— zum Beispiel777 - Ihre
.htaccessenthält Direktiven, die suPHP nicht unterstützt
Nicht unterstützte .htaccess-Direktiven im suPHP-Modus
suPHP unterstützt keine PHP-Umgebungsdirektiven in der .htaccess, darunter php_flag, php_admin_flag, php_value und ähnliche. Wenn Ihre .htaccess etwas wie das Folgende enthält:
php_flag register_globals On
oder auch nur:
display_errors Off
gibt der Server sofort einen 500 Internal Server Error zurück. Entfernen Sie diese Zeilen und konfigurieren Sie PHP-Einstellungen stattdessen über eine benutzerdefinierte php.ini-Datei.
Hilfe
Bei Fragen oder wenn Sie Unterstützung brauchen, erreichen Sie uns jederzeit über das Ticketsystem — wir helfen Ihnen gern weiter!