「Namazu」の設定

自サイト内を検索する事の出来る「Namazu」を導入する。
ここでは
/var/www/localhost/htdocs/
以下のすべてを検索対象ディレクトリとし、インデックスを
/var/lib/namazu/index/crimson-snow/
に作成するものとする。
ただし、「SquirrelMail」を導入している場合、「SquirrelMail」のディレクトリは対象外とする。
なお、「Apache」の設定は完了済みとする。

「Namazu」のインストール

わかち書きに「ChaSen」を利用する為、USEフラグに「ChaSen」を指定してインストールする。

Gentoo ~ # USE="+chasen" emerge namazu
インデックスの作成

インデックス作成ツールの設定

Gentoo ~ # cp /etc/namazu/mknmzrc-sample /etc/namazu/mknmzrc <= サンプル設定ファイルのコピー
Gentoo ~ # vi /etc/namazu/mknmzrc <= インデックス作成ツール設定ファイル編集
# $ADDRESS = 'webmaster@Gentoo.crimson-snow.net';
↓
$ADDRESS = 'kaz@red-snow.net'; <= 管理者のメールアドレスを指定

# $DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*";
↓
$DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*";
 <= コメント解除(gif、png、jpg、jpeg等を検索対象としない)

# $NKF = "module_nkf";
↓
$NKF = "module_nkf"; <= コメント解除

# $CHASEN = "module_chasen -i e -j -F \"\%m \"";
↓
$CHASEN = "module_chasen -i e -j -F \"\%m \""; <= コメント解除

# $CHASEN_NOUN = "module_chasen -i e -j -F \"\%m %H\\n\"";
↓
$CHASEN_NOUN = "module_chasen -i e -j -F \"\%m %H\\n\""; <= コメント解除

# $WAKATI  = $CHASEN;
↓
$WAKATI  = $CHASEN; <= コメント解除


Gentoo ~ # vi /usr/bin/mknmz <= mknmzコマンド編集
#! /usr/bin/perl -w
↓
#! /usr/bin/perl <= オプションの -w を削除

インデックスの作成

「SquirrelMail」を導入していない場合、--exclude= 以下は必要ない。

Gentoo ~ # mkdir /var/lib/namazu/index/crimson-snow <= インデックス作成先のディレクトリ作成
Gentoo ~ # mknmz -aO /var/lib/namazu/index/crimson-snow/ /var/www/localhost/htdocs/ --exclude="/var/www/localhost/htdocs/squirrelmail/"
 <= インデックス作成
CGIの設置

CGIの設定

Gentoo ~ # cp /usr/libexec/namazu.cgi /var/www/localhost/cgi-bin/ <= CGIファイルのコピー
Gentoo ~ # cp /etc/namazu/namazurc-sample /etc/namazu/namazurc <= サンプル設定ファイルのコピー
Gentoo ~ # vi /etc/namazu/namazurc <= 設定ファイル編集
#Replace       /home/foo/public_html/  http://www.foo.bar.jp/~foo/
↓
Replace       /var/www/localhost/htdocs/  http://www.crimson-snow.net/ <= 検索対象ディレクトリの置換

#Lang          ja
↓
Lang           ja_JP.eucJP <= 日本語化

#EmphasisTags  "<strong class=\"keyword\">"   "</strong>"
↓
EmphasisTags  "<strong class=\"keyword\">"   "</strong>" <= コメント解除(検索結果を強調表示する)


Gentoo ~ # vi /var/lib/namazu/index/crimson-snow/NMZ.head.ja <= ヘッダファイル編集
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP"> <= 追加(文字化け対策)

<!-- <input type="hidden" name="idxname" value="foobar"> -->
↓
<input type="hidden" name="idxname" value="crimson-snow">  <= インデックス指定

<a href="{cgi}">[検索方法]</a>
↓
<a href="{cgi}?idxname=crimson-snow">[検索方法]</a> <= インデックス指定

ブラウザで
http://サーバのIPアドレス/cgi-bin/namazu.cgi?idxname=crimson-snow
とアクセスする。

サイト内に設置する場合

サイト内に検索用のFORMを設置する場合、設置したい場所に以下の内容を記述。

<FORM method="get" action="/cgi-bin/namazu.cgi">サイト内検索
    <INPUT type="text" name="query" size="20">
    <INPUT type="submit" name="submit" value="Search">
    <INPUT type="hidden" name="idxname" value="crimson-snow">
    <INPUT type="hidden" name="max" value="20">
    <INPUT type="hidden" name="result" value="normal">
    <INPUT type="hidden" name="sort" value="score">
</FORM>
インデックスの自動作成&不要データ削除
Gentoo ~ # vi namazu.sh <= インデックスの自動作成&不要データ削除スクリプト作成
#!/bin/sh

/usr/bin/mknmz -qaO /var/lib/namazu/index/crimson-snow/ /var/www/localhost/htdocs/ --exclude="/var/www/localhost/htdocs/squirrelmail/"
/usr/bin/gcnmz -q /var/lib/namazu/index/crimson-snow/


Gentoo ~ # chmod 755 namazu.sh <= スクリプトに実行権限付加

スクリプトの自動実行

Gentoo ~ # crontab -e <= cron編集
00 03 * * * /root/namazu.sh <= 追加(毎日3:00にスクリプト実行)
▲ページのトップへ