WordPress Upgrade Version 3.1.1

Mit der Version 3.1.1 wird die Sicherheit von WordPress nochmals verbessert. Abseits dessen sorgen diverse Anpassungen für eine bessere Performance. Genaueres zu diesem Thema kann man hier nachlesen: http://wordpress.org/news/2011/04/wordpress-3-1-1/.

WordPress-Deutschland liefert wie immer das komplette Paket in Deutsch. Wenn man bereits eine Version 3.1 laufen hat, kann man sich auch ein Upgradepaket herunterladen.

Genauers hier: http://wordpress-deutschland.org/download/

WordPress 2.8.5 erschienen

Sicherheitsupgrade

Hauptsächlich der Härtung der Version 2.8.4 widmet sich das neue Update von WordPress (2.8.5). Als Download ist es wie immer zu finden unter: http://wordpress-deutschland.org/

Da es von Version 2.8.4 auf Version 2.8.5 keine Datenbankänderungen gegeben hat, kann auch das Upgradepaket verwendet werden, welches ebenso von WordPress Deutschland zur Verfügung gestellt wird. Die Dateien können per FTP über eine bestehende Installation einfach „drüberkopiert“ werden.

WordPress Installation

Die Testumgebung steht

Gerade habe ich mir überlegt, ob ich hier noch ein paar Zeilen darüber „verlieren“ will, wie man auf dem -im vorhergehenden Artikel- installierten LAMP Server WordPress (Aktuell in Version 2.8.4) installiert. Einerseits ist die Installation des beliebten und sehr ausgereiften Blogging-Systems so einfach, dass man fast nichts falsch machen kann, andererseits  hab ich mir nun so nen schönen LAMP-Server eingerichtet 😉

