ホーム > HTMLに役立つヒント > マニュアルに書いてないNAMAZU > きのぼずのための設定
ここでは高機能掲示板システムきのぼずのための設定を書きます。
きのぼずの掲示板ディレクトリで、インデックスを作る必要がないものがあります。kb.db、kb.bord、kb.aid、kn.conf、kb.mailがそれにあたります。これをオミットします。
きのぼずでは、発言を変更した場合はファイル名に「_1」をつけます。このファイルは検索してもらいたくないのではじき出します。ここでは9回変更したファイルまではじいています。こんなに何度も変更することはないと思いますが。
赤い部分が変更個所です。
元の設定:# $DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*";
設定変更:$DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*|kb.db|kb.bord|kb.aid|kn.conf|kb.mail|.*_[1-9]";
問題は削除した発言。きのぼずではkb.dbに発言のデータベースを持っており、実はきのぼずの「発言削除」は発言ファイルそのものを削除するわけではなく、このデータベースの中で、ファイル番号の頭に「#」をつけてコメントアウトしているだけなんです。従って、ファイルそのものは残っているので、そのままにしておくとこれもインデックスを作成・検索できてしまいます。
どうするかというと、kb.dbを頼りに「#」のついた発言を探して、その発言ファイルを移動させればよいのです。移動させる発言番号の一覧表は、kb.dbを手元にダウンロードしてきて、行頭に「#」のないものを削除していけば簡単です。
ここでは「out」ディレクトリを該当の掲示板ディレクトリの外に作り、こちらに移動させます。
mv 発言番号 発言番号 発言番号 … ../out
↑「../out」はコピー先のディレクトリ名。こんな風に発言番号(発言ファイル名)を並べて一気に移動すると効率的。
きのぼずの発言ファイルは、冒頭に必ず「<!-- Kb-System-Id: 1.0/6.3 -->」のようにきのぼずようのコメントが入っています。発言ファイル名はただの発言番号ですから、このままインデックスを作ると「要約」部分にこのコメント行が表示されてしまいます。
そこで、一度オリジナル発言ファイルを「発言番号_@」という名前に変更し、インデックス作成用に同じ内容+タイトル・発言者名を加えたニセ「発言番号」ファイルを作ります。
この状態でNAMAZUのインデックスを作成し、インデックスの作成が終わったらニセファイルを削除し、オリジナルのファイル名を元に戻します。
こんなことを手動でやっていては大変なので、この処理を一気にやってくれるツールを作りました。「kbnama.pl」といいます。
●kbnama.plの使い方はこちら。
さて、このままだと、検索結果のリンクは、下の×のように、直接発言ファイルにリンクしてしまいます。ここは○のようにちゃんときのぼずを通して表示させたいもの。
× http://www.abc.co.jp/%7Ename/kb/test/208
○ http://www.abc.co.jp/%7Ename/kb/kb.cgi?b=test&c=e&id=208
こんな時は次のようにReplace行を必要なだけ追加していきます。赤い部分が変換前のURL、緑が変換後のURLです。キモは「test/」のように掲示板名の後ろの「/」まで含めて変換させる点です。なお、「%7E」とは「~」のことです。必ず「%7E」と書きましょう。
元の設定:Replace /home/name/html/http://www.abc.co.jp/%7Ename/
設定変更:
Replace /home/name/html/kb/test/http://www.abc.co.jp/%7Ename/kb/kb.cgi?b=test&c=e&id=
Replace /home/name/html/kb/掲示板1/http://www.abc.co.jp/%7Ename/kb/kb.cgi?b=掲示板1&c=e&id=
これでちゃんときのぼずにリンクさせることができます。
ちょっとした注意が必要で、どうもこのReplace文は上から読んでいって、該当するものがあったらそれに変換するようになっているようです。したがって、誤変換を防ぐために短いものが後にくるようにした方が良いです。こんな感じ。
Replace /home/name/html/kb/test/
Replace /home/name/html/kb/
Replace /home/name/html/
さて、ここで注意。きのぼずの運用で、例えば僕の場合「camera」ディレクトリを常に最新の掲示板として使い、いっぱいになると「camera01、02」として別のディレクトリに移してきました。こうすることの利点は、ホームページなどからきのぼずへのリンクを変更する必要がないことです。
ところが、このままで索引を作ると、NAMAZUシステムではディレクトリでインデックスを作るので、この方法では過去ログと最新ログがゴッチャにインデックスされ、困ったことになります。
つまり、NAMAZUを導入するには、最新掲示板のディレクトリを最初から「cameraXX」として作っていく必要があるのでした。同時に、きのぼずにリンクしているリンク元も毎回変更しなくてはいけません。
ちょっと面倒ですが、kb.bordにコメント行を作り、そこに変更すべきファイルのリストを書き込んでおいて、変更漏れがないようにしています。きのぼずからNAMAZUを呼び出し、NAMAZUからも最新掲示板へ戻るために、NAMAZUの関連ファイルも変更リストに入っています。
1.タイトルが表示されない。
きのぼずシステムではkb.dbにしかタイトルがないため、NAMAZUでインデックスを作る際にタイトルが反映されません。
2.タグが除去されない。
きのぼずの発言ファイルをhtmlファイルではなくプレーンテキストとして認識するため、タグが除去されない。<!-- Kb-System-Id: 1.0/6.7 -->なんてのも出てしまいます。
※1.2.の問題は、インデックス作りの前にきのぼずの発言ファイルの頭に「<title></title>」をkb.dbから取り出して挿入できれば解決します。これを実現するのがkbnama.pl(kbnama.plの使い方)です。
3.発言間のリンクがわからない。
こればかりはどうにもならないっす。きのぼずの検索結果ならこんな感じで検索結果が表示され、発言間のリンク(流れ)がわかります。
76. GR1sの値段 ▼ [MK] 2000/1/28(21:17)
79. ▲ Re: GR1sの値段 ▼ [penguin-19] 2000/1/28(21:31)
82. ▲ Re: GR1sの値段 ▼ [Po!] 2000/1/29(05:30)
88. ▲ Re: GR1sの値段 ▼ [penguin-19] 2000/1/29(22:26)
90. ▲ Re: GR1sの値段 ▼ [Po!] 2000/1/29(23:06)
96. ▲ Re: まさかELLE pro? [penguin-19] 2000/1/30(13:41)
ちゃんと発言の流れが見えるわけですが、NAMAZUでは検索結果ではそのあたりが見えません。発言を表示させるとわかりますけど。逆に言うと、発言を表示させないとリンクがわからないわけで、ちょっと不便。
4.きめ細かな検索ができない
例えば、発言者だけ検索したい、タイトルだけ検索したい、特定の日付の物だけ検索したいなど、きめ細かな検索はできません。このあたりはきのぼずの検索機能の方が上です。参加者にうまく併用してもらうしかないです。