500 Interner Serverfehler: Ursachen und Behebung

Ein 500 Internal Server Error ist eines der häufigsten Probleme, auf die Website-Besitzer und Administratoren stoßen. Er signalisiert, dass auf dem Server etwas schiefgelaufen ist – bietet jedoch keine präzisen Diagnosen. Dieser Artikel erklärt, was typischerweise einen 500-Fehler auslöst und wie Sie ihn beheben können.
Mögliche Ursachen eines 500er-Fehlers
Ein 500-Fehler kann aus vielen Gründen auftreten. Die häufigsten sind:
- Serverseitige Ressourcenprobleme
Oft kann ein Fehler 500 durch technische Probleme auf dem Server verursacht werden, wie z. B. mangelnde Ressourcen (RAM, CPU-Zeit).
- Fehler im Website-Code
Skripte oder Website-Code können Fehler enthalten, die zu einem Absturz führen. Dies kann auf falsche Anfragen, Fehler in Konfigurationsdateien oder Probleme mit der Interaktion von Website-Komponenten zurückzuführen sein.
- Probleme mit der .htaccess-Datei
Die .htaccess-Datei wird zur Konfiguration des Webbrowsers verwendet und kann Fehler enthalten, die zu einem 500-Fehler führen. Falsche Weiterleitungsregeln oder falsche Parameter können beispielsweise zu einem Absturz führen.
- Kürzliche Updates
Fehler können nach Updates der Website oder Serveranwendungen auftreten, bei denen Änderungen nicht korrekt gehandhabt wurden.
Einen 500er-Fehler beheben
- Webserver-Protokolle prüfen
Um die Ursache eines 500-Fehlers zu ermitteln, ist der erste Schritt die Überprüfung der Serverprotokolle. Diese Protokolle enthalten normalerweise Informationen über den Fehler – ob es sich um einen Codefehler, eine Fehlkonfiguration oder ein Problem auf Serverebene handelt. Es ist jedoch wichtig zu verstehen, dass Webserver-Protokolle (wie die von Nginx oder Apache) oft nur das Auftreten des Fehlers und den Antwortcode aufzeichnen, nicht aber die Grundursache. Dies gilt insbesondere für Nginx, das normalerweise als Proxy fungiert und den Fehler einfach von der Backend-Anwendung weiterleitet.
Abhängig vom verwendeten Webserver können sich die Protokolle in den folgenden Verzeichnissen befinden:
Apache:
-
Ubuntu/Debian:
/var/log/apache2/error.log -
CentOS/AlmaLinux/Rocky Linux:
/var/log/httpd/error.log
Nginx:
/var/log/nginx/error.log
Wenn Ihr Server über ein Control Panel wie FASTPANEL verwaltet wird, wird die Anzeige von Protokollen noch einfacher. Um dies zu tun:
-
Melden Sie sich im Control Panel an.
-
Öffnen Sie die Site-Karte und suchen Sie den Bereich „Logs“.
-
Der Tab „Frontend Error Log“ enthält Nginx-Webserver-Fehler, während der Tab „Backend Error Log“ Apache-Fehler enthält.
Beachten Sie, dass viele CMS und Frameworks (WordPress, Laravel, Joomla usw.) eigene Fehlerprotokolle führen. Diese Protokolle liefern oft genauere Informationen über die Ursache eines 500-Fehlers. Schlagen Sie in der Dokumentation Ihrer Plattform nach, um herauszufinden, wo diese Protokolle gespeichert sind.
Protokolle geben Ihnen mit hoher Wahrscheinlichkeit detaillierte Einblicke in das, was schiefgelaufen ist. Wenn der 500-Fehler durch Fehlkonfigurationen oder Code-Probleme ausgelöst wird, können Sie die Dateien – oder sogar die genauen Zeilen – sehen, die den Fehler verursachen.
- PHP-seitige Fehlerprotokollierung aktivieren
Um detailliertere Diagnosen zu erhalten, aktivieren Sie die Protokollierung direkt in PHP – besonders nützlich, wenn der Fehler im Code auftritt und nicht in den Webserver-Protokollen erscheint.
Setzen Sie dazu die folgenden Werte in der php.ini-Datei:
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
Hier:
-
display_errors– unterdrückt die Ausgabe von Fehlern im Browser -
log_errors– schreibt Fehler in eine Protokolldatei -
error_log– Pfad zur Protokolldatei (PHP muss Schreibberechtigungen haben)
Typische Speicherorte für php.ini:
-
Debian/Ubuntu:
/etc/php/*/apache2/php.inioder/etc/php/*/cli/php.ini -
CentOS/AlmaLinux:
/etc/php.ini
Oder finden Sie sie über:
php -i | grep "php.ini"
In FASTPANEL: Öffnen Sie die Site-Karte → „PHP Settings“, suchen Sie nach Variablen wie display_errors, ändern Sie deren Werte und klicken Sie auf „Save“.
- Die .htaccess-Datei überprüfen
Wenn der Fehler nach der Bearbeitung von .htaccess auftrat, setzen Sie die Datei auf ihren vorherigen Zustand zurück.
Wenn Sie nicht sicher sind, was genau geändert wurde, benennen Sie .htaccess vorübergehend um (z. B. in .htaccess.bak) – wenn der Fehler verschwindet, liegt das Problem in dieser Datei.
In diesem Fall versuchen Sie, die .htaccess-Datei aus einem Backup wiederherzustellen, falls vorhanden, oder verwenden Sie die Standard-.htaccess-Datei für Ihr CMS, die Sie hier erhalten können.
- Dateiberechtigungen und Eigentümerschaft überprüfen
Falsche Berechtigungen können einen 500er auslösen. Stellen Sie sicher, dass das Stammverzeichnis der Website und alle Unterdateien die richtigen Rechte und den richtigen Besitzer haben:
ls -laR /pfad/zum/website/stammverzeichnis
Empfohlene Berechtigungen:
-
Für Verzeichnisse: 755 – Lesen, Schreiben und Ausführen für den Eigentümer; Lesen und Ausführen für alle anderen.
-
Für Dateien: 644 – Lesen und Schreiben für den Eigentümer; nur Lesen für alle anderen.
Besitzverhältnisse:
Dateien und Ordner sollten dem Webserver-Benutzer gehören (z. B. www-data oder apache).
Bei Bedarf können Sie Berechtigungen und Besitzverhältnisse mit den folgenden Befehlen anpassen:
- Wechseln Sie in das Stammverzeichnis Ihrer Website:
cd /pfad/zum/stammverzeichnis/website
- Setzen Sie die korrekten Besitzverhältnisse und Berechtigungen:
sudo chown -R ihrwebsitebenutzer:ihrwebsitebenutzer . && sudo chmod 644 . -R && sudo chmod +X . -R
Ersetzen Sie yoursiteuser durch den tatsächlichen Benutzer und die tatsächliche Gruppe, denen Ihre Website gehört.
- Plugins und Themes deaktivieren.
Bei CMS-gesteuerten Websites wie WordPress tritt ein 500-Fehler häufig aufgrund von Plugin- oder Theme-Konflikten auf. Deaktivieren Sie alle Plugins und wechseln Sie zu einem Standard-Theme, um zu sehen, ob das Problem dadurch behoben wird.
- Sicherstellen, dass der Server über ausreichend freie Ressourcen für Ihre Websites verfügt.
- Prüfen Sie, ob Sie genügend freien Festplattenspeicher haben:
sudo df -h
- Prüfen Sie, ob dem Server die Inodes nicht ausgegangen sind:
sudo df -ih
- Prüfen Sie, ob der Server genug RAM hat:
sudo free -mh
- Prüfen Sie die aktuelle CPU-Auslastung:
sudo ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
- Alternativ öffnen Sie den Prozessmonitor mit dem Befehl:
sudo top
Wenn Ihnen der Speicherplatz oder die Inodes ausgegangen sind, können Sie anhand der Anweisungen im entsprechenden Artikel ermitteln, welche Dateien und Verzeichnisse den meisten Speicherplatz verbrauchen.
Wenn RAM oder CPU-Auslastung übermäßig hoch sind, können die Ursachen variieren. Beginnen Sie Ihre Untersuchung, indem Sie Suchmaschinen-Bots blockieren, da diese häufig die Ursache für erhöhte Auslastung sind.
- Sicherstellen, dass die DBMS einwandfrei funktioniert.
Am häufigsten ist dies MySQL; nachfolgend finden Sie einige schnelle Schritte, um zu überprüfen, ob Ihre Datenbanken in Ordnung sind.
- Bestätigen Sie, dass der MySQL-Dienst läuft:
sudo systemctl status mysql
- Überprüfen Sie das MySQL-Fehlerprotokoll:
sudo grep -i error /var/log/mysql/error.log
- Überprüfen Sie alle Datenbanken auf Fehler:
mysqlcheck -A -c
Wenn Fehler gefunden werden, stellen Sie zunächst sicher, dass Sie Sicherungskopien der betroffenen Datenbanken haben. Erstellen Sie bei Bedarf einen Dump mit:
mysqldump -u [benutzer] -p [datenbankname] > /pfad/zur/datei/dump.sql
-
Ersetzen Sie
[user]durch den MySQL-Benutzernamen. -
Ersetzen Sie
[database_name]durch den Namen der Datenbank, die Sie exportieren möchten. -
/path/to/dump.sqlist der Pfad, unter dem die Dump-Datei gespeichert wird.
Führen Sie anschließend die Fehlerkorrektur mit mysqlcheck aus:
mysqlcheck -A --auto-repair -c
- Kontaktieren Sie Ihren Hosting-Anbieter.
Wenn Sie das Problem nicht identifizieren können, kann es sich lohnen, den Support Ihres Hosting-Anbieters zu kontaktieren. Dies kann helfen, Probleme auf dem Server zu identifizieren, die auf Benutzerebene nicht sichtbar sind. Wie Sie den richtigen Hosting-Anbieter auswählen, erfahren Sie in diesem Artikel.
Fazit
Fehler 500 ist kein Urteil für Ihre Website. Mithilfe grundlegender Diagnosewerkzeuge können Sie schnell die Ursache ermitteln und das Problem beheben. Wenn Sie sich Ihrer Fähigkeiten nicht sicher sind, können Sie sich jederzeit an Spezialisten wenden. Es ist wichtig zu bedenken, dass ein rechtzeitig erkannter und behobener Fehler 500 Ihnen hilft, zukünftig schwerwiegendere Probleme zu vermeiden.