Edit  Diff  Hiki -Front Page-  Index  Search  Changes  History  Source  Login

HikiFarm

 English version may be found at https://hikiwiki.org/en/HikiFarm.html.

HikiFarmとは〜〜

単一がサイトで複数のWikiを提供するWikiFarmというサービスがあります。こ れをHikiで簡単に実現するためのCGIがHikiFarmです。WikiFarmができると、 以下のような嬉しさがあります。

  • 自力でWikiを設置できない人に、Wikiサイトを貸し出せるようになります
  • 同じWikiサイト内に共存させるには無理があるページを、簡単に分離できるようになります
    • 違う内容なのに同じページ名が必要、といった名前空間の衝突がなくなります
    • 「ジャンル」のような無理な概念を導入する必要がなくなります
    • ページデザインをサイトごとに変更できるようになります

HikiFarmは、HikiFarmのCGIの下にディレクトリを作成し、その下にHiki実行 環境を生成することで複数Hikiの管理を行います。例えば、HikiFarmのURLが 以下のような場合、

http://example.com/hikifarm/

「sample」というHikiサイトを生成すると以下のようなURLになります。

http://example.com/hikifarm/sample/

HikiFarm の設置方法

Hikiは好きなところに展開します (例: /home/foo/src/hiki)。 ここを、Hiki インストールディレクトリと呼びます。 このディレクトリはWebから見える必要はありません。

CGIを設置するディレクトリを決め (例: /home/foo/public_html/hikifarm)、 そこをWebサーバの権限で書き込み可能にします。 また、デフォルトのインデックス (ApacheならDirectoryIndex) を、 index.cgiにします。

# Apacheの場合の.htaccess (またはhttpd.conf) の例
Options +ExecCGI +FollowSymLinks
AddHandler cgi-script .cgi
DirectoryIndex index.cgi

テーマのディレクトリ (theme) も、CGIを設置するディレクトリに置いておくと 良いでしょう。(例: /home/foo/public_html/hikifarm/theme)

初期状態では、作成された farm 内の各 Hiki サイトのテーマディレクトリへのパスが、
Hiki 自身と同じく相対パスにて「theme」となっています。
つまり、hoge という Hiki サイトを farm 内に作成すると、
/home/foo/public_html/hikifarm/hoge/theme にテーマがあると期待することになります。

データを保存するディレクトリを決め (例: /home/foo/var/hiki)、 そこをWebサーバの権限で書き込み可能にします。 このディレクトリはWebから見える必要はありません。

Hiki インストールディレクトリ下の misc/hikifarm から、 index.cgiとhikifarm.confの2つを、CGIを設置するディレクトリにコピーします。 index.cgiには実行権限を付け、hikifarm.confは自分の環境に合わせて書き換 えておきます。

次に、hiki.confをHikiインストールディレクトリに置いて、環境に合わせて 書き換えます。このファイルは本質的にhikiconf.rbと同じものですが、 「__my_wiki_name__」というキーワードが生成されたWikiサイト名に置き変わ るようになっているところがミソです。

また、@mailに「Wiki名@hikifarm.quickml.com」が入っています。更新情報を QuickMLで配信するための設定です。必要に応 じて書き換えてください (配信無用ならnilにする)。

CGIを設置したディレクトリにブラウザからアクセスすれば、HikiFarmの画面 が現れます。

CVS/Subversion バックエンドを用いる場合は、vc-backend-setup.cgi を実行してください。

CVS/Subversion バックエンドについて

Hikifarm では、バージョン管理のバックエンドとして CVS もしくは Subversion を使うことができます。 CVS を用いる場合は repos_type を 'cvs' に、 Subversion を各 Wiki ごとのリポジトリで使用する場合は repos_type を 'svn' に、 Subversion を Hikifarm 全体で単一リポジトリで使用する場合は repos_type を 'svnsingle' に設定してください。

なお、CVS/Subversion バックエンドを用いる場合は、 Hikifarm 設置完了後に vc-backend-setup.cgi を実行してください。 これを実行しないと、バージョン管理が正しくなされません。

実行方法は、vc-backend-setup.cgi を Hikifarm の index.cgi を設置したディ レクトリにコピーし、CGI としてアクセスすれば OK です (シェルが使える場合 は、コマンドラインから実行してもかまいません)。

なお、一度実行した vc-backend-setup.cgi は、Web サーバから削除してかまいません。 (むしろ、削除しましょう)

Last modified:2013/10/29 20:56:32
Keyword(s):
References:[repository]