Probleme mit FTP Besitzrechten via .htaccess umgehen

Bei vielen Webhostern, zum Beispiel All-Inkl, wird bei FTP Rechten zwischen 2 verschiedenen FTP Benutzern unterschieden: dem eigenen FTP Account von All-Inkl und dem PHP-User („www-data“), der von Scripten genutzt wird.
Das Thema hatte ich schonmal in „All-Inkl Besitzrechte (FTP) nach WordPress Umzug“ angegriffen, allerdings auf eine ungünstige Art und Weise.
Den Besitzer der betroffenen Dateien/Ordner von dem FTP Account auf die PHP-User umzustellen mag zwar eine Zeit lang helfen. Wenn man jedoch an dieser Datei/Ordner noch etwas ändern/hinzufügen möchte – dann natürlich wieder mit dem normalen FTP-Benutzer – muss man den Besitzer wieder auf den FTP Account zurücksetzen.

Beispiel: wp-content/plugins/testplugin möchte jede Sekunde eine .log Datei beschreiben. Diese kontinuierlichen Änderungen werden natürlich austomatisch von einem Script getan. Dazu muss das Script also Ändern-Rechte auf diese Datei haben. Meine alte Lösung: Den Besitzer des Ordner ‚testplugin‘ einfach auf den PHP-User „www-data“ setzen und dann hat das Script alle Rechte. Möchte ich jetzt aber eine Datei in diesen ‚testplugin‘ Ordner hochladen oder das Plugin automatisch updaten oder iiirgendetwas in der Art … Pustekuchen, Ende im Gelände.

Neue Lösung:
Ach, .htaccess ist schon ein tolles Ding! Um die Rechte der Scripts anzupassen reicht 1 Zeile:

AddHandler php5-cgi .php

Ersetzt die 5 ggf. mit der PHP Version, die auf eurem Server läuft. Nun haben alle PHP Scripte die nötigen Rechte.
Wenn nur einzelne Dateien von diesen Änderungen betroffen sein sollen könnt ihr auch folgendes machen:

AddHandler php5-cgi .phptest

Und die .php Datei, die Rechte braucht, die Endung .phptest verpassen.
Oder ihr benennt die Datei in .phpx um, dann sollte sie auch ohne jegliche .htaccess Änderungen laufen.

7 Kommentare

  1. Herrje – ich hatte das gleich Problem bei einem befreundeten Blog, dem ich beim Umzug half (kaffeejunkies.at) – beim gleichen Hoster all-inkl.com.

    Ständig hin und herzuswitchen war auf Dauer unbefriedigend. vielen Dank für das Snippet – wie es aussieht, scheint es auch zu funktionieren.

  2. Ich tiftle mit den Rechten nun schon den ganzen Tag herum und erst jetzt finde ich diesen Beitrag.
    Bin von PHP4 MySQL4 auf PHP5 MySQL5 Server umgesiedelt, beim alten Server ging das alles ohne Probleme (bin schon 3 Jahre bei all-inkl.com, und die sind eigentlich wirklich top. Nur das hier hat jetzt echt gefrustet 🙂 )
    Ich geh jetzt einen Trinken!!

    Echt supi!
    Danke es läuft endlich!

  3. Super, danke! Ich brauchte die Kombination aus Besitzer und 755 und PHP 5. (WordPress, all.inkl-Server)
    Die Sache mit PHP5 hatte ich schon gebraucht, damit schöne Permalinks laufen.
    Jetzt geht auch mein Weaver wieder. Es speichert Einstellungen in einem Upload-Ordner, der zwischendurch den falschen Benutzer hatte, wieso auch immer.

    Auf die Permission-Sache war ich schon gekommen, hab aber nicht nach Nutzern geschaut.
    Mal schauen, was als nächstes passiert – ein paar Plugins wollten nicht richtig nach den Permalinks. Ich vermute, dass mein Fehler war, dass ich die PHP5-Zeile nicht hoch im Root-Ordner hatte.

  4. Hallo,
    habe das oben beschriebene bis gestern erfolgreich eingesetzt.
    Nur klappt das seit gestern Abend plötzlich nicht mehr.
    Es geht immer nur eins von beiden, muss also wieder ständig switchen.
    Hat jemand des gleiche Phänomen ?
    Ich verstehe das einfach nicht warum das überhaupt gemacht wird. Bei anderen Hostern ist das gar kein Thema.

Schreibe einen Kommentar