Inhaltsverzeichnis
Upgrading
Vor dem Upgrade solltest Du immer das Changelog lesen, um zu sehen, ob sich etwas Wichtiges geändert hat. Die verwendete DokuWiki-Version ist in der Datei VERSION
im entpackten Archiv zu finden.
Der einfachste Weg zum Upgrade führt über folgende Schritte:
- Vollständiges Backup der Wiki (Vorsicht ist die Mutter der Porzellankiste)
cp -a /pfad/zum/wiki/ /pfad/zum/wikibackup
- Download und Entpacken der neuen Version. Im weiteren sind die Befehle für Linux aufgeführt. Für Windows und andere Umgebungen siehe unpacking.
- Entweder download dokuwiki tarball in ein beliebiges Verzeichnis:
cd ~ wget http://.../dokuwiki-xxxx-xx-xx.tgz
- Entpacken in ein Verzeichnis mit den Namen
dokuwiki-xxxx-xx-xx
: tar -xzvf dokuwiki-xxxx-xx-xx.tgz
- Danach alle Dateien in die alte DokuWiki Installation kopieren/hochladen und die vorhandenen Dateien überschreiben:
'cp' -rf dokuwiki-xxxx-xx-xx/{*,.??*} /pfad/zum/wiki/
- Die Quotes um cp stellen sicher, dass der Befehl auch dann ausgeführt wird, wenn cp als Alias für cp -i eingerichtet ist.
- Das .??* garantiert, dass auch versteckte Dateien (wie: .htaccess.dist) kopiert werden.
- Oder herunterladen direkt in das Verzeichnis der DokuWiki Installation:
cd /pfad/zum/wiki/ wget http://.../dokuwiki-xxxx-xx-xx.tgz
- Entpacken in das Root-Verzeichnis der Dokuwiki Installation inklusive Überschreiben der vorhandenen Dateien:
tar -xzvf dokuwiki-xxxx-xx-xx.tgz --strip-components=1
- Entfernen der Archivdatei:
rm dokuwiki-xxxx-xx-xx.tgz
- Überprüfen des Changelog
- Entfernen von install.php: rm /pfad/zum/wiki/install.php
- Entfernen von alten Dateien, die nicht mehr benötigt werden (Siehe unten)
- Anpassen der Berechtigungen soweit notwendig; inklusive möglicher neuer Verzeichnisse unter
data/
- Vergleichen der vorhandenen .htaccess mit der ausgelieferten .htaccess.dist nach benötigten Änderungen
- Update der Plugins und Vorlagen
- Sicherstellen, dass der Cache zurück gesetzt wird durch touching
conf/local.php
(z.B. durch Neuspeicherung der Konfiguration): touch /pfad/zum/wiki/conf/local.php - Unter Umständen sollte der Index aktualisiert werden. Siehe Command Line Tools
Diese Schritte sind sicher, wenn Änderungen in der Konfiguration nur über die lokalen Konfigurationsdateien erfolgt sind wie conf/local.php
anstatt in der conf/dokuwiki.php
. Die lokalen Dateien werden nicht ersetzt. Wenn nur der Konfigurationsmanager benutzt wurde, sind alle Änderungen nur in der local.php gespeichert. Alle Benutzerdaten und ACL werden nicht überschrieben, da die DokuWiki-Installation nur Beispieldateien mitbringt (mit der Dateiendung .dist
)
Variante automatisches Update
Hierzu muss das upgrade-plugin installiert und aktiviert sein. Dann kann man im Admin-Bereich, auf der Übersicht unten, einfach auf „wiki aktualisieren“ klicken und sich durch den Aktualisierungs-Prozess durchklicken. Zum Schluss noch die install.php löschen und fertig.
Zu löschende Dateien
Hier die Liste von Dateien, die seit den letzten Releases entfernt wurden. Überprüfe, ob die Dateien nach dem Updaten noch vorhanden sind. Entferne Sie, falls das zutrifft.
# removed in 2010-11-07 inc/lang/ar/subscribermail.txt inc/lang/az/subscribermail.txt inc/lang/bg/subscribermail.txt inc/lang/ca/subscribermail.txt inc/lang/ca-valencia/subscribermail.txt inc/lang/cs/subscribermail.txt inc/lang/da/subscribermail.txt inc/lang/de-informal/subscribermail.txt inc/lang/el/subscribermail.txt inc/lang/eo/subscribermail.txt inc/lang/es/subscribermail.txt inc/lang/et/subscribermail.txt [.......] [.......] [.......] lib/images/toolbar/empty.png lib/images/toolbar/extlink.png lib/images/toolbar/fonth1.png lib/images/toolbar/fonth2.png lib/images/toolbar/fonth3.png lib/images/toolbar/fonth4.png lib/images/toolbar/fonth5.png lib/images/toolbar/list.png lib/images/toolbar/list_ul.png lib/images/toolbar/rule.png lib/tpl/default/images/interwiki.png
Wenn du Shellzugriff auf deinen Webserver hast, kopiere den oberen Text und speichere ihn in eine Datei auf deinem Webserver. Anschließend führe die folgenden Befehle an der Shell aus. In den Befehlen unten habe ich die Datei der Liste oben /tmp/removeold.txt genannt.
Dateien löschen:
grep -Ev "^($|#)" /tmp/removeold.txt | xargs -n 1 rm -f
Wenn du den Scripten nicht vertraust, was geschieht, ersetze „rm -f“ mit „ls -la“.
Jetzt die Verzeichnisse, die in der Datei angegeben sind, löschen:
grep -Ev "^($|#)" /tmp/removeold.txt | xargs -n 1 rm -fd
Auf manchen Systemen funktioniert „rm -d“ für das löschen von Verzeichnissen nicht. In diesem Fall musst du recursiv löschen (Überprüfe in diesem Falle genau, ob zu viel gelöscht wird!):
grep -Ev "^($|#)" /tmp/removeold.txt | xargs -n 1 rm -fr
Bist du dir nicht sicher, lösche lieber von Hand!
Upgrading von 2006-11-06
DokuWiki-Version rc2007-05-24 erstellt unterhalb des data/
-Verzeichnisses ein neues Verzeichnis index/
. Nach dem Upgrade musst Du dieses Verzeichnis manuell erstellen und dem Webserver Schreibzugriffe darauf erteilen, andernfalls wird der Installationsvorgang über das fehlende Verzeichnis meckern und Du kannst Dein Wiki nicht aufrufen. — Michael Klier 2007-05-29 14:47
Für ältere Versionen
Wenn Du von einer sehr alten Version aktualisierst, musst Du eventuell einige Verzeichnisstrukturen anpassen. Hier ist eine Liste, die Dir dabei helfen kann (alles aus Sicht des DokuWiki-Hauptverzeichnisses):
changes.log
→data/changes.log
data/
→data/pages/
attic/
→data/attic/
media/
→data/media/
Wenn Du von einer älteren Version als 2005-02-06 aktualisierst, musst du nach der Aktualisierung Deine Daten in UTF8 konvertieren.
Alternative Updatemöglichkeiten
Hier sind ein paar andere Möglichkeiten ein DokuWiki-Update durchzuführen:
- Upgrading by creating diffs (englisch)
- Update mit APS - hat das jemand mal getestet?
- Upgrading mittels DokuWiki Downloader
- Lade das Downloader Script in dein Rootverzeichnis
- Entferne oder benenne die Datei doku.php um
- überprüfe, ob auf deinem Webserver die Rechte richtig gesetzt sind, sodass das Updatescript Dateien überschreiben bzw. löschen kann
- Führe das Downloaderscript aus
- Anschließend überspringe den Installationsschritt und entferne install.php (Wenn du fortfährst, wird die Warnung ausgegeben, dass bereits eine Installation vorliegt)
- Fertig!