PukiWiki のバージョンを1.5.3から1.5.4にアップデートします。
※2024/11/23時点の最新は1.5.4でした。
PukiWikiバージョン | PHPバージョン |
---|
1.5.3 | PHP 7.4 |
1.5.4 | PHP 8.1 |
PukiWiki 公式サイトに掲載されている手順に従って行います。
稼働中の環境からPukiWiki のファイルをローカル環境にダウンロードし、ローカル環境でpatch コマンドでアップデートして更新されたファイルをサーバーにアップロードする手順となります。
※ローカル環境はmacOS で行いました
手順
1. アップデート前のバックアップ
稼働中のPukiWiki のアーカイブを作成します。
PukiWiki を格納しているディレクトリはwiki にしているので、以下のコマンドを実行します。
tar -zcvf wiki_20241122.gz ./wiki
gzファイルをダウンロードしたら削除します。
※FileZilla を使ってダウンロードしました
2. アップデートパッチをダウンロード
アップデートパッチはエンコードがUTF-8 とEUC-JP の2種類が用意されています。
稼働中のPukiWiki のエンコードが UTF-8 、EUC_JP のどちらかを確認します。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
ページのソースを見ると”charset=UTF-8” となっていたので、UTF-8 のアップデートパッチをダウンロードします。
ダウンロードしたファイル
→ update_pukiwiki_153to154_utf8.patch.zip
稼働中のPukiWikiのバージョンが1.5.3 であることを確認します。
ページの一番下にPukiWiki 1.5.3 と表示されています。
3. アップデートするファイル・ディレクトリをダウンロード
稼働中のPukiWikiのディレクトリから以下のファイル・ディレクトリをダウンロードします。
- ルートの全ファイル
- skin/ ディレクトリ
- lib/ ディレクトリ
- plugin/ ディレクトリ
- wiki/ ディレクトリ
※ アップデートパッチをダウンロードしたディレクトリにpukiwiki というディレクトリを作ってその中にダウンロードします
4. ローカル環境でアップデートを実行
アップデートパッチの中身を以下のコマンドで展開します。
unzip update_pukiwiki_153to154_utf8.patch.zip
pukiwiki ディレクトリに移動して、patch コマンドでアップデートを実行します。
※実行結果も一緒に貼り付けておきます。
% cd pukiwiki
% patch -p1 < ../update_pukiwiki_153to154_utf8.patch
patching file INSTALL.txt
patching file README.txt
patching file UPDATING.txt
patching file default.ini.php
patching file en.lng.php
patching file ja.lng.php
patching file keitai.ini.php
patching file 'lib/auth.php'
patching file 'lib/config.php'
patching file 'lib/convert_html.php'
patching file 'lib/file.php'
patching file 'lib/func.php'
patching file 'lib/html.php'
patching file 'lib/init.php'
patching file 'lib/link.php'
patching file 'lib/make_link.php'
patching file 'lib/plugin.php'
patching file 'lib/proxy.php'
patching file 'lib/pukiwiki.php'
patching file 'plugin/attach.inc.php'
patching file 'plugin/backup.inc.php'
patching file 'plugin/calendar_viewer.inc.php'
patching file 'plugin/color.inc.php'
patching file 'plugin/counter.inc.php'
patching file 'plugin/dump.inc.php'
patching file 'plugin/edit.inc.php'
patching file 'plugin/img.inc.php'
patching file 'plugin/loginform.inc.php'
patching file 'plugin/navi.inc.php'
patching file 'plugin/pageaction.inc.php'
patching file 'plugin/ref.inc.php'
patching file 'plugin/rss.inc.php'
patching file 'plugin/search2.inc.php'
patching file 'plugin/touchgraph.inc.php'
patching file 'plugin/tracker.inc.php'
patching file pukiwiki.ini.php
patching file 'skin/keitai.skin.php'
patching file 'skin/main.js'
patching file 'skin/pukiwiki.css'
patching file 'skin/pukiwiki.skin.php'
patching file 'skin/tdiary.css'
patching file 'wiki/466F726D617474696E6752756C6573.txt'
patching file 'wiki/50756B6957696B692F312E342F4D616E75616C2F506C7567696E2F412D44.txt'
patching file 'wiki/50756B6957696B692F312E342F4D616E75616C2F506C7567696E2F452D47.txt'
patching file 'wiki/50756B6957696B692F312E342F4D616E75616C2F506C7567696E2F482D4B.txt'
1 out of 4 hunks failed--saving rejects to 'wiki/50756B6957696B692F312E342F4D616E75616C2F506C7567696E2F482D4B.txt.rej'
patching file 'wiki/50756B6957696B692F312E342F4D616E75616C2F506C7567696E2F4C2D4E.txt'
patching file 'wiki/50756B6957696B692F312E342F4D616E75616C2F506C7567696E2F4F2D52.txt'
patching file 'wiki/50756B6957696B692F312E342F4D616E75616C2F506C7567696E2F532D55.txt'
patching file 'wiki/50756B6957696B692F312E342F4D616E75616C2F506C7567696E2F562D5A.txt'
1つ失敗しました。(48行目)
% echo "50756B6957696B692F312E342F4D616E75616C2F506C7567696E2F482D4B" | xxd -r -p
PukiWiki/1.4/Manual/Plugin/H-K
失敗したファイルは”wiki/PukiWiki/1.4/Manual/Plugin/H-K” でした。
とりあえず、このまま作業を進めます。
5. 稼働環境のファイルを更新
アップデートしたファイルを稼働中の環境にアップロードして上書きします。
PukiWiki 公式サイトに以下のように書かれていたので、wiki/ ディレクトリはタイムスタンプがアップデートパッチを実行した時刻に変わっているファイルのみアップロードしました。(.rej を除く)
6. 動作確認
アップデートしたPukiWiki のページが正常に表示されるか確認します。
PHP 8.1 の環境で正常に動作しました。
ページの一番下にPukiWiki 1.5.4 と表示されています。
アップデート失敗した”/?PukiWiki/1.4/Manual/Plugin/H-K” のページも表示はできました。
その後、PHP のバージョンをPHP 8.3 に上げても正常に動作しました。
大丈夫そうなので、以上で完了となります。
参照