使ってみたのは、Githubの(?)Wiki engine「Gollum」
http://github.com/github/gollum
Ruby, Sinatraのお馴染みの構成。今のところRuby 1.8でも動く優しい仕様。
画面はこんな感じ。
インストール
gemで入れる方法もあるが、細かい事情によりちょいちょいいじる必要があるため、git cloneしてbundlerで拾ってくる方法を取る(bundlerは例えばUbuntu 12.04ならapt-get install ruby-bundlerで入る。)bundleコマンドが使える状態になったら、bundleコマンドを叩く前に、libxsltの開発パッケージをインストールする(自分のところでこれが足りなかっただけで、他にも必要かも)
# apt-get install libxslt-dev
あとは、cloneしてbundle installすればOK。
$ cd ~/opt $ git clone https://github.com/github/gollum.git $ cd gollum $ bundle install --path vendor/bundler
設定
保存するためのgitレポジトリを作る。$ mkdir ~/wikidata $ cd wikidata $ git init--bareで作ったものは2012/11/17時点のmasterでは怒られる(手元のは対応させちゃった)
実行方法
bundlerで入れたので、bundle execを使う。$ bundle exec bin/gollum --port 5080 --base-path wiki ~/wikidata--base-path wikiを指定すると、/wiki/がトップになる(=ProxyPassするときに便利)
あとはhttp://server:5080/wiki/にアクセスすればOK.
デーモン化
例によってrunitを使った。以下のような感じ。$ mkdir -p ~/var/log/gollum $ mkdir -p ~/service/.gollum/log $ vi ~/service/.gollum/run ~~~ #!/bin/sh echo "Start." cd ~/opt/gollum exec bundle exec bin/gollum --host 127.0.0.1 --port 5080 --base-path wiki ~/wikidata 2>&1 ~~~ $ chmod +x ~/service/.gollum/run $ vi ~/service/.gollum/log/run ~~~ #!/bin/sh exec svlogd -tt ~/var/log/gollum ~~~ chmod +x ~/service/.gollum/log/run $ mv ~/service/.gollum ~/service/gollum
マージされたので--host使えます。
認証
Apacheでかける。<Location /wiki> AuthUserFile /dokka/www/htpasswd-wiki AuthGroupFile /dev/null AuthName "Input password" AuthType basic require valid-user </Location> ProxyPass /wiki/ http://127.0.0.1:5080/wiki/ ProxyPassReverse /wiki/ http://127.0.0.1:5080/wiki/
これで概ね使うことができる。
0 件のコメント:
コメントを投稿