WordPress Remote Updater

Leider muss ich diesen Blog immer wieder manuell aktualisieren, da der Hosting-Dienst, welcher diesen Blog hostet, externe Verbindungen sehr einschränkt. (Ansonsten kann man WordPress so konfigurieren, dass es sich selbst aktualisiert. Das habe ich bei meinen anderen Blog so gemacht.)

Da es vor Kurzem eine dringende Sicherheitsaktualisierung gab und ich diese erst heute eingespielt habe, bin ich zu einer Idee gekommen: Warum nicht ein Skript machen, welches, falls ein Update möglich ist, dieses automatisiert von einem externen Server aus durchführt?

Kurzerhand habe ich dieses Skript auch in Python programmiert und veröffentlicht: https://github.com/CMiksche/wp-remote-updater

Das Skript geht dabei in den folgenden Schritten vor:

  1. Prüfen, ob eine andere WordPress Seite (idealerweise eine Seite, welche sich selbst aktualisiert) eine neuere WordPress Version verwendet.
  2. Ist dies der Fall, wird die aktuelle WordPress Version heruntergeladen.
  3. Danach wird die WordPress Datei entpackt.
  4. Anschließend über FTP hochgeladen.
  5. Danach loggt sich das Skript im Admin-Bereich von WordPress ein.
  6. Nun versucht das Skript, auf den „WordPress-Datenbank aktualisieren“ – Link zu klicken.

Die letzten beiden (5 & 6) Schritte habe ich leider noch nicht testen können, sobald ich das aber kann, wird das Skript bei Fehlern angepasst.

Automatische Updates bei WordPress & Debian

Automatische Updates in Debian:

Wer in Debian automatisch updaten möchte, muss einfach nur den folgenden Befehl ausführen:

su -c "echo -e \"#! /bin/sh\napt-get update && apt-get upgrade -y\" >> /etc/cron.daily/update && chmod a+x /etc/cron.daily/update"

Alternativ geht auch:

nano /etc/cron.daily/update

Und dann:

#! /bin/sh
apt-get update && apt-get upgrade -y

Automatische Updates in WordPress:

In WordPress möchte ich auch automatisch updaten lassen, dazu habe ich heute etwas eingerichtet, von dem ich aber noch nicht weiß, ob es geht, weshalb ich das hier nicht veröffentlichen möchte.

Ich weise allerdings auf diese offizielle WordPress – Seite hin: http://codex.wordpress.org/Configuring_Automatic_Background_Updates

Wovon Automattic keine Ahnung hat …

Nein, ich habe mich nicht verschrieben – „Automattic“ wird tatsächlich mit zwei „t“ geschrieben. Ich meine ja auch nicht „automatic“ also das englische Wort für automatisch, sondern die Firma „Automattic“. Automattic entwickelt das – weltweit beliebteste – Content Management System WordPress.

Ich will Automattic auch nicht schlecht machen – obwohl ich ein eigenes CMS entwickelt habe, läuft ja zum Beispiel auch dieser Blog mit WordPress. Außerdem hat Automattic ja mehr Erfahrung als ich.

Nein, mir geht es um einfache Dinge, die Automattic einfach nicht in WordPress einbaut: Anti-Spam-Funktionen. Klar, Automattic bietet unter anderem ein Plugin für WordPress an, das Spam verhindern soll. Aber dieses Plugin speichert IP-Adressen und ist deshalb in Deutschland auch stark umstritten, außerdem gibt es Nutzer – unter anderem mich – die kein Anti-Spam-Plugin installieren können bzw. wollen.

Es wäre nämlich nicht schwer, eine Anti-Spam-Funktion in WordPress einzubauen: mein CMS ist absolut Spam-frei. Alle Websites, die mit meinem Content Management System erstellt wurden, sind Spam-frei. Ohne eine Installation oder Einrichtung eines Plugins. Und es war nicht schwer, mein CMS sauber zu halten: die meisten Formulare meines CMS enthalten nämlich zwei Formularfelder: „email“ und „hallo“ – diese Namen sehen normale Besucher nicht. Ihnen wird einfach nur ein Feld „Name“, ein Feld „Email“ und ein Feld „Kommentar“ angezeigt, doch für einen Bot heißt das Feld „Email“ „hallo“ und das Feld, das dem normalen Webseitenbesucher nicht angezeigt wird, das heißt „email“.

Wenn jetzt ein Bot seine E-Mail-Adresse unter „email“ einträgt, dann erkennt mein System, dass er ein Bot ist – eben, weil normale Besucher das Feld „email“ nicht sehen.

Hier übrigens ein Tutorial zu dem Thema von mir: Anti Spam Updates + Tutorial

Natürlich könnte dieser einfache Trick durch eine Aktualisierung der Bot /Crawler-Software einfach behoben werden, allerdings könnte WordPress ja einfach die Feldnamen abwechseln (z.B.: durch PHP) und das würde das Problem mit dem Spam beheben.

Ich rege mich deshalb so über das Thema auf, da ich in den letzten Monaten etliche Erkennungssysteme von Bots und Spam-Schutz-Maßnahmen erstellen / installieren / nutzen musste, da ich unter WebPage4.Me natürlich einen Schutz für alle Blogs brauche und Plugins nur den jeweils einzelnen Blog schützen und auch deaktivierbar sind.

Falsches Plugin-Update, vServer Kernel Upgrade?

Falsches Plugin-Update:

Bei Usern von WebPage4.Me kann es die nächste Zeit vorkommen, dass sie ein Update eines Plugins angezeigt bekommen, aber sobald sie darauf klicken, plötzlich alles aktuell ist.

Der Grund dafür ist ganz einfach: das Plugin Akismet sorgt dafür, dass Spam-Kommentare verschwinden. Allerdings speichert Akismet auch IP Adressen und andere Daten von den Besuchern und deshalb müssten WordPress-Nutzer, die Akismet verwenden, die Besucher darauf hinweisen.

Da ich allerdings schon selber ein paar Skripte installiert habe, die Spam vermeiden sollen und auf allen Userseiten von WebPage4.Me eingebunden werden, wäre es sinnlos, das Plugin weiter zu verwenden (obwohl verwenden das falsche Wort ist: das Plugin war ohnehin schon deaktiviert), deshalb habe ich es gelöscht.

Allerdings ist es noch im Cache von WordPress vorhanden, weshalb manche User „falsche“ Aktualisierungsanzeigen bekommen, die allerdings bei einem Klick auf „Update“ verschwinden sollten.

vServer Kernel Upgrade?

Ich habe heute ernsthaft versuchen wollen, bei meinen (OpenVZ) vServer den Kernel upzugraden. – Ich wunderte mich aber, warum mein Server mir den Kernel nicht verraten wollte. – Der Grund dafür ist einfach: unter OpenVZ ist kein Kernel-Upgrade bei einem virtuellen Server möglich. (Peinlich, dass ich das erst herausfinden musste …)

Friday – Fail …

Heute habe ich festgestellt, das WordPress eine eigene Funktion zum Hosting anbietet: WordPress Multisite (MS) – ich verwende unter WebPage4.Me zurzeit ein selbst erstelltes PHP-Skript (für das ich Monate gebraucht habe) …

… allerdings hat mein Script auch einen großen Vorteil: mir ist es möglich, meinen Usern mehrere Content Management Systeme anzubieten (das mache ich zwar noch nicht, habe es aber vor).

Da sich viele Firmen für meine Bewerbungsunterlagen interessieren, bin ich jetzt wenigstens sicher, dass ich bald einen Ausbildungsvertrag unterzeichnet habe.