WordPress Dateirechte

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

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 user     user      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

Zum Funktionnieren ohne Updates und Einspielen von Themen reicht es wenn wp-content dem User www-data  gehört. Zum Updates über das Interface (System und Plugins) und zum Einspielen von Themen müssen auch die grün gekennzeichneten Ordner und Dateien dem User  gehören www-data. Diese Angaben gelten für das Update auf WordPress 4.8.

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-Installatin 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>

 

 


Avec ce cadran an inox et sa pointe au centre on pourrait viser et identifier les montagnes, si on les voyait mieux (forte pluie).

No Comments

Leave a Comment