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:

  • 755 muss für den Ordner /public_html/your_domain gesetzt sein
  • Ändern Sie niemals die Berechtigungen von Systemordnern und -dateien wie stats, logs, .htpasswd oder dem Verzeichnis /domains
  • Alle Berechtigungsänderungen sollten ausschließlich /public_html/your_domain und dessen Inhalt betreffen
  • Setzen Sie niemals 666 oder 777 fü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

WebhostingLäuft auf ultraschnellen NVMe-Laufwerken. Geeignet für Websites jeder Komplexität.
Bestellen
VPSFlexible Cloud-Infrastruktur mit vollem Root-Zugriff.
Bestellen
Dedizierte ServerBare-Metal-Server für maximale Leistung.
Bestellen

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 644 oder 444 — zum Beispiel 666
  • Ein Ordner hat andere Berechtigungen als 755 — zum Beispiel 777
  • Ihre .htaccess enthä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!

Hilfe benötigt?Unsere Ingenieure helfen Ihnen kostenlos bei jeder Frage in wenigen MinutenKontaktieren Sie uns