以下内容是[[http://www.guorui.org|GuoRui]]根据英文[[install:upgrade]]进行的翻译。
====== 升级 ======
升级之前, 您最好先阅读[[..changes|变更信息]], 以便了解升级后会产生哪些变化。
确定所运行的升级程序版本,在dokuwiki html源代码中有类似
这样的标记.
以下是简单的升级步骤:The easiest way to upgrade is perform the following steps:
- **对您的wiki进行完整备份**(总比后悔要强)
* cp -Ra /path/to/wiki/ /path/to/wikibackup
- [[http://splitbrain.org/go/dokuwiki|下载]] and [[unpacking|解压]] 最新版本; 检查 [[..changes|变更信息]]
* tar -xzvf dokuwiki-xxxx-xx-xx.tgz
- 复制/上传所有的文件,覆盖您的旧版本的所有DokuWiki安装文件
* 'cp' -rf dokuwiki-xxxx-xx-xx/* /path/to/wiki/
* The quotes around cp make sure the command works even when cp is aliased to cp -i
- Remove old files that are not used anymore (See below for a list of files)
- Fix [[install:permissions | permissions]] if needed; including possibly new directories under ''data/''
- Compare your .htaccess with the delivered .htaccess.dist for needed changes
- Update your plugins and template
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 [[plugin:config|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.
# 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
===== 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:
* [[config:updatecheck]] -- if update notifications persist
* [[faq:toolbar]] -- Quickbuttons and JavaScript problems
===== Alternative Ways =====
Here are a few different upgrade descriptions, provided by users. They might be slightly out of date.
* [[.:diffupgrade|Upgrading by creating diffs]]
* [[http://apscatalog.com/1/splitbrain.org/dokuwiki/|Upgrading by APS]] - has anybody test this yet?