内容
経緯
PukiWikiは,2004年にWikiWikiというサイト/仕組みを知り,今後はこの流れだろうと感じ導入しました.
と,簡単に書きましたが,当時は日本語が使えるWikiがなかなか見つかりませんでした.その後実際にWikiWikiの一種であるWikiPediaは隆盛を誇りました.その他のWikiはそんなに人々に知られることはありませんが,基本的な考え方はWordPress等多くのCMS系Webに受け継がれています.
2004年まではご多分にもれずhtmlで日記的なWebを書いていました.当時は当たり前だったのでそれほど不便に感じませんでしたが,WikiWikiの編集の手軽さと機能,特にオートリンク機能には魅了されました.htmlではけっこう面倒なサイト内のリンクを勝手にやってくれるわけです.
ということで,当時日本語をサポートしてWikiWikiらしいPukiWikiを見つけて飛びつき,個人的なBLOG的Webを移行したわけです.
それからもう21年も使っています.どうしてもボランティアベースのサポート体制は強力とは言えず,どんどん進化していくPHPに着いていけず,現在のPHPは8.4ですが,PukiWikiは8.1に対応したところです.8.1もサポート終了目前と思われます.
PukiWikiを使い始めて間もなくどうもBLOGにはむかないと感じ,BLOGらしいBLOGソフトを探したところ,ZopeというCMSで動くCOREBlogを見つけました.
2005年に外部公開向けのBLOG部分はPukiWikiからそのCOREBlogに移行しました.清水川さんというかたの開発で,便利に利用させていただき感謝しています.その後PloneベースのCOREBlog2に移行して2013年頃まで筆者の公開ブログとして運用してきました.
PukiWikiもBLOG以外の情報を書く,主に自分用のデータベースとして使い続けました.
2013年からWordPressの運用を始めました.COREBlog(2)はZopeやPloneのupgradeに伴い動かなくなってしまいましたが,PukiWikiは個人用データベースとして,今日まで途切れることなく動かし続けています.
現役時代は,たまに国内外に出張することがあり,個人的な旅行もたまにしました.ごくまれにPukiWikiにため込んだデータが出先から必要になることもありましたが,現在は家庭内LANからアクセスできれば十分です.
WordPressは世界中の猛者たちがよってたかって開発・サポートを続けていますので,当然ながら最新のPHPに対応して,ユーザーに最新版のPHPの使用を勧めます.ということで,最新のPHPとPukiWikiをサポートする最新版のPHPの2本立てにする必要が出てきました.
Slackware ARMでPHP8.4のbuild
数か月前にもPHPの最新版のbuildをsbopkgで試みましたが,その時はbuildできず問題を先送りにしました.しかし,今回8.4を同じくsbopkgでbuildしたら,できてしまいました.それで先に進む必要が出たわけです.できたPHPは8.4.10です.ちなみに,PHP 8.1.xがもしbuildできればまだセキュリティーアップデートのサポート中で,PukiWikiも「動く」としているのですが,残念ながらSlackBuildsにはありません.
自力でbuildする手もないでもないですが,PukiWikiのPHP8.2以降のサポートより先に8.1セキュリティーアップデートが終了したら,現在と同じ状況になりますから今苦労することはあまり得策ではありません.
ということで当初の方針通りWordPressは最新のPHP系列で,PukiWikiは別の隔離したシステムで動かすことにします.
隔離システムの候補としてMacPorts
いくつか方法を考えました.PHPのサポート終了の7.4系列,もしくはPukiWikiがサポートしている最新の8.1系列をどこかで動かしてそこにPukiWikiを移転する.ざっと考えれば,
- 他にRaspbery Piなどのシステムを立ち上げる
- どこかのWSで仮想マシンを動かしてそこでPukiWikiを動かす
ChatGPTはVirtual Hostも選択肢に挙げましたが,うちの環境ではたぶん無理なので外しました.
1は簡単そうでそうでも無いのです.たとえばRaspberry PiにRaspberry Pi OSをインストールした場合,そこに古いPHPをインストールするのはそんなに簡単ではありません.一番簡単なのは,別マシンでSlackware ARM 15.0を動かすことですが,面白みに欠けます.
2も不可能ではないですが,WSをそのために24時間運用する必要があります.
そこで考えついたのが,表記のMacPortsで動かすことで,1と2の折衷案とも言えます.
メインWSのM4 Mac miniでMacPortsによりPukiWikiが動くPHPをインストールできれば,少なくともメインWSで作業しているときにPukiWiki内の個人データが必要になったらアクセスはたやすいです.また家の中の他所からのアクセスもメインWSが動いていれば大丈夫です.
自宅外からアクセスとなると一工夫必要になりますし,そもそも24時間WSを動かしておく必要もあります.ただし,現実的にはその必要性はほとんど無い〜皆無の間だと思います.
PukiWikiを1.5.4に
PHPを8.xにする前に,PukiWikiを最新版にupdateする必要があります.筆者の走らせていたのは1.5.3で,2022年にupdateしています.「動いているシステムをいじらない」という金科玉条を珍しく守っていました.
まずは,1.5.3のディレクトリーに何かの名前を付けて,cp -Rdvpでまんま複製します.ここには手を付けません.次に1.5.4のzipを展開し,中身をPukiWikiのディレクトリーに上書きコピーします.
すると,pukiwiki.ini.phpやskin.php等がデフォルトに戻ってしまいますので,先に複製した保存用データを見比べて修正します.この辺の作業はブラウザでアクセスして確認しながらやることになります.ハッシュ化されたパスワードのコピーを忘れなければ後は気がついたらで大丈夫と思います.
後で気がついた主なものは,
- autolink機能をonにする
- chasen/kakasiの選択とpathの修正
くらいでしょうか.
MacPortsでPHP80がインストール可能
表題の通りです.案外簡単にインストールできました.が,それは結果から見ればそうなんですが,一日逡巡しました.
MacPortsで,
port install php80 +apache2
とかすると,簡単にphp8.0.30がインストールできるのですが,動いてくれないのです.httpd.confにphpという言葉が一つも見つかりませんし,libphpがどこにもできません.
port install php80-apache2handler
/opt/local/bin/apxs -a -e -n php mod_php80.so
なぜ8.1でなく,8.0なのかは詳しくは忘れましたが,8.1で行き詰まったからです.後で余裕ができたら8.1を再度試してみます.
Chasenがインストールできない
MacPortsにChasenはありますが,インストールできませんでした.辞書の要らないKakasiは動きました.
今後の予定
現在,元のサイトでPukiWiki 1.5.4を動かして問題がないか確認しています.また,M4 Mac miniには時々rsyncでコピーして,こちらも確認しています.pukiwiki.ini.phpなどを毎回直すのは面倒なのでfilter機能で同期から除外しています.

PukiWikiの移行が済んだら,WordPressのPHPを8.4.xにupgradeします.