SuikaWiki3の導入

SuikaWiki3の導入

SuikaWiki 3 の導入

[1] SuikaWiki 3 には、次のソフトウェアが必要です。

[2] SuikaWiki を入手して適当なディレクトリに配置してください。 最新の SuikaWiki 開発版は https://suika.suikawiki.org/gate/cvs/suikawiki/script/ から入手できます。

[3] WikiPlugin module を compile します。

中核 plugin module をすべて compile: $ cd lib/SuikaWiki/Plugin/; make all

その他の plugin module を compile: $ cd misc/plugins/; make modulename.pm

misc/plugins/ 以下にある plugin module は、無くても動作しますので、必要に応じて compile して下さい。 各 plugin module の提供する機能は file 名からおおよそ想像がつくはずです。

misc/plugins/SuikaWiki09.pmmisc/plugins/format/SuikaWikiConst09.pm はとりあえず compile しておくことをお勧めします。 (これがないとおそらく楽しくありません。)

[4] 個々の wiki のデータベースおよび設定をまとめたディレクトリ wikidata/ を用意します。

SuikaWiki を初めて使用する場合には、 default/wikidata/ に名前変更してください。 その後、 $ cd wikidata/; make all して下さい。

SuikaWiki2 を利用されていた場合は、 ..//SuikaWiki2からの移行もご覧下さい。

SWHCS の導入

[5] SWHCS (SuikaWiki HTTP‐CGI‐Script Driver) は、 WWW から wiki に access するための CGIスクリプトです。

wiki.cgi を WWW 鯖で公開されている適当なディレクトリに入れて、 実行権限を与えて適当に鯖の設定をしてください。 (Apache 用の .htaccess があるので参考にしてください。)

SuikaWiki の他のディレクトリ (lib/wikidata/ など) は、 wiki.cgi と同じディレクトリに入れればそのまま使えます。 他の場所に置きたい時には、 wiki.cgiwikidata/suikawiki-config.ph の最初の方にあるディレクトリ・ファイル名を修正してください。

設定ファイル

[6] 設定ファイルは wikidata/ にあります。 現在のところ suikawiki-config.phconfig.ph の二種類があります。

suikawiki-config.ph は Perl のスクリプトで、 wiki の低レベルの静的な設定 (たとえばデータベースのファイル名) を記述します。

config.ph は、 config.wp2 から make config.ph として作成します。 config.wp2 は、 SuikaWiki 3 の WikiPlugin の書式で記述します。内容は他の plugin module で書けることは何でも書けます。

たとえば navigation panel に特定の WikiPage に飛ぶボタンを加えたり、 特定のメッセージ (利用者への案内など。) を本来の WikiPage の内容に加えて出力したりできます。

とにかく導入ガイド

[10] 十分整った環境(謎)で何も考えずに wiki.cgi を導入する手順は次の通りです (2004年4月30日現在)。

  1. $ perl -MCPAN -eshell
  2. cpan> install Jcode
  3. cpan> q
  4. $ wget http://suika.fam.cx/gate/cvs/suikawiki/script/script.tar.gz?tarball=1
  5. $ tar zvxf script.tar.gz
  6. $ rm script.tar.gz
  7. $ mv script wiki
  8. $ cd wiki/lib
  9. $ wget http://suika.fam.cx/gate/cvs/messaging/manakai/lib/Message/Message.tar.gz?tarball=1
  10. $ tar zvxf Message.tar.gz
  11. $ wget http://suika.fam.cx/gate/cvs/perl/charclass/lib/Char/Char.tar.gz?tarball=1
  12. $ rm Char.tar.gz
  13. $ cd Char/Class
  14. $ make
  15. $ cd ../..
  16. $ make
  17. $ cd ../misc/plugins
  18. $ make
  19. $ rm request-log.pm ;; 他、要らない plugin の .pm を消す
  20. $ cd ../..
  21. $ mv default wikidata
  22. $ cd wikidata
  23. $ make

これで (きっと) 動くようになります。

Q & A

[11] Q: Win32 でも動きますか?

A: SuikaWiki3 の code は原則的に実行システム非依存ですので、 Perl があるどんな環境でも動くはずです (但し、 EBCDIC 版 Perl を除きます)。

手元で試した限りでは、 ActivePerl + Apache 2 で問題なく動作しました。 Cygwin 版でもおそらく動くでしょう。

但し、 make などが用意されていない場合には Makefile に書かれている準備作業をすべて手動で行うことになりますから、 多少の知識と手間が必要となります。 (Cygwin を入れておくとよいでしょう。)

[14] Q: 他の wiki や CGI スクリプトでは関連ファイルのパスや URI を指定しなければならないものが多いですが、 SuikaWiki でも必要ですか?

A: 通常は SuikaWiki3 が自動的に決定しますので、 そのような設定は不要です。

ただし、好みでディレクトリ構成を変えたり、ウェブ鯖の redirect 機能を使ったりする場合には、 wiki.cgiwikidata/suikawiki-config.ph を修正する必要があるかもしれません。

[13] Q: 実行すると /main.0.0.0.lock が作成できないというようなメッセージが出力されます。

A: このエラーは wikidata/lock というディレクトリが存在しない時に発生します。 ディレクトリを作成すれば解決します。

(古い版を使っている場合以外は make で自動的にディレクトリが作られますからこの問題は発生しません。)

[12] Q: 実行すると WikiDB で致命的誤りが発生したというメッセージが出力されます。 しかし誤りの詳細は出力されないか、または SuikaWikiConst/0.9 の変換がなんちゃらというものだけしか出てきません。

A: このエラーは wikidata/cache というディレクトリが存在しない時に発生するようです。 ディレクトリを作成すれば解決するはずです。

(古い版を使っている場合以外は make で自動的にディレクトリが作られますからこの問題は発生しません。)

[15] Q: この wiki (SuikaWiki @ suika.fam.cx) の設定を教えて下さい。

A: この wiki の設定ファイルは IW:SuikaCVS:"suikawiki/wikidata/suikawiki-config.ph", IW:SuikaCVS:"suikawiki/wikidata/config.wp2" です。 参考にして下さい。

メモ

[7] わからないことなどがあればお気軽にどうぞ。

[13] Search plugin module (misc/plugins/link/search.wp2) は、 WikiPage の数が多くなると処理に大変時間がかかるようになります。 頻繁に access がある鯖で運用すると危険です。 その場合、 Namazu plugin (misc/plugins/link/namazu.wp2) を併用して下さい。 (別途 Namazu http://www.namazu.org/ と Namazu を使用して作成した wiki の索引 (インデックス) が必要です。)

[8] 頻繁に access される site で Referer, RequestLog, Map plugin を使用されると危険なことになります。ご注意ください。

この問題を回避した版は現在開発中です。 (名無しさん 2004-03-14 13:57:49 +00:00)

[9] >>8 Referer plugin のこの問題は修正しました。 RequestLog は準備中です。 Map plugin と Search plugin (旧 Map plugin) も基本的に修正しましたが、 Search plugin の部分は構造上修正が困難なので、頻繁に access される site では Namazu plugin と併用して回避してください。 (名無しさん 2004-04-26 07:43:50 +00:00)