LaCoocan に WikiFarm を作る修行
やりたいことは、こんなところ。
もしかしたらそもそもこれは WikiFarm と言わないのかもしれない。
Hiki*2 編 → 断念
初めて自分でインストールしてみた Wiki エンジンも Hiki だった。Ruby を覚えたいから、ちょうどいいかな、とか。それが 4 年前とか?
LaCoocan に WikiFarm を作ろうとしたときの第一候補が Hiki になったのも、同じ理由。進歩していないということか。
それはさておき。
403 とか 500 しか出ないんで難儀していたが、例外を拾って text/plain で表示するような仕組みを入れて試し、セキュリティ関連であることがわかった。
その後もいろいろ試したが、とりあえず LaCoocan では Hiki が使えない*3、という結論を導いた。
PukiWiki*5 編 → とりあえず成功
基本的な構想は、次のとおり。
- plugin を含む Wiki のエンジン部分は非公開な共通の場所に
- Wiki サイトごとに
- 公開している場所に最低限のファイル
- HTTP 認証がかけやすいよう、ディレクトリごとわける
- 非公開な場所に /var 的なもの
- 公開している場所に最低限のファイル
で結局このようにした。
サイト 1 公開領域
/homepage/site1/ +- index.php +- skin/ +- image/
index.php の中身で重要なところは、こんな感じ。
define('DATA_HOME', '/homepage/hidden/site1/'); define('ENGINE_DIR', '/homepage/hidden/pukiwiki/'); define('LIB_DIR', ENGINE_DIR.'lib/');
image/ を共通公開環境に置くという手もあるだろう。が、wiki 以外の要素も考慮したサイト構成としては、サイト 1 の情報が URI としてまとまっているほうがよいと判断した。
site/ は微妙。このディレクトリの意義をちゃんと把握できてないので。