Before upgrading, you should always read the changelog to see if something changed you should be aware of when upgrading. To see which version you are running, log in and check the Admin page.
The easiest way to upgrade is by performing the following steps:
cp -a /path/to/wiki/ /path/to/wikibackup
cd ~ wget http://.../dokuwiki-xxxx-xx-xx.tgz
dokuwiki-xxxx-xx-xx:tar -xzvf dokuwiki-xxxx-xx-xx.tgz
'cp' -rf dokuwiki-xxxx-xx-xx/{*,.??*} /path/to/wiki/
cd /path/to/wiki/ wget http://.../dokuwiki-xxxx-xx-xx.tgz
tar -xzvf dokuwiki-xxxx-xx-xx.tgz --strip-components=1
rm dokuwiki-xxxx-xx-xx.tgz
data/conf/local.php and/or doku.php (eg. by resaving your configuration).Angua release, add two new directories for media versioning:
data/media_atticdata/media_meta
The above steps are safe when you always adhered to the advice to only change local versions of your config files (like conf/local.php instead of conf/dokuwiki.php). DokuWiki will not overwrite those local files. If you always used the config manager you're on the safe side as it always saves to local.php. Also user data and ACL information are never overwritten because DokuWiki only ships examples (with a .dist extension).
Here is a list of files that were removed in recent releases. You should check if they still exist in your install. If they do, delete them.
# removed in 2011-05-25 conf/words.aspell.dist lib/styles/style.css # 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
People with shell access to their server can copy the text above and paste it into a file on the system, then run the following commands to check for and remove all those files. Only those that exist are removed. I used the filename of /tmp/removeold.txt to store the list of files copied from here.
grep -Ev "^($|#)" /tmp/removeold.txt | xargs -n 1 rm -f
If you are paranoid, replace the “rm -f” with “ls -la” to see what files will be deleted.
To remove directories as well as files you have to use:
grep -Ev "^($|#)" /tmp/removeold.txt | xargs -n 1 rm -fd
However, some systems may not support the “rm -d” option for directory removal. In that case, you have to use recursive removal (just be sure to double-check that the file list does not include any paths that will delete too much):
grep -Ev "^($|#)" /tmp/removeold.txt | xargs -n 1 rm -fr
Some systems may give an 'Illegal Variable Name' error when using the above grep commands. In these cases, substitute single quotes for the double quotes.
I have created a python script that will print the files deleted, it can be improved
import os file = open("/tmp/removeold.txt") for line in file: #os.remove(line) if not line.isspace() : if not line[0:1] =='#' : line = line.rstrip(os.linesep) try: print(line) os.remove(line) except OSError, err: pass
And in ruby:
files = File.read("/tmp/removeold.txt").split("\n").grep(/^[^$#]/) files.each do |file| puts "Deleting #{file}." File.delete(file) rescue puts $! end
If you encounter some inconsistencies in DokuWiki's behaviour after upgrading, you should delete the cache files in data/cache/. You should make sure your browser hasn't cached old stylesheets or JavaScript by forcing a reload (Shift-F5 or Ctrl-Shift-R in most browsers).
Related pages that might apply:
Here are a few different upgrade descriptions, provided by users. They might be slightly out of date.