2011年3月3日木曜日

wikifs + acme wiki

wikiを導入してみました。

参考: Inferno Wiki

すでにwikifsが組み込まれているacme-sacにて作業。

ローカルwiki

wikiの元になるディレクトリを用意。
空だとうまくいかなかったので、
このへん
から作成済みのディレクトリを持ってきた。

wikiディレクトリを/usr/USER/lib/wikiとして配置。


mount {wikifs -d $HOME/lib/wiki} /mnt/wiki

とする。
こうすると、/mnt/wikiにwikifsがマウントされる。
この状態でAcmeからアクセス可能。

acmeでWikiを記述し、中クリックするとWikiインターフェースが起動する。
カバーページがまず表示されるので、それを編集し、putすると更新される。
Newすると新規ページが作られる。
一行目にnameをつけてputするとその名前のページが作成される。
リンクは[名前]とする。
右クリックでジャンプ。

段落以外の改行はputの時に取り除かれるようだ。ちょっと面倒。

wikiをウェブで公開

wikiをウェブで公開可能。
/services/httpd/root/wikiディレクトリをつくっておく。
先程の/sys/lib/wikiの直下のファイルをそこに置いておこう(ウェブでwikiを編集するときに使われる)。


bind /mnt/wiki /services/httpd/root/wiki
svc/httpd/httpd &

とすると、wikiがhttp://ホスト/wiki というアドレスで参照可能となる。

ブラウザでアクセスするとカバーページが見える。
編集機能も使えるっぽいが、編集後のジャンプ先のページのURLがおかしいのと、
日本語が化ける問題がある。
ブラウザからは閲覧のみがよさそう。

ウェブ上のwikiをacmeで直接編集


ndb/cs
mount -9 tcp!plan9.bell-labs.com!wiki /mnt/wiki


とすると外部公開されているplan9のwikiがマウントできる。
編集はさすがに試していないが、ジャンプは可能だった。

自分で同じようなことをする場合は、


ndb/cs
listen -A tcp!*!wiki {export /mnt/wiki &}

とかするといいのかな?(公開するのは$HOME/lib/wikiじゃないよね?)

所感

なかなか使えそうなので使ってみよう。
分散してストアしたいが、それは今後の課題とする。
通常のhosted inferno、native infernoでもやってみる予定。

1 件のコメント:

  1. hosted infernoにて同様に動作を確認。
    また、/mnt/wikiをlistenしてやると、
    リモートで編集できた。
    wikiサーバーを建てる場合は、サーバーでhttpdと
    /mnt/wiki両方を公開するのがよさそう。

    返信削除