Table of Contents

Upgrading

Before upgrading, you should always read the changelog to see if something changed you should be aware of when upgrading.

To determine the version you are running, have a look in the HTML source of a Page generated by DokuWiki - there should be something like <meta name=“generator” content=“DokuWiki 2005-02-06” />.

The easiest way to upgrade is perform the following steps:

  1. Make a full backup of your wiki (better safe than sorry)
    • if you made changes to the .htaccess file delivered with the DokuWiki tarball (eg. for rewrite) be especially sure to back it up
  2. Download and Unpack the new version; check Changelog
  3. Copy/Upload all its files over your old DokuWiki installation overwriting all existing files
  4. Remove old files that are not used anymore (See below for a list of files)
  5. Fix permissions if needed; including possibly new directories under data/ like index/ or tmp/
  6. Check .htaccess for needed changes (see step 1)
  7. Update plugins

Hint: If you updated from an old version and don't have a login anymore you should check the file conf/local.php if there is the line

$conf['useacl'] = 1;

is missing. This mostly happens if you edited conf/dokuwiki.php instead of conf/local.php for your local settings. You should check the other entries in the old conf/dokuwiki.php too.

Files to remove

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 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.

for f in `cat /tmp/removeold.txt`
do

if [ -f $f ] ; then
        ls -l $f
        rm  $f
fi

done

Alternatively, use this command line. If you are paranoid, replace the “rm -rf” with “ls -la” to see what files will be deleted. You can leave comments and empty lines, but they will produce errors/warnings.

cat /tmp/removeold.txt | xargs -n 1 rm -rf

Troubleshooting

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 Shift-R in most browsers).

Related pages that might apply:

Alternative Ways

Here are a few different Upgrade descriptions, provided by users. They might be slightly out of date.