「Namazu」の設定

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

ライブラリのインストール

「Namazu」のmakeに必要なものをインストールする。

「nkf」、「NKF」のインストール

「CentOS 5.0」の場合

yumから「nkf」と「NKF」がインストール出来るので、yumを利用してインストールする。

[root@CentOS ~]# yum -y install nkf perl-NKF <= 「nkf」、「perl-NKF」のインストール
[root@CentOS ~]# yum clean packages <= ダウンロードしたパッケージの削除

「CentOS 4.1」の場合

yumにないので、ソースからインストールする。

・「nkf」のインストール
[root@CentOS ~]# mkdir /usr/local/src/nkf <= 作業用ディレクトリの作成
[root@CentOS ~]# chmod 777 /usr/local/src/nkf <= 作業用ディレクトリのパーミッション変更
[root@CentOS ~]# exit <= 一般ユーザになる
[kaz@CentOS ~]$ cd /usr/local/src/nkf <= 作業用ディレクトリへ移動
[kaz@CentOS nkf]$ wget http://keihanna.dl.sourceforge.jp/nkf/15302/nkf205.tar.gz
[kaz@CentOS nkf]$ tar xzf nkf205.tar.gz <= ダウンロードしたファイルの展開
[kaz@CentOS nkf]$ cd nkf205 <= 展開したディレクトリに移動
[kaz@CentOS nkf205]$ make | tee make.log 2>&1 <= コンパイル
[kaz@CentOS nkf205]$ su <= スーパーユーザになる
Password: <= パスワードの入力
[root@CentOS nkf205]# cp nkf /usr/local/bin/
[root@CentOS nkf205]# cp nkf.1 /usr/local/share/man/man1/
[root@CentOS nkf205]# mkdir -p /usr/local/share/man/ja/man1
[root@CentOS nkf205]# nkf -w nkf.1j > /usr/local/share/man/ja/man1/nkf.1

・「NKF」のインストール
[kaz@CentOS ~]$ cd /usr/local/src/nkf/nkf205/NKF.mod <= 作業用ディレクトリへ移動
[kaz@CentOS NKF.mod]$ perl Makefile.PL
[kaz@CentOS NKF.mod]$ make | tee make.log 2>&1 <= コンパイル
[kaz@CentOS NKF.mod]$ su <= スーパーユーザになる
Password: <= パスワードの入力
[root@CentOS NKF.mod]# make install | tee make-install.log 2>&1 <= インストール

「kakasi」、「Text-Kakasi」のインストール

・「kakasi」のインストール
[root@CentOS ~]# mkdir /usr/local/src/kakasi <= 作業用ディレクトリの作成
[root@CentOS ~]# chmod 777 /usr/local/src/kakasi <= 作業用ディレクトリのパーミッション変更
[root@CentOS ~]# exit <= 一般ユーザになる
[kaz@CentOS ~]$ cd /usr/local/src/kakasi <= 作業用ディレクトリへ移動
[kaz@CentOS kakasi]$ wget http://kakasi.namazu.org/stable/kakasi-2.3.4.tar.gz
[kaz@CentOS kakasi]$ tar xzf kakasi-2.3.4.tar.gz <= ダウンロードしたファイルの展開
[kaz@CentOS kakasi]$ cd kakasi-2.3.4 <= 展開したディレクトリに移動
[kaz@CentOS kakasi-2.3.4]$ ./configure | tee configure.log 2>&1
[kaz@CentOS kakasi-2.3.4]$ make | tee make.log 2>&1 <= コンパイル
[kaz@CentOS kakasi-2.3.4]$ su <= スーパーユーザになる
Password: <= パスワードの入力
[root@CentOS kakasi-2.3.4]# make install | tee make-install.log 2>&1 <= インストール

・「Text-Kakasi」のインストール
[root@CentOS ~]# mkdir /usr/local/src/Text-Kakasi <= 作業用ディレクトリの作成
[root@CentOS ~]# chmod 777 /usr/local/src/Text-Kakasi <= 作業用ディレクトリのパーミッション変更
[root@CentOS ~]# exit <= 一般ユーザになる
[kaz@CentOS ~]$ cd /usr/local/src/Text-Kakasi <= 作業用ディレクトリへ移動
[kaz@CentOS Text-Kakasi]$ wget http://search.cpan.org/CPAN/authors/id/D/DA/DANKOGAI/Text-Kakasi-2.04.tar.gz
[kaz@CentOS Text-Kakasi]$ tar xzf Text-Kakasi-2.04.tar.gz <= ダウンロードしたファイルの展開
[kaz@CentOS Text-Kakasi]$ cd Text-Kakasi-2.04 <= 展開したディレクトリに移動
[kaz@CentOS Text-Kakasi-2.04]$ perl Makefile.PL
[kaz@CentOS Text-Kakasi-2.04]$ make | tee make.log 2>&1 <= コンパイル
[kaz@CentOS Text-Kakasi-2.04]$ su <= スーパーユーザになる
Password: <= パスワードの入力
[root@CentOS Text-Kakasi-2.04]# make install | tee make-install.log 2>&1 <= インストール
「Namazu」のインストール

