2005.10.02
namazuによる複数区分の検索の設定・・・(etc)
筆者は自宅のサーバで複数のメーリングシステムを運用しているが、メンバーも異なり、MLグループ間での関連も無いことから、MLで蓄積されたメールアーカイブも、2つのグループ間で完全に独立して検索する必要があり、namazuを使ってその構築を行った。
namazuはpackageが用意されているので簡単に入れられる。
FreeBSDでは/usr/local/etc/namazuに設定ファイルのsampleのmknmzrc-sampleとnamazurc-sampleが入っているので、これらをmknmzrcとnamazurcとしてコピーし、編集する。
# cd /usr/local/etc/namazu # cp mknmzrc-sample mknmzrc # cp namazurc-sample namazurc
(1) mknmzrcの編集
mknmzrcの編集は以下の2つの#を取って行を有効にするだけでよい。
# $KAKASI = “module_kakasi”;
# $WAKATI = $KAKASI;
(2) namazurcの編集
Indexファイルを入れるフォルダを作る必要があるので、
# mkdir index # mkdir index/abc # mkdir index/xyz
abcとxyzは、2つの別々のindexファイルを作るための準備である。
そして、namazurcを編集
# vi namazurc
として、編集するが、編集は以下の3行のみでよい。
Index /usr/local/etc/namazu/index Replace /web/data/ http://自分のサーバのURL/ Lang ja
(3) cronで実行の準備
今後cronで自動的にindexファイルを更新させるため以下のような内容のファイルをnamazuindexのファイル名で作り、/usr/local/binに入れて実行権限を与えておく。
#!/bin/sh export LANG=ja /usr/local/bin/mknmz -O /usr/local/etc/namazu/index/abc /web/data/ml/abc /usr/local/bin/mknmz -O /usr/local/etc/namazu/index/xyz /web/data/xyz/ml
/web/data/ml/abcと/web/data/xyz/mlはそれぞれのメーリングリストのメール保存アーカイブの場所である。
これで、namazuindexをroot権限で実行すれば、/usr/local/etc/namazu/index/abcと・・・index/xyzにindexファイルが作られる。
(4) webページからの検索
/usr/local/libexecにあるnamazu.cgiをcgi-binディレクトリーにコピーし実行権限を与えておく。
これで全ての準備が整ったので、Webページで検索のためのformを作るが、以下のような内容とする。
<form METHOD="GET" action=/cgi-bin/namazu.cgi> <strong>検索:</strong> <input size=40 value="" name=key> <input type=submit value=Search! name=submit> <input type=hidden value="abc" name="idxname"> <a href="/cgi-bin/namazu.cgi?idxname=abc">検索方法</a>
xyzの検索のページは当然ながら上記のabcaをxyzとすればよい。
あとは、cronでの自動実行のため以下の内容をcrontabに追加する。 この例では毎夜の夜中の2時の実行であるが、後ろに
| /usr/local/bin/nkf -j が付いているのは、実行結果のログをメールで受け取ったときにメーラーで読むためjisコードでログするためである。
0 2 * * * /usr/local/bin/namazuindex | /usr/local/bin/nkf -j
コメント
コメントフィードを購読する
コメント投稿