Server-Fehler 500 bei der WordPress-Installation (auch bei IONOS/1&1)

Veröffentlicht am

· von Norbert Hofmann

Kurz gesagt: Ein „500 Internal Server Error“ heißt nur: Der Server ist an etwas gescheitert, sagt aber nicht woran. Bei einer frischen WordPress-Installation sind es fast immer vier Dinge: eine ungültige Anweisung in der .htaccess, zu offene Dateirechte (etwa 777), eine zu alte PHP-Version oder ein zu knappes Speicherlimit. Die genaue Ursache steht im Fehlerprotokoll des Servers. Das gilt bei IONOS (früher 1&1) genauso wie bei jedem anderen Hoster.

Die Frage stammt aus einer Zeit, in der viele Pakete von 1&1 standardmäßig noch PHP 4 nutzten und WordPress deshalb scheiterte. Heute heißt der Anbieter IONOS, die PHP-Version lässt sich im Kundenbereich wählen, und die Ursachen sind bei allen Hostern ähnlich. Geh sie der Reihe nach durch.

1. Fehlerprotokoll ansehen

Bevor du rätst, schau nach, was der Server meldet. Bei Plesk findest du die Logs unter Websites & Domains → Logs, bei cPanel unter Metriken → Fehler. IONOS und andere Shared-Hoster bieten je nach Tarif einen Log-Bereich im Kundenmenü oder eine Datei in einem Ordner wie logs im Webspace. Typische Einträge und ihre Bedeutung:

Eintrag im Log (Auszug)UrsacheLösung
Invalid command 'php_value'PHP läuft als FastCGI/PHP-FPM, php_value in der .htaccess ist dort nicht erlaubtZeile entfernen, Wert in .user.ini oder php.ini setzen (Schritt 2)
Invalid command 'RewriteEngine'mod_rewrite nicht aktivHoster fragen, bis dahin .htaccess umbenennen
is writable by group / is writable by othersDateirechte zu offen, suEXEC/suPHP verweigert die AusführungRechte auf 755/644 setzen (Schritt 3)
Allowed memory size of ... exhaustedPHP-Speicherlimit zu kleinLimit erhöhen (Schritt 5)
syntax error, unexpected ... oder Call to undefined functionPHP-Version zu alt oder Datei beschädigtPHP-Version prüfen, Dateien neu hochladen (Schritt 4)
Request exceeded the limit of 10 internal redirectsRewrite-Schleife in der .htaccessStandard-.htaccess verwenden (Schritt 2)

Findest du kein Log, schalte zusätzlich das WordPress-Debug-Log ein (siehe „Für Fortgeschrittene“). Das erfasst allerdings nur Fehler, die PHP überhaupt erreichen, nicht Fehler in der .htaccess.

2. .htaccess prüfen

Die häufigste Ursache überhaupt. Benenne die .htaccess im WordPress-Verzeichnis testweise in htaccess-alt.txt um und lade die Seite neu. Verschwindet der Fehler, lag es an dieser Datei. Die Standardversion für WordPress sieht so aus:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Liegt WordPress in einem Unterordner, passen RewriteBase und die letzte Zeile auf diesen Ordner an (etwa /blog/ und /blog/index.php). Anweisungen wie php_value memory_limit 256M gehören nicht in die .htaccess, wenn PHP als FastCGI läuft, was heute der Normalfall ist. Mehr zu Rewrite-Problemen steht in Permalinkstruktur geändert, kein Zugriff auf die Website.

3. Dateirechte korrigieren

Viele Hoster führen PHP unter deinem eigenen Benutzer aus und verweigern Skripte, die jeder beschreiben darf. Wer nach einem Tipp aus dem Netz alles auf 777 gesetzt hat, bekommt genau deshalb einen 500er. Richtig sind:

  • Ordner: 755
  • Dateien: 644
  • wp-config.php: 640 oder 600, sofern der Server damit klarkommt

In FileZilla markierst du dazu Ordner bzw. Dateien, wählst „Dateiberechtigungen“ und setzt die Werte rekursiv getrennt für Verzeichnisse und Dateien. Hintergründe zu Schreibrechten erklärt Die Datei ist derzeit leider nicht beschreibbar.

4. PHP-Version prüfen und Dateien vollständig hochladen

