DokuWiki

It's better when it's simple

使用者工具

網站工具


zh-tw:install:upgrade

更新

在更新之前,你應該先閱讀 changelog 以確認更新後會異動的項目。

如果想知道你目前採用的版本,請參見 DokuWiki 所產生出的頁面的 HTML 原始檔,裡頭會有類似這樣的資訊:

<meta name="generator" content="DokuWiki 2005-02-06" />

以下是最簡單的升級步驟:

  1. 完整備分你的 wiki,避免遺憾的最佳策略
    • 如果你曾經由 DokuWiki tarball 異動 .htaccess 檔 (eg. for rewrite),請務必確認事先備分
    •  cp -a /path/to/wiki/* /path/to/wikibackup 
  2. 下載升級至新版;確認 Changelog
    •  tar -xzvf dokuwiki-xxxx-xx-xx.tgz
  3. 複製/上傳所有檔案,覆蓋現有的檔案
    • 如果你的 “cp” 指令無法像在 Linux 下使用 “cp -i” 那樣強制以互動模式作用、甚至連 “cp -rf” 也沒有效果,你可以單就 cp 取消別名,登出並重新登入即可還原。
    • unalias cp
      cp -rf dokuwiki-xxxx-xx-xx/* /path/to/wiki/
    • 或者你可以使用兩個單引號把 cp 指令包起來:
    •  'cp' -rf dokuwiki-xxxx-xx-xx/* /path/to/wiki/
    • 確認所有的檔案都是「新的」;若否,試著這樣做
    •  cp -r dokuwiki-xxxx-xx-xx/* /path/to/wiki/
  4. 移除不會再用到的舊檔案(參考下列檔案清單)
  5. 若有需要,修復權限設定;包括在 data/ 下可能有像 index/tmp/ 之類的新目錄
  6. 確認 .htaccess 是否完成應做的修改(參考步驟一)
  7. 更新外掛

若你遵照建議更新你的 config 檔案的 local 版本(例如 conf/local.php 而非 conf/dokuwiki.php),上述步驟都是安全的。DokuWiki 不會複寫這些 local 檔案。如果你有使用config manager,因為它一定會儲存到 local.php,所以你鐵定安全的。使用者資料以及 ACL 資訊不會被複寫,因為 DokuWiki 僅傳送範例(附有 .dist 延伸套件)
(備註:儘管更新會覆寫 “新手試煉場” playground/playground.txt,不過只要按下「舊版」按鈕就能輕鬆回復。)

移除檔案

此處是在最近更新版本中會被移除的檔案清單。你應該確認它們在你的安裝版本中是否存在,如果還在,就把它們刪掉。

# 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

經由命令列登入 server 的人,可以複製上述文字、貼上並存成檔案,然後執行下列指令來確認、移除那些檔案。那些檔案如果存在的話才會被移除。我習慣把這邊複製的檔案清單的檔名存成 /tmp/removeold.txt。

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

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

done

或者利用這個指令。你高興的話,也可以把 “rm -rf” 換成 “ls -la” 來看看有哪些檔案會被刪掉。你可以留下備註和空行,不過它們會產生錯誤/警告。

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

疑難排解

如果你在升級後遇到與DokuWiki's不一致時,你可以刪掉 data/cache/ 裡的快取檔案。你應利用強制重新整理(在多數瀏覽器中是 Shift-F5 或 Ctrl-Shift-R),來確保你的瀏覽器沒有快取舊版樣式表或 JavaScript。

可能有用的相關頁面:

  • updatecheck – 如果更新通知還一直留在頁面上
  • toolbar – 快速鍵和 JavaScript 的問題

替代方案

這裡有一些不一樣的升級說明,提供參考。它們可能有點過時了。

zh-tw/install/upgrade.txt · 上一次變更: 2014-02-27 17:08 由 Klap-in

若無特別註明,本 wiki 上的內容都是採用以下授權方式: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki