An und für sich ist die Installation von WordPress schnell gemacht. Wenn der Hoster nicht direkt eine One-Click-Installation bietet, dann hilft das WordPress-eigene Installationsscript durch die Grundkonfiguration. Eine Sache bleibt hierbei jedoch meist auf der Strecke: Die Datei- und Ordnerrechte. Wenn diese falsch gesetzt sind, kann es zu vielerlei Problemen kommen.
Sind die Berechtigungen zu restriktiv gesetzt, lassen sich weder Updates noch Plugins installieren oder der Dateiupload streikt. Sind sie zu „locker“ gesetzt, bieten sie eine hervorragende Einladung für Hacker und potentielle Angreifer. Deshalb möchte ich nachfolgend meine „WordPress Berechtigungsstrategie“ offenbaren, mit der ich bisher sehr gut gefahren bin. Dabei zeige ich euch einmal, wie man die WordPress-Berechtigungen in der Shell setzen kann und einmal wie man die WordPress-Berechtigungen per FTP setzt.
WordPress-Berechtigungen per Shell setzen
Wenn ihr Shell-Zugriff auf euren Server habt, dann führt folgende vier Befehle in der Shell aus.
1 2 3 4 |
cd /var/www/mein-wordpress chown www-data:www-data -R * find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \; |
In der ersten Zeile müsst ihr das „/var/www/mein-wordpress“ durch den Pfad eurer WordPress-Installation ersetzen. In der zweiten Zeile müsst ihr ggf. das „www-data“ durch den User ersetzen, in dessen Kontext euer Webserver/PHP läuft.
WordPress-Berechtigungen per FTP setzen
Wenn ihr keinen Shell-Zugriff auf euren Server habt (z.B. wenn ihr euren Webspace bei einem Sharehoster angemietet habt), dann könnt ihr die Berechtigungen auch per FTP-Programm setzen. Da jedes FTP-Programm eine etwas andere Oberfläche hat, beschreibe ich die Schritte nur allgemein. Solltet ihr Probleme bei der Übertragung meiner allgemeinen Anweisungen auf eurer spezielles FTP-Programm haben, hinterlasst mir einen Kommentar.
- Loggt euch per FTP auf eurem Webspace ein
- Wechselt in das WordPress-Verzeichnis
- Ändert den Besitzer (falls möglich) aller Dateien und Ordner auf „www-data“ bzw. den User, in dessen Kontext euer Webserver läuft.
- Setzt die Ordnerberechtigungen (CHMOD) für alle Ordner inkl. Unterordner (d.h. rekursiv) auf 755.
- Setzt die Dateiberechtigungen für alle Dateien inkl. den Dateien in Unterordnern auf 644.