Inhaltsverzeichnis

Upgrading

Vor dem Upgrade solltest Du immer das Changelog lesen, um zu sehen, ob sich etwas Wichtiges geändert hat. Um herauszufinden, welche Version benutzt wurde, schau in die Quellen einer HTML-Seite, die mit DokuWiki erstellt wurde - dort sollte etwas stehen wie <meta name=„generator“ content=„DokuWiki 2005-02-06“ /> 1).

Der einfachste Weg zum Upgrade führt über folgende Schritte:

  1. Vollständiges Backup der Wiki (Vorsicht ist die Mutter der Porzellankiste)
    • cp -a /pfad/zum/wiki/ /pfad/zum/wikibackup 
  2. Download und Entpacken der neuen Version. Im weiteren sind die Befehle für Linux aufgeführt. Für Windows und andere Umgebungen siehe unpacking.
    1. 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.
    2. 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
  3. Überprüfen des Changelog
  4. Entfernen von install.php: rm /pfad/zum/wiki/install.php
  5. Entfernen von alten Dateien, die nicht mehr benötigt werden (Siehe unten)
  6. Anpassen der Berechtigungen soweit notwendig; inklusive möglicher neuer Verzeichnisse unter data/
  7. Vergleichen der vorhandenen .htaccess mit der ausgelieferten .htaccess.dist nach benötigten Änderungen
  8. Update der Plugins und Vorlagen
  9. 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
  10. 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)

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
inc/lang/eu/subscribermail.txt
inc/lang/fa/subscribermail.txt
inc/lang/fi/subscribermail.txt
inc/lang/fo/subscribermail.txt
inc/lang/fr/subscribermail.txt
inc/lang/gl/subscribermail.txt
inc/lang/he/subscribermail.txt
inc/lang/hr/subscribermail.txt
inc/lang/hu/subscribermail.txt
inc/lang/id/subscribermail.txt
inc/lang/is/subscribermail.txt
inc/lang/it/subscribermail.txt
inc/lang/ja/subscribermail.txt
inc/lang/ko/subscribermail.txt
inc/lang/ku/subscribermail.txt
inc/lang/lt/subscribermail.txt
inc/lang/lv/subscribermail.txt
inc/lang/mr/subscribermail.txt
inc/lang/ne/subscribermail.txt
inc/lang/nl/subscribermail.txt
inc/lang/no/subscribermail.txt
inc/lang/pl/subscribermail.txt
inc/lang/pt-br/subscribermail.txt
inc/lang/pt/subscribermail.txt
inc/lang/ro/subscribermail.txt
inc/lang/ru/subscribermail.txt
inc/lang/sk/subscribermail.txt
inc/lang/sr/subscribermail.txt
inc/lang/sv/subscribermail.txt
inc/lang/th/subscribermail.txt
inc/lang/tr/subscribermail.txt
inc/lang/uk/subscribermail.txt
inc/lang/zh/subscribermail.txt
inc/lang/zh-tw/subscribermail.txt

# removed in rc2010-10-07
conf/msg
inc/lang/bg/wordblock.txt
inc/lang/ca-valencia/wordblock.txt
inc/lang/ca/wordblock.txt
inc/lang/cs/wordblock.txt
inc/lang/da/wordblock.txt
inc/lang/de-informal/wordblock.txt
inc/lang/de/subscribermail.txt
inc/lang/de/wordblock.txt
inc/lang/el/wordblock.txt
inc/lang/en/subscribermail.txt
inc/lang/en/wordblock.txt
inc/lang/eo/wordblock.txt
inc/lang/es/wordblock.txt
inc/lang/et/wordblock.txt
inc/lang/eu/wordblock.txt
inc/lang/fa/wordblock.txt
inc/lang/fi/wordblock.txt
inc/lang/fo/wordblock.txt
inc/lang/fr/wordblock.txt
inc/lang/he/wordblock.txt
inc/lang/hr/wordblock.txt
inc/lang/hu/wordblock.txt
inc/lang/id/wordblock.txt
inc/lang/it/wordblock.txt
inc/lang/ja/wordblock.txt
inc/lang/ko/wordblock.txt
inc/lang/ku/wordblock.txt
inc/lang/lt/wordblock.txt
inc/lang/lv/wordblock.txt
inc/lang/mg/wordblock.txt
inc/lang/mr/wordblock.txt
inc/lang/nl/wordblock.txt
inc/lang/no/wordblock.txt
inc/lang/pl/wordblock.txt
inc/lang/pt-br/wordblock.txt
inc/lang/pt/wordblock.txt
inc/lang/ro/wordblock.txt
inc/lang/sk/wordblock.txt
inc/lang/sl/wordblock.txt
inc/lang/sr/wordblock.txt
inc/lang/sv/wordblock.txt
inc/lang/th/wordblock.txt
inc/lang/tr/wordblock.txt
inc/lang/uk/wordblock.txt
inc/lang/vi/wordblock.txt
inc/lang/zh-tw/wordblock.txt
inc/lang/zh/wordblock.txt
lib/scripts/pngbehavior.htc

