【ぜんぶんけんさくしすてむ・なまず】 最終更新日 2013年9月4日
サイト内を日本語で全文検索できるサービスを提供するシステムとして、日本語環境でもっともメジャーなのが、Namazu。
しかし、公式サイトはLinux開発系(笑)らしい難解な状態で、一見さんお断わりなのである。
ということで、手元のLinux環境にインストールする方法を説明している、
を参考にして作業を行ないます。Smart!のNamazu講座なども比較的よくまとまっていると思いますが、今回は参考にしませんでしたのでご紹介まで。
環境は、イマドキRed Hat Linux 7.3(笑)。もともとは実験用サーバーだったのですが、ヘタにウェブサイトを提供しているので、身動き取れなくなっています。
nkf
nkf -v
まずnkfのバージョンを確認。1.90。ビンゴ。
パッチをあてなければならないらしい。Solaris8 for intel内のnkfのインストールを参考にやってみる。
あとはおおむね手順通りできる。2.04になった。
KAKASI
zcat kakasi-2.3.4.tar.gz | tar xp
(tar xpf-はナンかもっと指定することがあるらしい)
rm -rf kakasi-2.3.4.tar.gz
cd kakasi-2.3.4
./configure
make
make install
make clean
make distclean
TEXT-Kakasi
zcat Text-Kakasi-1.05.tar.gz | tar xp
rm -rf Text-Kakasi-1.05.tar.gz
cd Text-Kakasi-1.05
perl Makefile.PL
make
make install
make clean
make distclean
Namazu本体
zcat namazu-2.0.13-1.tar.gz | tar xp
rm -rf namazu-2.0.13-1.tar.gz
cd namazu-2.0.13-1/File-MMagic
perl Makefile.PL
make
make install
cd ..
./configure
(やや時間がかかります)
make
make install
make clean
make distclean
Namazuの設定
/usr/local/libexec/namazu.cgi を自分のスクリプト配置場所namazu等にコピー
namazu以下にインデックスファイルの配置用ディレクトリとしてindexを作成
その中にnamazu-2.0.13/template/からMNZ.*.jaのファイル群をコピー(NMZ.head、NMZ.foot、NMZ.body、NMZ.tips、NMZ.result)
namazuディレクトリのパーミッションは777に。namazu.cgiのパーミッションは755に。
namazu.cgiの設定ファイルを用意する
namazu-2.0.13/conf/namazurc-sampleをnamazu/.namazurcとしてコピー(namazu.cgiと同じディレクトリ)
下記を設定。行頭の#をとること。
インデックスの位置
#Index /usr/local/var/namazu/index
↓
Index /home/name/html/NAMAZU/indexテンプレートファイル(先ほどのMNZ.*.ja)の位置
#Template /usr/local/var/namazu/index
↓
Template /home/name/html/NAMAZU/indexローカルのパスの置換方法を指定
#Replace /home/foo/public_html/ http://www.foo.bar.jp/~foo/
↓
Replace /home/name/html/ http://www.ドメイン/~name/言語設定
#Lang ja
↓
Lang ja
↑これは必ず行頭の#を外すこと。でないと日本語仕様にならない。mknmz用の設定ファイルを用意する
設定ファイルの便を考えると、FTPでアクセスできるところにおいておきたい。
/usr/local/etc/namazu/mknmzrc-sample を namazu/index/mknmzrcとしてコピー(indexディレクトリ)※動作の様子を見て、ここが簡単そうなので
下記を設定。行頭の#をとること。
管理者の連絡先
# $ADDRESS = 'webmaster@ns.amays.com';
↓
$ADDRESS = '自分のメールアドレス';除外するファイルを正規表現で、|で区切って指定。
# $EXCLUDE_PATH = undef;
↓
$EXCLUDE_PATH = "/home/name/public_html/namazu/.*|/home/name/public_html/secret/.*\.txt";mknmzrcの設定についてはこちらのサイトが参考になります。
ただ、私はポリシーとして必要な項目以外はデフォルトから変更しないので、上記の変更しかしていません。
ファイルの配置
home/name--html-+-namazu-+-+-namazu.cgi
| | +-.namazurc
| |
| +-index-+-NMZ.body.ja
| +-NMZ.foot.ja
| +-NMZ.head.ja
| +-NMZ.result.normal.ja
| +-NMZ.result.short.ja
| +-NMZ.tips.ja
| +-mknmzrc
|
+-他のディレクトリテスト
namazuディレクトリにて
LANG=ja
export LANG
set | grep LANG
mknmz -f, --config=/home/name/namazu/.mknmzrc /home/name/target_directory
インデックスの作成が終了したら、
ブラウザからnamazu.cgiにアクセス、
適当に検索できるか確認。
自動でインデックス更新
cronを使います。
autoindex.shファイルはEUCで改行はLFというUnix式に保存します。
./autoubdex.shでインデックス化が実行されるか確認。
ちゃんと動いたらcronに
0 7 * * * /home/name/html/namazu/autoindex.sh
などと指定。
フィルタの設定
だいたい動いてるようなので、フィルタの設定に挑む。
設定したいフィルタは以下の通り。Namazuは各文書ファイル対応のフィルタは標準装備らしいが、実際にフィルタを動作させるためのプログラムはユーザーが入手してインストールしなければならない。
このページは鳥繁.COMアクセスアップキャンペーンの一環で作成されています。
Copyrights © 2002-2013 Torihan.COM. All rights reserved.