Aktuelles WordPress läuft zwar noch ab PHP 7.4, empfohlen ist aber PHP 8.3 oder neuer. Bei IONOS stellst du die Version im Kundenbereich für jedes Webhosting-Paket ein, bei Plesk unter „PHP“ der jeweiligen Domain. Wie du die aktive Version herausfindest, zeigt Wie erfahre ich, welche PHP-Version mein Anbieter eingerichtet hat?.

Bricht der FTP-Upload ab, fehlen einzelne Dateien oder sie sind unvollständig, und PHP scheitert daran. Lade das Archiv in diesem Fall als ZIP hoch und entpacke es über den Dateimanager des Hosters, oder lade die Ordner wp-admin und wp-includes komplett neu hoch.

5. Speicherlimit erhöhen

Bei der Installation selbst ist Speicher selten das Problem, direkt danach (Theme mit Demo-Import, große Plugins) aber sehr wohl. Die Lösungswege mit WP_MEMORY_LIMIT, .user.ini und Hoster-Einstellung stehen ausführlich in Allowed memory size exhausted.

Für Fortgeschrittene: Debug-Log, PHP-Einstellungen und Rechte per Shell

WordPress-Debug-Log in der wp-config.php aktivieren. Fehler landen dann in wp-content/debug.log:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

PHP-Werte setzt du bei FastCGI/PHP-FPM über eine .user.ini im WordPress-Verzeichnis. Änderungen greifen erst nach einigen Minuten (Standard für user_ini.cache_ttl sind 300 Sekunden):

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120

Rechte mit SSH-Zugang in einem Rutsch korrigieren:

find . -type d -exec chmod 755 {} +
find . -type f -exec chmod 644 {} +
chmod 640 wp-config.php

Ob PHP überhaupt läuft, prüfst du mit einer Datei test.php mit dem Inhalt <?php echo PHP_VERSION;. Liefert auch sie einen 500er, liegt das Problem außerhalb von WordPress (.htaccess, Rechte, Server). Lösch die Datei nach dem Test wieder.

Passend dazu: Hosterspezifische Stolpersteine, etwa der eigene Datenbank-Server und die PHP-Einstellungen per php.ini, beschreibt WordPress bei STRATO installieren.

Frage dazu? Poste die Zeile aus dem Fehlerprotokoll im WPDE-Forum unter „Fehler & Probleme“, zusammen mit Hoster und PHP-Version. Hosterspezifisches passt auch ins Board „Webhosting & Server“.

Den kompletten Ablauf einer Installation findest du im Hub WordPress installieren, ein allgemeines Vorgehen bei Fehlern in Wie gehe ich am besten vor, wenn Fehler auftreten?.

Häufige Fragen

Der Fehler tritt nur im Dashboard auf, das Frontend läuft. Woran liegt das?

Das Dashboard braucht mehr Speicher als das Frontend (WordPress hebt dort das Limit auf WP_MAX_MEMORY_LIMIT an). Prüfe das Speicherlimit und deaktiviere testweise die Plugins, indem du wp-content/plugins umbenennst.

Kann ich WordPress bei IONOS auch per Klick installieren?

Ja, IONOS bietet wie die meisten Hoster eine Ein-Klick-Installation an. Sie setzt PHP-Version und Datenbank automatisch passend. Die manuelle Installation bleibt sinnvoll, wenn du Datenbank-Präfix, Verzeichnis und Zugangsdaten selbst bestimmen willst.

Was ist der Unterschied zwischen Fehler 500 und „Es gab einen kritischen Fehler“?

Den „kritischen Fehler“ zeigt WordPress selbst an, PHP läuft also, und die Ursache ist meist ein Plugin oder Theme. Ein nackter 500er kommt vom Webserver, häufig bevor WordPress überhaupt startet.

Quellen

Über den Autor: Norbert Hofmann

Norbert betreibt das WPDE-Forum und hat jahrelang im technischen Support eines Webhosters täglich WordPress-Seiten betreut. Heute arbeitet er als Cyber Defense Analyst, hat Sicherheitslücken in WordPress-Plugins gefunden (veröffentlichte CVEs) und engagiert sich mit deepfake.de gegen Betrug mit Deepfakes. Mehr auf norberthofmann.com.

Weitere Antworten