Translations of this page?:

Upgrading

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:

  1. Make a full backup of your wiki (better safe than sorry)
    • cp -a /path/to/wiki/ /path/to/wikibackup 
  2. Download and unpack the new version. Below are instructions for a Linux environment. For Windows and other environments, see unpacking.
    1. Either download dokuwiki tarball into a directory of choice:
      • cd ~
        wget http://.../dokuwiki-xxxx-xx-xx.tgz
      • Extract it into a subfolder named dokuwiki-xxxx-xx-xx:
      • tar -xzvf dokuwiki-xxxx-xx-xx.tgz
      • Then copy/upload all its files over your old DokuWiki installation overwriting all existing files:
      • 'cp' -rf dokuwiki-xxxx-xx-xx/{*,.??*} /path/to/wiki/
        • The quotes around cp ensures the command works even when cp is aliased to cp -i
        • The .??* ensures the hidden files (e.g.: the .htaccess.dist) are also copied
    2. Or download directly into your dokuwiki's folder:
      • cd /path/to/wiki/
        wget http://.../dokuwiki-xxxx-xx-xx.tgz
      • Extract it into dokuwiki root overwriting existing files:
      • tar -xzvf dokuwiki-xxxx-xx-xx.tgz --strip-components=1
      • Remove the downloaded archive:
      • rm dokuwiki-xxxx-xx-xx.tgz
  3. Check Changelog
  4. Remove install.php : rm /path/to/wiki/install.php
  5. Remove old files that are not used anymore (See below for a list of files)
  6. Fix permissions if needed; including possibly new directories under data/
  7. Compare your .htaccess with the delivered .htaccess.dist for needed changes
  8. Update your plugins and template. Angua release no longer supports plugins with underscores in their name.
  9. make sure your cache is invalidated by touching conf/local.php and/or doku.php (eg. by resaving your configuration).
  10. updating your index may be necessary; see Command Line Tools
  11. verify all needed directories exist inside the data/ directory and have good permissions

Angua release, add two new directories for media versioning:

  • data/media_attic
  • data/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).

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.

removeold.txt
# 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

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

Related pages that might apply:

  • updatecheck – if update notifications persist
  • toolbar – Quickbuttons and JavaScript problems
  • searchindex – if search box gives you no result

Alternative Ways

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

  • Upgrading by APS - has anybody tested this yet?
  • Upgrading using the DokuWiki Downloader
    • Upload the Downloader script to your wiki's root directory
    • Remove your doku.php
    • Make sure all files that might be overwritten are writable by the webserver
    • Execute the downloader as usual
    • Skip the installation step and remove install.php (if you continue to the installer you will be warned anyway, that an existing installation was detected)
    • Done!
install/upgrade.txt · Last modified: 2012/02/04 01:35 by 108.226.100.133
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Imprint Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
WikiForumIRCBugsGitXRefTranslate