Thema: Ubuntu – MariaDB – WordPress – Apache – CleanBlogg Theme.
Diese Seite ist nur ein Entwurf und erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit!
Dateirechte im Filesystem am Server
Versionen
- WordPress jedenfalls 4.7 und/bis 5.0.3
Beim Installieren braucht man unter Umständen offenere Rechte als im Normalbetrieb. Nach dem Installieren sollten die Rechte in den einzelnen WordPress-Ordnern strenger gesetzt sein:
root@server/home/user/www/newblog.domain.tdl/wordpress # ls -lias total 196 114167974 4 drwxr-xr-x 5 www-data www-data 4096 Oct 7 14:07 . 113377557 4 drwxrwxr-x 3 user user 4096 Oct 7 12:23 .. 113377566 4 -rw-rw-r-- 1 user user 418 Oct 7 11:35 index.php 113377567 20 -rw-rw-r-- 1 user user 19935 Oct 7 11:35 license.txt 113377600 8 -rw-rw-r-- 1 user user 7344 Oct 7 11:35 readme.html 113377602 8 -rw-rw-r-- 1 user user 5456 Oct 7 11:35 wp-activate.php 113523171 4 drwxr-xr-x 9 www-data www-data 4096 Oct 7 11:41 wp-admin 113377606 4 -rw-rw-r-- 1 user user 364 Oct 7 11:35 wp-blog-header.php 113377612 4 -rw-rw-r-- 1 user user 1477 Oct 7 11:35 wp-comments-post.php 114167977 4 -rw-rw-rw- 1 www-data www-data 3130 Oct 7 12:27 wp-config.php 113377650 4 -rw-rw-r-- 1 www-data www-data 2853 Oct 7 11:35 wp-config-sample.php 113785980 4 drwxr-xr-x 7 www-data www-data 4096 Oct 7 14:44 wp-content 113377654 4 -rw-rw-r-- 1 user user 3286 Oct 7 11:35 wp-cron.php 113378267 12 drwxr-xr-x 17 www-data www-data 12288 Oct 7 11:37 wp-includes 113377722 4 -rw-rw-r-- 1 user user 2382 Oct 7 11:35 wp-links-opml.php 113377740 4 -rw-rw-r-- 1 user user 3353 Oct 7 11:35 wp-load.php 113377852 36 -rw-rw-r-- 1 www-data www-data 34057 Oct 7 11:35 wp-login.php 113377920 8 -rw-rw-r-- 1 user user 7786 Oct 7 11:35 wp-mail.php 113377925 16 -rw-rw-r-- 1 www-data www-data 13920 Oct 7 11:35 wp-settings.php 113377937 32 -rw-rw-r-- 1 www-data www-data 29890 Oct 7 11:35 wp-signup.php 113377942 4 -rw-rw-r-- 1 user user 4035 Oct 7 11:35 wp-trackback.php 113377969 4 -rw-rw-r-- 1 user user 3064 Oct 7 11:35 xmlrpc.php
Für den Normalbetrieb ohne Updates im Backend reicht es, wenn wenn wp-content
dem User www-data
gehört. Alle anderen sollten einem System-User zugeordnet sein, so dass dort für Webzugriffe keine Schreibrechte bestehen. Die betroffenen Zeilen sind oben grün markiert. Sie waren nötig beim Update auf 4.8 und 4.8.3. Je nach Art des Updates im Backend (für WordPress selber, die Plugins, Themen), braucht es auch in weiteren Ordnern/Dateien Schreibrechte.
Der Update-Prozess meckert sofort, wenn etwas nicht passt:
- Es kommt ein Listing der Ordner/Dateien, die schreibberechtigt sein müssen. In diesem Fall sind diese Berechtigungen zu adaptieren.
- Es folgt gar eine Abfrage des FTP-Logins. Dies passiert, wenn für Updates zuerst gezippte Dateien in den Basisordner geladen werden, ggf. muss auch dieser dem User
www-data
gehören. Hier aber nur der Ordner und nicht der gesamte Inhalt!
Man kann unter wp-content/
noch differenzieren, aber solange man Themen oder Plugins installiert ist es besser wenn alle Daten www-data
gehören.
Zusätzliche Sicherungschritte zb. hier:
https://www.drweb.de/magazin/eine-wordpress-installation-korrekt-absichern/.
Error 403 Forbidden
Es handelt sich beim Serverfehler 403 um ein klassisches Ärgernis. Sehr oft hängt es mit den Dateirechten (oben) zusammen, oft mit den sog. RewriteRules, die in der Apache-Konfiguration oder in einer .htaccess
-Datei im Dateisystem bei der WordPress-Installation liegt. Diese RewriteRules werden gebraucht, um schöne URLs zu haben, die unter Einstellungen/Permalinks definiert werden können.
Bei Virtual Hosts (ein Webserver für mehrere Domains) kann eine Basiskonfiguartion des Servers zu streng sein, dass der Inhalt der standardmässigen .htaccess
-Datei ausreicht. Oder wie bei mir letzthin, dass sich gewisse Anweisungen auf unterschiedlichen Ebenen widersprechen. In dem Fall hilft ein Blick in die Apache-Server-Logs (oft unter /var/log/apache2/sub.domain.tld-error.log
).
Das kann dann so aussehen:
[rewrite:error] ... Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions ...
Mit zusätzlichen Optionen kann man die RewriteRules wieder aktivieren. Hier unten ein Beispiel. Grün die Standard-Regeln die WordPress für eine .htaccess
-Datei mitliefert. Blau die Ergänzung um gesperrte RewriteRules im gegebenen Bereich zu ermöglichen. Rot die Bereichsdefinition falls man dieses Regelwerk direkt in der Apache-Konfiguration verwaltet.
<IfModule mod_rewrite.c> <Directory /home/user/sites/sub.domain.tld/wordpress> Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </Directory> </IfModule>

Panoramatafel aus Edelstahl im Regen
No Comments