# removed in rc2009-12-02
inc/lang/ar/wordblock.txt
inc/lang/ca-va/
lib/plugins/acl/lang/ca-va/
lib/plugins/config/lang/ca-va/
lib/plugins/plugin/lang/ca-va/
lib/plugins/popularity/lang/ca-va/
lib/plugins/revert/lang/ca-va/
lib/plugins/usermanager/lang/ca-va/

# removed in rc2009-01-30
lib/plugins/upgradeplugindirectory
lib/plugins/upgradeplugindirectory/action.php

# removed in rc2009-01-26
inc/auth/punbb.class.php
inc/lang/ko/edit.txt_bak
inc/lang/ko/lang.php_bak
inc/lang/ku/admin_acl.txt
inc/lang/mg/admin_acl.txt
lib/plugins/importoldchangelog
lib/plugins/importoldchangelog/action.php
lib/plugins/importoldindex
lib/plugins/importoldindex/action.php
lib/plugins/usermanager/images/no_user_edit.png
lib/plugins/usermanager/images/user_edit.png
lib/tpl/default/UWEB.css

# removed in rc2008-03-31
inc/aspell.php
inc/geshi/css-gen.cfg
inc/lang/fr/admin_acl.txt
lib/exe/spellcheck.php
lib/images/toolbar/spellcheck.png
lib/images/toolbar/spellnoerr.png
lib/images/toolbar/spellstop.png
lib/images/toolbar/spellwait.gif
lib/plugins/acl/lang/ar/intro.txt
lib/plugins/acl/lang/bg/intro.txt
lib/plugins/acl/lang/ca/intro.txt
lib/plugins/acl/lang/cs/intro.txt
lib/plugins/acl/lang/da/intro.txt
lib/plugins/acl/lang/de/intro.txt
lib/plugins/acl/lang/el/intro.txt
lib/plugins/acl/lang/en/intro.txt
lib/plugins/acl/lang/es/intro.txt
lib/plugins/acl/lang/et/intro.txt
lib/plugins/acl/lang/eu/intro.txt
lib/plugins/acl/lang/fi/intro.txt
lib/plugins/acl/lang/fr/intro.txt
lib/plugins/acl/lang/gl/intro.txt
lib/plugins/acl/lang/he/intro.txt
lib/plugins/acl/lang/id/intro.txt
lib/plugins/acl/lang/it/intro.txt
lib/plugins/acl/lang/ja/intro.txt
lib/plugins/acl/lang/ko/intro.txt
lib/plugins/acl/lang/lt/intro.txt
lib/plugins/acl/lang/lv/intro.txt
lib/plugins/acl/lang/nl/intro.txt
lib/plugins/acl/lang/no/intro.txt
lib/plugins/acl/lang/pl/intro.txt
lib/plugins/acl/lang/pt/intro.txt
lib/plugins/acl/lang/ru/intro.txt
lib/plugins/acl/lang/sk/intro.txt
lib/plugins/acl/lang/sr/intro.txt
lib/plugins/acl/lang/sv/intro.txt
lib/plugins/acl/lang/tr/intro.txt
lib/plugins/acl/lang/uk/intro.txt
lib/plugins/acl/lang/vi/intro.txt
lib/plugins/acl/lang/zh/intro.txt
lib/plugins/acl/lang/zh-tw/intro.txt
lib/scripts/spellcheck.js
lib/styles/spellcheck.css

# removed in 2007-06-26
inc/parser/wiki.php
lib/images/interwiki/bug.gif
lib/plugins/base.php
lib/plugins/plugin/inc
lib/plugins/plugin/inc/tarlib.class.php
lib/plugins/plugin/inc/zip.lib.php
lib/scripts/domLib.js
lib/scripts/domTT.js

# removed in 2006-11-06
inc/admin_acl.php
inc/lang/lt/stopwords.txt
inc/magpie
inc/magpie/rss_cache.inc
inc/magpie/rss_fetch.inc
inc/magpie/rss_parse.inc
inc/magpie/rss_utils.inc
lib/exe/media.php
lib/tpl/default/mediaedit.php
lib/tpl/default/media.php
lib/tpl/default/mediaref.php

# removed in 2006-03-09
data/pages/wiki/playground.txt
inc/auth/ldap.php
inc/auth/mysql.php
inc/auth/pgsql.php
inc/auth/plain.php
inc/lang/ca/admin_acl.txt
inc/lang/cs/admin_acl.txt
inc/lang/da/admin_acl.txt
inc/lang/de/admin_acl.txt
inc/lang/en/admin_acl.txt
inc/lang/et/admin_acl.txt
inc/lang/eu/admin_acl.txt
inc/lang/fr/admin_acl.txt
inc/lang/it/admin_acl.txt
inc/lang/ja/admin_acl.txt
inc/lang/lt/admin_acl.txt
inc/lang/lv/admin_acl.txt
inc/lang/nl/admin_acl.txt
inc/lang/no/admin_acl.txt
inc/lang/pl/admin_acl.txt
inc/lang/pt/admin_acl.txt
inc/lang/vi/admin_acl.txt
inc/lang/zh-tw/admin_acl.txt
inc/parser/spamcheck.php
lib/images/favicon.ico
lib/images/thumbup.gif
lib/images/toolbar/code.png
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):

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 Update der Dokuwiki durchzuführen:

1) falls Deine Version nicht älter als 2005-01-14 ist