ここで、「Namazu」に必要な「File::MMagic」を「Namazu」に同梱されているものからインストールする。

[root@CentOS ~]# mkdir /usr/local/src/namazu <= 作業用ディレクトリの作成
[root@CentOS ~]# chmod 777 /usr/local/src/namazu <= 作業用ディレクトリのパーミッション変更
[root@CentOS ~]# exit <= 一般ユーザになる

・「File::MMagic」のインストール
[kaz@CentOS ~]$ cd /usr/local/src/namazu
[kaz@CentOS namazu]$ wget http://www.namazu.org/stable/namazu-2.0.14.tar.gz
[kaz@CentOS namazu]$ tar xzf namazu-2.0.14.tar.gz <= ダウンロードしたファイルの展開
[kaz@CentOS namazu]$ cd namazu-2.0.14/File-MMagic <= 展開したディレクトリに移動
[kaz@CentOS File-MMagic]$ perl Makefile.PL
[kaz@CentOS File-MMagic]$ make | tee make.log 2>&1 <= コンパイル
[kaz@CentOS File-MMagic]$ su <= スーパーユーザになる
Password: <= パスワードの入力
[root@CentOS File-MMagic]# make install | tee make-install.log 2>&1 <= インストール

・「Namazu」のインストール
[kaz@CentOS ~]$ cd /usr/local/src/namazu/namazu-2.0.14
[kaz@CentOS namazu-2.0.14]$ ./configure | tee configure.log 2>&1
[kaz@CentOS namazu-2.0.14]$ make | tee make.log 2>&1 <= コンパイル
[kaz@CentOS namazu-2.0.14]$ su <= スーパーユーザになる
Password: <= パスワードの入力
[root@CentOS namazu-2.0.14]# make install | tee make-install.log 2>&1 <= インストール
インデックスの作成

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

[root@CentOS ~]# cp /usr/local/etc/namazu/mknmzrc-sample /usr/local/etc/namazu/mknmzrc
 <= サンプル設定ファイルのコピー
[root@CentOS ~]# vi /usr/local/etc/namazu/mknmzrc <= インデックス作成ツール設定ファイル編集
# $ADDRESS = 'webmaster@CentOS.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"; <= コメント解除

# $KAKASI = "/usr/local/bin/kakasi -ieuc -oeuc -w";
↓
$KAKASI = "/usr/local/bin/kakasi -ieuc -oeuc -w"; <= コメント解除

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

インデックスの作成

[root@CentOS ~]# ln -s /usr/bin/perl /usr/local/bin/perl <= perlのシンボリックリンクを作成
[root@CentOS ~]# mkdir /usr/local/var/namazu/index/crimson-snow <= インデックス作成先のディレクトリ作成
[root@CentOS ~]# mknmz -aO /usr/local/var/namazu/index/crimson-snow/ /var/www/html/ <= インデックス作成
CGIの設置

CGIの設定

[root@CentOS ~]# cp /usr/local/libexec/namazu.cgi /var/www/cgi-bin/ <= CGIファイルのコピー
[root@CentOS ~]# cp /usr/local/etc/namazu/namazurc-sample /usr/local/etc/namazu/namazurc
 <= サンプル設定ファイルのコピー

[root@CentOS ~]# vi /usr/local/etc/namazu/namazurc <= 設定ファイル編集
#Replace       /home/foo/public_html/  http://www.foo.bar.jp/~foo/
↓
Replace       /var/www/html/  http://www.crimson-snow.net/ <= 検索対象ディレクトリの置換

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


[root@CentOS ~]# vi /usr/local/var/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>
インデックスの自動作成&不要データ削除
[root@CentOS ~]# vi namazu.sh <= インデックスの自動作成&不要データ削除スクリプト作成
#!/bin/sh

/usr/local/bin/mknmz -qaO /usr/local/var/namazu/index/crimson-snow/ /var/www/html/
/usr/local/bin/gcnmz -q /usr/local/var/namazu/index/crimson-snow/


[root@CentOS ~]# chmod 755 namazu.sh <= スクリプトに実行権限付加

スクリプトの自動実行

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