<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>SuikaWiki 3 の導入</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> SuikaWiki 3 には、次のソフトウェアが必要です。<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Perl</anchor> 5.8.1 以上 <ul><li><anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.perl.com/">http://www.perl.com/</anchor-external>, <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.cpan.org/">http://www.cpan.org/</anchor-external></li><li>最近の大抵の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Un*x</anchor> 系システムには入っています
(が、最新版に更新しないといけないかもしれません)。</li></ul></li><li>Perl module <code class="perl"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI::Carp</anchor></code><ul><li>標準 module ですが、 1.27 以上か確認してください。</li><li>確認するには: <kbd>perl -MCGI::Carp -e &quot;print $CGI::Carp::VERSION&quot;</kbd> (シェルによっては <code>$</code> を <code>\$</code> などと escape しないといけないかもしれません)</li><li>少々古い版でも動きますが、エラー発生時の原因究明がしづらくなるかもしれません。</li></ul></li><li>Perl module <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Jcode.pm</anchor><ul><li><anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://openlab.ring.gr.jp/Jcode/">http://openlab.ring.gr.jp/Jcode/</anchor-external></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CPAN</anchor> からも入れられます。<ol><li><samp>$ <kbd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">perl</anchor> -M<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CPAN</anchor> -e shell</kbd></samp></li><li><code>cpan&gt; <kbd>install Jcode</kbd></code></li></ol></li></ul></li><li><del>Perl module <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BerkeleyDB</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MLDBM</anchor></del> <ul><li>CPAN から入れるには:<ol><li><samp>$ <kbd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">perl</anchor> -M<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CPAN</anchor> -e shell</kbd></samp></li><li><code>cpan&gt; <kbd>install BerkeleyDB</kbd></code></li><li><code>cpan&gt; <kbd>install MLDBM</kbd></code></li></ol></li><li>これらの module は<del>既定 (初期状態) の <abbr>SWHCS</abbr> では使っていますが、</del>
本質的に必要ではありません。 <del>使いたくなければ <code class="file">wikidata/suikawiki-config.ph</code> を修正してください。</del></li><li>現在の SuikaWiki3 では使用していませんが、
将来の版では補助的に使用するかもしれません。</li></ul></li><li>Perl module <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai</anchor><ul><li>Manakai のできるだけ新しい版を用意して下さい。
詳しくは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai</anchor> を見て下さい。</li><li>Manakai は更に Perl module <code class="perl"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Char::Class</anchor></code>
に依存しているので、こちらも用意して下さい。</li></ul></li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end>
SuikaWiki を入手して適当なディレクトリに配置してください。
最新の SuikaWiki 開発版は
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://suika.suikawiki.org/gate/cvs/suikawiki/script/">https://suika.suikawiki.org/gate/cvs/suikawiki/script/</anchor-external>
から入手できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WikiPlugin</anchor> module を compile します。</p><p>中核 plugin module をすべて compile:
<code>$ <kbd>cd lib/SuikaWiki/Plugin/; make all</kbd></code></p><p>その他の plugin module を compile:
<samp>$ <kbd>cd misc/plugins/; make <var>modulename</var>.pm</kbd></samp></p><p><code class="file">misc/plugins/</code> 以下にある plugin
module は、無くても動作しますので、必要に応じて
compile して下さい。
各 plugin module の提供する機能は file 名からおおよそ想像がつくはずです。</p><p><code class="file">misc/plugins/SuikaWiki09.pm</code> と <code class="file">misc/plugins/format/SuikaWikiConst09.pm</code> はとりあえず compile しておくことをお勧めします。
(これがないとおそらく楽しくありません。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 個々の wiki のデータベースおよび設定をまとめたディレクトリ <code class="file">wikidata/</code> 
を用意します。</p><p>SuikaWiki を初めて使用する場合には、
<code class="file">default/</code> を <code class="file">wikidata/</code>
に名前変更してください。
その後、 
<code>$ <kbd>cd wikidata/; make all</kbd></code>
して下さい。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki2</anchor> を利用されていた場合は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">..//SuikaWiki2からの移行</anchor>もご覧下さい。</p></section><section><h1>SWHCS の導入</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <abbr>SWHCS</abbr> (SuikaWiki HTTP‐CGI‐Script Driver)
は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WWW</anchor> から wiki に access するための
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>です。</p><p><code class="file">wiki.cgi</code> を WWW 鯖で公開されている適当なディレクトリに入れて、
実行権限を与えて適当に鯖の設定をしてください。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Apache</anchor> 用の <code class="file"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">.htaccess</anchor></code> 
があるので参考にしてください。)</p><p>SuikaWiki の他のディレクトリ (<code class="file">lib/</code>
や <code class="file">wikidata/</code> など) は、
<code class="file">wiki.cgi</code> と同じディレクトリに入れればそのまま使えます。
他の場所に置きたい時には、
<code class="file">wiki.cgi</code> と <code class="file">wikidata/suikawiki-config.ph</code> の最初の方にあるディレクトリ・ファイル名を修正してください。</p></section><section><h1>設定ファイル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 設定ファイルは <code class="file">wikidata/</code> にあります。
現在のところ
<code class="file">suikawiki-config.ph</code> と <code class="file">config.ph</code>
の二種類があります。</p><p><code class="file">suikawiki-config.ph</code> は Perl のスクリプトで、
wiki の低レベルの静的な設定 (たとえばデータベースのファイル名) を記述します。</p><p><code class="file">config.ph</code> は、 <code class="file">config.wp2</code> から
<kbd>make config.ph</kbd> として作成します。
<code class="file">config.wp2</code> は、 SuikaWiki 3 の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WikiPlugin</anchor>
の書式で記述します。内容は他の plugin module
で書けることは何でも書けます。</p><p>たとえば navigation panel に特定の WikiPage
に飛ぶボタンを加えたり、
特定のメッセージ (利用者への案内など。) 
を本来の WikiPage の内容に加えて出力したりできます。</p></section><section><h1>とにかく導入ガイド </h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 十分整った環境(謎)で何も考えずに wiki.cgi
を導入する手順は次の通りです (2004年4月30日現在)。</p><ol><li><code><samp>$ </samp><kbd>perl -MCPAN -eshell</kbd></code></li><li><code>cpan&gt; <kbd>install Jcode</kbd></code></li><li><code>cpan&gt; <kbd>q</kbd></code></li><li><code><samp>$ </samp><kbd>wget http://suika.fam.cx/gate/cvs/suikawiki/script/script.tar.gz?tarball=1</kbd></code></li><li><code><samp>$ </samp><kbd>tar zvxf script.tar.gz</kbd></code></li><li><code><samp>$ </samp><kbd>rm script.tar.gz</kbd></code></li><li><code><samp>$ </samp><kbd>mv script wiki</kbd></code></li><li><code><samp>$ </samp><kbd>cd wiki/lib</kbd></code></li><li><code><samp>$ </samp><kbd>wget http://suika.fam.cx/gate/cvs/messaging/manakai/lib/Message/Message.tar.gz?tarball=1</kbd></code></li><li><code><samp>$ </samp><kbd>tar zvxf Message.tar.gz</kbd></code></li><li><code><samp>$ </samp><kbd>wget http://suika.fam.cx/gate/cvs/perl/charclass/lib/Char/Char.tar.gz?tarball=1</kbd></code></li><li><code><samp>$ </samp><kbd>rm Char.tar.gz</kbd></code></li><li><code><samp>$ </samp><kbd>cd Char/Class</kbd></code></li><li><code><samp>$ </samp><kbd>make</kbd></code></li><li><code><samp>$ </samp><kbd>cd ../..</kbd></code></li><li><code><samp>$ </samp><kbd>make</kbd></code></li><li><code><samp>$ </samp><kbd>cd ../misc/plugins</kbd></code></li><li><code><samp>$ </samp><kbd>make</kbd></code></li><li><code><samp>$ </samp><kbd>rm request-log.pm</kbd></code> ;; 他、要らない plugin の .pm を消す</li><li><code><samp>$ </samp><kbd>cd ../..</kbd></code></li><li><code><samp>$ </samp><kbd>mv default wikidata</kbd></code></li><li><code><samp>$ </samp><kbd>cd wikidata</kbd></code></li><li><code><samp>$ </samp><kbd>make</kbd></code></li></ol><p>これで (きっと) 動くようになります。</p></section><section><h1>Q &amp; A</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> Q: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Win32</anchor> でも動きますか?</p><p>A: SuikaWiki3 の code は原則的に実行システム非依存ですので、
Perl があるどんな環境でも動くはずです (但し、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EBCDIC</anchor> 版 Perl
を除きます)。</p><p>手元で試した限りでは、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ActivePerl</anchor> + Apache 2 で問題なく動作しました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cygwin</anchor> 版でもおそらく動くでしょう。</p><p>但し、 <kbd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">make</anchor></kbd> などが用意されていない場合には
<code class="file"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Makefile</anchor></code> に書かれている準備作業をすべて手動で行うことになりますから、
多少の知識と手間が必要となります。 (Cygwin を入れておくとよいでしょう。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> Q: 他の wiki や CGI スクリプトでは関連ファイルのパスや URI
を指定しなければならないものが多いですが、 SuikaWiki 
でも必要ですか?</p><p>A: 通常は SuikaWiki3 が自動的に決定しますので、
そのような設定は不要です。</p><p>ただし、好みでディレクトリ構成を変えたり、ウェブ鯖の redirect
機能を使ったりする場合には、 <code class="file">wiki.cgi</code>
や <code class="file">wikidata/suikawiki-config.ph</code> 
を修正する必要があるかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> Q: 実行すると <code class="file">/main.0.0.0.lock</code> 
が作成できないというようなメッセージが出力されます。</p><p>A: このエラーは <code class="file">wikidata/lock</code> というディレクトリが存在しない時に発生します。
ディレクトリを作成すれば解決します。</p><p>(古い版を使っている場合以外は <kbd>make</kbd> で自動的にディレクトリが作られますからこの問題は発生しません。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> Q: 実行すると WikiDB で致命的誤りが発生したというメッセージが出力されます。
しかし誤りの詳細は出力されないか、または SuikaWikiConst/0.9
の変換がなんちゃらというものだけしか出てきません。</p><p>A: このエラーは <code class="file">wikidata/cache</code>
というディレクトリが存在しない時に発生するようです。
ディレクトリを作成すれば解決するはずです。</p><p>(古い版を使っている場合以外は <kbd>make</kbd> で自動的にディレクトリが作られますからこの問題は発生しません。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> Q: この wiki (SuikaWiki @ suika.fam.cx) の設定を教えて下さい。</p><p>A: この wiki の設定ファイルは
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="SuikaCVS:&quot;suikawiki/wikidata/suikawiki-config.ph&quot;">IW:SuikaCVS:&quot;suikawiki/wikidata/suikawiki-config.ph&quot;</anchor-external>,
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="SuikaCVS:&quot;suikawiki/wikidata/config.wp2&quot;">IW:SuikaCVS:&quot;suikawiki/wikidata/config.wp2&quot;</anchor-external> です。
参考にして下さい。</p></section><section><h1>ソフトウェアのライセンス</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki3</anchor> ソフトウェアのライセンスは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">perlと同じライセンス</anchor>です。</p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> わからないことなどがあればお気軽にどうぞ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
Search plugin module (<code class="file">misc/plugins/link/search.wp2</code>)
は、 WikiPage の数が多くなると処理に大変時間がかかるようになります。
頻繁に access がある鯖で運用すると危険です。
その場合、 Namazu plugin (<code class="file">misc/plugins/link/namazu.wp2</code>)
を併用して下さい。 (別途 Namazu <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.namazu.org/">http://www.namazu.org/</anchor-external>
と Namazu を使用して作成した wiki の<ruby>索引<rt>インデックス</rt></ruby>が必要です。)</p><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end>
頻繁に access される site で Referer, RequestLog, Map plugin を使用されると危険なことになります。ご注意ください。</p><p xmlns="http://www.w3.org/1999/xhtml">この問題を回避した版は現在開発中です。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2004-03-14 13:57:49 +00:00</weak>)</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal> Referer plugin のこの問題は修正しました。
RequestLog は準備中です。 Map plugin と Search plugin (旧 Map plugin) も基本的に修正しましたが、 Search plugin の部分は構造上修正が困難なので、頻繁に access される site では Namazu plugin と併用して回避してください。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2004-04-26 07:43:50 +00:00</weak>)</p></delete></section></body></html>