Wordpress und Plugins automatisch aktualisieren ohne den FTP-Dialog

Ich dachte lange Zeit das Verhalten von Wordpress, nach einem Klick auf "automatisch aktualisieren" (Siehe Bild 1 - "automatisch aktualisieren ohne korrekte Rechte") einen Dialog einzublenden, in dem man FTP-Zugangsdaten eingeben muss um das zuvor am PC heruntergeladene ZIP-Archiv mit der neuen Pluginversion auf seinen Server hochzuladen (Siehe Bild 2 - "FTP-Abfragemaske"), seie der Standard und die einzige Methode, die diese Funktion anbietet, um ein Plugin auf eine neue Version zu aktualisieren. War für mich natürlich extrem blöd, da ich gar keinen FTP Dienst hier auf meinem Server benötige. Was ich hoch- und herunterladen möchte, transferiere ich per SCP. Ein Einfallstor weniger, deutlich sicherer da von Haus aus verschlüsselt und solche Features wie Up-/Downloadquota benötige ich ohnehin nicht.

[caption id="attachment_782" align="aligncenter" width="289" caption="automatisch aktualisieren ohne korrekte Rechte"]automatisch
aktualisieren ohne korrekte
Rechte{.size-medium .wp-image-782 width="289" height="300"}[/caption]

[caption id="attachment_783" align="aligncenter" width="289" caption="FTP-Abfragemaske"]FTP-Abfragemaske{.size-medium .wp-image-783 width="289" height="300"}[/caption]

Das dieses die einzige Methode ist ist jedoch garnicht der Fall! Ja, nicht einmal um die Standardvariante handelt es sich; das ganze ist schon eine Fallback-Funktion. Hat man sein WordPress richtig konfiguriert, wird man garnicht nach FTP Zugangsdaten gefragt, sondern Wordpress läd die Datei selbstständig von der Wordpress-Seite des Plugins herunter, deaktiviert es, überschreibt die alte Version mit der neuen und aktiviert diese anschließend wieder. Es hält sich somit an seine eigenen Empfehlungen und könnte komfortabler nicht sein.

Warum klappt es jedoch bei so vielen nicht und wieso können einem auf Nachfrage die meisten Experten nichtmal sagen warum beim einen das Autoupdate und beim anderen die FTP-Datenabfrage kommt? Die Antwort auf die zweite Frage habe ich selber nicht parat, aber die Antwort auf die erste versuche ich im folgendem zu geben und versuche das ganze so leicht verständlich wie möglich zu halten.

Der Webserver ist an sich auch nur ein Programm, welches als ein bestimmter User läuft. Der Webserver darf also auch immer nur auf genau die Ressourcen zugreifen (und mit den entsprechenden Rechten), wie es ein User auf der Shell, der als dieser User angemeldet ist, auch dürfte. Als welcher User/Gruppe der Webserver laufen soll, legt man beispielsweise beim Apache mit den Optionen "User" und "Group" fest. Im folgenden gehe ich exemplarisch davon aus, das es sich hierbei bei beidem um "apache2" handelt.
Dementsprechend muss ein Verzeichnis in dem der Webserver Dateien ablegen, verändern oder entfernen soll, auch mit den entsprechenden Rechten für diesen User versehen werden. Für Wordpress' Plugins wäre dieses das Verzeichnis "wp-content/plugins/". Selbstverständlich muss der User apache2 in diesem, sowie dessen Unterverzeichnisse für Dateien mindestens 644 und für Verzeichnisse mindestens 755 Rechte haben. Selbiges gilt jedoch natürlich für alle anderen Verzeichnisse, in denen der Webserver Daten ändern können muss, wie "wp-content/themes" oder "wp-content/uploads" gleichermaßen.
Jedoch war dieses immer schon so bei mir, und dennoch habe ich den zuvor genannten FTP-Datenabfrage - Dialog erhalten.

