HikiFarm

同一マシン上で複数の Wiki をお手軽に立てたかったので Hiki の HikiFarm を設定してみました。

Hiki のインストールはこんな感じで。

# aptitude install hiki

データや設定は /home/hiki ディレクトリ配下にすべて置くような形にしました。
hiki というユーザーがいるわけではないので、/home の下というのはちょっとアレなんですが、バックアップ等のことを考えて /home 配下にしました。

/home/hiki/data     - 個々の Wiki のデータが置かれる
/home/hiki/hiki     - Hiki プログラムディレクトリ
/home/hiki/htdocs   - Web の公開ディレクトリ
/home/hiki/svn      - データの Subversion 管理
/home/hiki/htpasswd - HikiFarm トップ画面のパスワード
# mkdir -p /home/hiki/{data,hiki,htdocs}
# svnadmin create /home/hiki/svn
# cd /home/hiki/htdocs
# ln -s /usr/share/hiki/misc/hikifarm/index.cgi admin.cgi
# ln -s /usr/share/tdiary/theme .
# cp /usr/share/hiki/misc/hikifarm/hikifarm.conf .
# cd /home/hiki/hiki
# ln -s /usr/share/hiki/{data,hiki,misc,hiki.cgi} .
# cp /usr/share/hiki/misc/hikifarm/hiki.conf .
# chown -R www-data:www-data /home/hiki/data /home/hiki/htdocs /home/hiki/svn

index.cgi を admin.cgi にしているのは、これをBASIC認証で保護したかったためです。index.cgi のままだと、個々の Wiki の index.cgi まで対象になってしまうので。

/home/hiki/htdocs/hikifarm.conf は次のように変更しました。

hiki = '/home/hiki/hiki'
data_path = '/home/hiki/data'
repos_type = 'svnsingle'
repos_root = '/home/hiki/svn'
title = 'xxxx'
author = 'TOMITA Masahiro'
mail = 'xxxx@xxxxxxxx'

/home/hiki/hiki/hiki.conf は次のように。

@mail = 'xxxx@xxxxxxxx'

Apache の設定はこんな感じです。.htaccess でも問題ないと思います。

  <Directory /home/hiki/htdocs>
    Options +ExecCGI +FollowSymlinks -Indexes
    AddHandler cgi-script .cgi
    DirectoryIndex index.cgi
    <Files "hikifarm.conf">
      deny from all
    </Files>
    <Files "hikiconf.rb">
      deny from all
    </Files>
    <Files "admin.cgi">
      AuthType Basic
      AuthName "Hikifarm Admin"
      AuthUserFile /home/hiki/htpasswd
      Require user admin
    </Files>
  </Directory>

/home/hiki/htpasswd は次のようにして作成します。

# htpasswd -c /home/hiki/htpasswd admin

ブラウザから /home/hiki/htdocs/admin.cgi に該当する URL にアクセスして、パスワードを入力すると HikiFarm のトップ画面が表示されるので、そこで Wiki を作ることができます。