Was braucht man? (Kurzversion)

  • Ausgangsbasis ist ein funktionierender LAMP-Server, der in der Standardinstallation vorliegt.
  • Das Rootverzeichnis des Webserver (für die Webseiten) liegt auf /var/www
  • Für die Testinstallation wird ein Verzeichnis /var/www/wordpress angelegt (Achtung Berechtigungen!)
  • Auch notwendig ist eine leere Mysql-Datenbank, die relativ einfach per phpmyadmin anzulegen ist
  • Ein nächster wichtiger Punkt ist die Anlage eines Mysql-User, der ausschließlich auf die WordPress-Datenbank zugreifen darf. Dies sollte nie der root User sein! (root darf bekanntlich alles). Die Anlage des User inkl. Rechtevergabe lässt sich mit phpmyadmin erledigen.
  • Es erfolgt der Download der aktuellsten WordPressversion (wie immer von: http://wordpress-deutschland.org/)
  • Die Zip-Datei wird entpackt und per FTP Client auf den Webspace kopiert. In der Testumgebung sind die Dateien in das Verzeichnis /var/www/wordpress zu kopieren.
  • Fast schon am Ziel! Die WordPressinstallation wird per Webbrowser -> Adresse: localhost/wordpress gestartet, die wenigen Fragen (Benutzername, Passwort, Datenbankname…) beantwortet.
  • Alles glatt gelaufen, WordPress teilt das momentane Passwort des WordPressstandarduser (admin) mit.
  • Einloggen, Passwort ändern, los gehts

Detaillierter Installationsvorgang

Auf geht’s in den Konsole (Terminal). Diese Aktionen sind als root auszuführen:

  • mkdir /var/www/wordpress (Return) (Erstellung WordPressverzeichnis unter /var/www)
  • chgrp www-data /var/www/wordpress (Gruppe www-data als „Besitzer“ des WordPressverzeichnis setzen)
  • chown <Username> /var/www/wordpress (Standarbenutzer als „Besitzer“ des WordPressverzeichnis setzen. Könnte z.B. ein vorhandener FTP User sein)

Datenbank und User anlegen

Per Webbrowser loggt man sich mit dem User root und dem gewählten MySql Passwort in phpmyadmin ein. (localhost/phpmyadmin):

wordpress_dbanlageWie im Screenshot ersichtlich, soll die Datenbank „wordpress2“ heissen. Als Zeichensatz wähle ich hier „utf8_general_ci“. Ein Klick auf „Anlegen“ vollendet die Aktion und legt die leere Datenbank an.

wordpress_dbanlage_okGut, weiter gehts. Es wird noch ein User benötigt. Ich erwähne hier abermals, dass man NIE mit dem User root diverse Datenbankverbindungen (egal welche Art der Website bzw. welches CMS, Bloggingsystem…) herstellen soll. In der lokalen Umgebung mag das ja egal sein, im Internet sieht das aber anders aus.

Durch einen Klick auf das Häuschensymbol (ganz links unter dem Schriftzug phpMyAdmin im GUI) gelangt man wieder auf die Startseite von phpmyadmin. Es folgt ein Klick auf den Reiter „Rechte“ (im rechten Bereich des Fensters):

dbuser_anlegen

Die Textfelder werden ausgefüllt. Bei Host ist Lokal zu wählen. Ein beliebiges Passwort für den User (hier dbuser) kann gewählt werden. Es wird keine Datenbank für den Benutzer erstellt. Ebenso wird bei Globale Rechte NICHTS angehakt. Durch Klick auf Ok, ist nun auch das erledigt. Der User ist angelegt.

Nun bekommt der User „dbuser“ seine Datenbank. Die Aktion läuft abermals über den Reiter „Rechte“. Wie man sieht, ist der user „dbuser“ angelegt und hat als Berechtigung noch „Usage“. Usage steht für keine Berechtigungen. Rechts in der Zeile des User „dbuser“ hat man die Möglchkeit, die Rechte durch Klick auf das Symbol zu bearbeiten (Klick auf das Bild um es zu vergrößern):

Rechte_aendern

Auswahl der für WordPress erstellten Datenbank:

db_wordpress_wahl

Häkchen wählen, um die Rechte zu setzen:

Rechte_dbuser_setzenIch habe hier bei Struktur alle Häkchen gesetzt, da sonst die WordPressinstallation nicht erfolgreich abgeschlossen werden kann. (Es muss ermöglicht werden, dass die Installationsprozedur Tabellen anlegt, befüllt verändert…)

Abschluss der Rechtevergabe durch Klick auf OK im Fenster Datenbankspezifische Rechte.

WordPress download / Installation

Wie ganz oben im Artikel erwähnt lade ich WordPress  von WordPress-Deutschland herunter. Die Zipdatei wird entpackt und der entpackte Inhalt nach /var/www/wordpress kopiert. Beim Kopiervorgang muss beachtet werden, dass (wenn man als root kopiert) Die Berechtigungen eventuell auf Besitzer root Gruppe root geändert werden. Dies kann einerseits vermieden werden in dem dem Befehl cp der Parameter -a mitgegeben wird, andererseits kann man jedoch die Dateiberechtigungen auch nachträglich setzen.

Ein Kopiervorgang von Konsole könnte zb so aussehen (Quellverzeichnis: /home/user/wp28, Ziel /var/www/wordpress):

  • cd /home/user/wp28 (Return)
  • cp -a -r -v * /var/www/wordpress (Return)

Dies hat zur Folge, dass die Daten zwar in /var/www/wordpress landen, jedoch der Besitzer der User „user“ ist und die Gruppe ebenso auf „user“ steht.

Ein Umsetzen des Besitzers (chown) der Gruppe (chgrp) erfolgt so:

  • am besten als User root!
  • cd /var/www/wordpress (Return)
  • chown -R -v user * (Return)
  • chgrp -R -v www-data * (Return)

Alle Dateien / Verzeichnisse besitzt nun „user“ als Gruppe ist „www-data“ eingetragen. Zuguter letzt setzen wir für alle Ordner und Dateien noch die Zugriffsrechte für user und www-data auf 670, was soviel heißt wie, dass der Benutzer „user“ lesen und schreiben  darf, die Gruppe www-data lesen, schreiben und ausführen dürfen.

Entweder ist es schon zu spät, aber ich dachte, dass es eigentlich mit den Berechtigungen 660 auch gehen müsste. Dies führt jedoch zu einem Access Denied und die Error.log des Apache meldet ein Zugriffsproblem auf die index-Datei – wieso, entzieht sich zu später Stunde meiner Kenntnis…?

  • wieder als User root!
  • cd /var/www/wordpress (Return)
  • chmod -> alle Verzeichnisse auf 755
  • chmod  -> alle Dateien auf 644 (Details siehe letzte Zeile des Artikels!)

Ab in den Browser

So nun gilts! Browser starten und als Adresse localhost/wordpress eingeben… und hoffen…

Die Datei wp-config.php scheint nicht vorhanden zu sein. Wir benötigen sie aber um mit der Installation zu beginnen….

Soweit so gut. Klick auf Weiter… Klick (ganz unten) auf den Button „…kann es jetzt losgehen„…

Befüllen der Felder mit den Userdaten des angelegten DB-User:

WB_userdatenKlick auf Absenden… Im nächsten Fenster (welches erscheint, sofern die eingegebenen Daten ok waren) Starten wir die Installation wählen… Blogtitel eingeben, Mailaddi eingeben, angezeigtes Passwort merken(!),  auf anmelden klicken.

Als Username admin verwenden, als Passwort das vorhin angezeigte und freuen. Wir landen am Dashboard.

Jedenfalls muss ich noch klären weshalb es mt anderen Berechtigungen (noch) nicht funktioniert. Das kann so nicht stehen bleiben 😉

Update: Folgende Info findet man auf wordpress-deutschland.org:Normal sollte 755 (Verzeichnisse) und 644 (Dateien) reichen. Eventuell noch das Uploads-Verzeichnis hochsetzen.

WordPress 2.8.4 – Security fix

Sicherheitsupdate (Admin lockout)

Heute wurde bereits die Version 2.8.4  von WordPress zum Download freigegeben. Es handelt sich hierbei um ein Security Update, da es ein Problem mit dem Adminlogin gab. (Changelog).

Durch eine speziell präparierte Url konnte ein Passwortreset des Adminkontos durchgeführt werden.

Grundsätzlich sollte man  – wenn möglich – das WordPress (wp-admin Verzeichnis) mit einer zusätzlichen .htaccess-Datei schützen.

Download: www.wordpress-deutschland.org

Das Upgradepaket hat gezippt nur 14kb und kann per FTP über eine bestehende Version 2.8.3 einfach „drüberkopiert“ werden.

1 2