====== Update ======
Dokuwikiでは**上書きを推奨**しています。\\
設定をxxx.localで記述してあれば上書きしても設定が壊れることはありません。
以下の順で行っていますが\\
- バックアップ\\
- 最新版を解凍\\
- 旧データをリストア\\
本家の上書きからスタートして\\
- バックアップ\\
- 最新版を上書き\\
- 旧データをリストア\\
の順のほうが良いかも
===== 新しいのを持ってくる =====
設定でupdatecheck をONにしてあれば、最新版の有無とlinkが表示されているはず。 ない場合には、本家から適当に…
===== バックアップ =====
tar czf dokuwiki.bak.tgz path/to/dokuwiki/
===== 解凍 =====
最新版を解凍
tar xzf dokuwiki-201*-mm-dd.tgz -C path/to/
===== 上書き =====
cp -f -r path/to/dokuwiki-201*-mm-dd dokuwiki
===== 設定ファイルを移行 =====
代表的なもの
old-dokuwiki/.htaccess
old-dokuwiki/robots.txt
old-dokuwiki/conf/local.php
old-dokuwiki/conf/acl.auth.php
old-dokuwiki/conf/users.auth.php
old-dokuwiki/inc/local.php
old-dokuwiki/bin/XXXXX.php
===== テンプレートをUpdate =====
必要に応じてテンプレートをUpdate
cp -r old-dokuwiki/lib/tpl/xxxxxx/ dokuwiki/lib/tpl/xxxxxx
===== PlugInをUpdate =====
必要に応じてPlugInをUpdate
ユーザ、パーミッションを設定
chown -R www:www dokuwiki
chmod -R 755 dokuwiki/conf
chmod -R 755 dokuwiki/data
===== install.php削除 =====
rm -rf dokuwiki/install.php
===== Updateメッセージが消えない =====
最新版にしたにもかかわらずUpdateメッセージが消えない場合。Update Checkに方法がかいてある。
* ./doku.phpの先頭に書いてある $updateVersion の数値を最新の数値に治す((昔は ./conf/msg に書いてあった))
まだ消えない場合、キャッシュが効いているので以下を試してみる
* 1日待つ
* data/cache/messages.txt を消す
* touch doku.phpとしてタイムスタンプを更新する((ファイルを書き換えて更新してもダメなので注意))
===== Setup Error =====
==== mediaolddir...... ====
Anguaをインストールした場合に以下のエラーが発生する場合がある
DokuWiki Setup Error
The mediaolddir ('media_attic') does not exist, isn't accessible or writable
以下のディレクトリが作成されているので、パーミッションを治してやれば良いはず
data/media_attic
data/media_meta
==== mdecrypt_generic...... ====
HrunへのUpdateで以下のエラーが発生する場合がある
PHP Warning: mdecrypt_generic(): An empty string was passed in /var/www/dokuwiki/inc/phpseclib/Crypt_Base.php on line 915
以下のファイルをダウンロードして
https://github.com/phpseclib/phpseclib/archive/master.zip
中身を dokuwiki/inc/phpseclib にコピーしたら治った((再Loginしないと消えない場合あり))
===== 参考 =====
[[http://d.hatena.ne.jp/repose/20100117/1263698103|今週のDBCLS&id:wakutekaに教わりながらDokuWikiをアップグレード]]
[[doku>ja:security#ドキュメントルート外へのディレクトリの移動]]