Der Knackpunkt ist, das die Datei "wp-admin/update.php" dem User gehören muss, als der der Webserver läuft. Es genügt nicht das dieser User einfach sämtliche benötigten Rechte auf diese Datei haben muss, sie muss ihm tatsächlich gehören! Einen durch Berechtigungen gerechtfertigten Grund hierfür gibt es nicht, die Routine ist schlichtweg so programmiert. Selbstverständlich könnte man dieses Stück Code verändern, nur muss man das dann nach jedem Core - Update wiederholen. Grundsätzlich lässt man von sowas die Finger!

Ist also beides gegeben, passende lese-/schreibrechte in den genannten Verzeichnissen, sowie das Eigentumsrecht auf die Datei "wp-admin/update.php", funktioniert es auch mit dem auto-Update!

[caption id="attachment_784" align="aligncenter" width="289" caption="Funktionierendes Wordpress Plugin-Auto-Update"]Funktionierendes Wordpress
Plugin-Auto-Update{.size-medium .wp-image-784 width="289" height="300"}[/caption]

Vielen Dank an dieser Stelle an Stefan David, der auf seinem Blog-Beitrag nach Monaten als einziger in der Lage war, dieses Phänomen mal aufzudröseln! :)

Teilen per: TwitterEmail


Meine liebsten Firefox Extensions

Jedes Mal, wenn ich mir ein System neu installiere, suche ich mir mühselig in meinem Kopf wieder meine Standard Plugins für den Firefox zusammen.

Hier erstelle ich mal eine Linksammlung, damit ich demnächst alles an einem Ort verlinkt habe. Evtl. interessieren den einen oder anderen ja auch ein paar davon.

ScrapBook

Mit ScrapBook kann man schnell und ziemlich einfach eine im Browser angezeigte Seite "wie sie ist" auf der Festplatte abspeichern. Praktisch um sie offline nochmal ansehen zu können oder wenn gerade kein Drucker verfügbar ist.

FlashGot

Bietet einem ein erweitertes Kontextmenü um Downloadlinks an seinen Downloadmanager zusenden. Man kann auch mehrere Links auf einmal verarbeiten lassen und vieles mehr.
Interessant in diesem Zusammenhang auch der Downloadmanager FlashGet für Windows.

Live HTTP Headers

Eher interessant für Webserver Administratoren: Hiermit kann man die Kommunikation zwischen dem Webbrowser und dem Webserver beobachten. Man kann sehen wie die Anforderung die gesendet wird genau aussieht und wie der Webserver antwortet, etc. Auch Umleitungen und ähnliches erkennt man so sehr gut.

Mouse Gestures

Man kann so Mausbewegungen einer bestimmten Aktion zuordnen. Z.B. "Rechte Maustaste + Maus nach links" = Zurück, "Rechte Maustaste + hoch" = Neuer Tab, etc. Ich benutze nur 4 : Hoch, runter, links und rechts für Neuer Tab, Tab schliessen, zurück und vor. Wer mag, kann sich gerne diese Datei in den Profilordner des Firefox kopieren und hat genau diese Funktionen.

PageStyle2Tab

Lässt den Firefox ein wenig schöner aussehen, indem die Tabs der Seiten den selben Stil bekommen, wie der Seitenhintergrund.

Session Manager

Hiermit kann man sich beliebig viele Unterfenster als Profile speichern. Wenn man z.B. jeden morgen eh dieselben Seiten aufruft (News, Daily-Comic, Sonstwas ...) muss man nur das jeweile Profil laden und alle Fenster werden geöffnet.
Ausserdem fängt das Plugin ziemlich zuverlässig Abstürze ab, so das man bei einem Neustart des Browsers das zuletzt gecrashte Fenster wieder herstellen lassen kann.

Web Developer

Zeigt eine sehr Hilfreiche Toolleiste unterhalb der Links an, mit denen man praktische Einstellungen sehr schnell einsehen und verändern kann wie z.B. den Cache deaktivieren, Stylesheet ändern, usw.

TYPO3 Workbench

Dieses Plugin ist nur was für Leute, die mit Typo3 arbeiten. Es bietet schnellen Zugriff auf das Backend, eine Suche für das Extension Repository und vieles mehr.

Ich hoffe diese Empfehlungen helfen dem einen oder anderem :)

Teilen per: TwitterEmail