PHPから使うNamazuの設定、および動的生成ページのインデックス法。
Namazuインストール
-
PerlのFile::MMagicをインストール。
perl -MCPAN -e shell cpan> install File::MMagic
- nkfはインストール済みなので割愛。
-
Kakasiをインストール。
wget http://kakasi.namazu.org/stable/kakasi-2.3.4.tar.gz gtar xvfz kakasi-2.3.4.tar.gz cd kakasi-2.3.4 ./configure make su make install
-
GNU gettextをインストール。これを入れないと検索結果の日本語表示ができない。Solarisについてくるgettextだとダメみたい。
wget http://ftp.gnu.org/gnu/gettext/gettext-0.14.5.tar.gz gtar xvfz gettext-0.14.5.tar.gz cd gettext-0.14.5 ./configure make su make install
-
Namazuをインストール。
wget http://www.namazu.org/stable/namazu-2.0.16.tar.gz gtar xvfz namazu-2.0.16.tar.gz cd namazu-2.0.16 ./configure make su make install make install-data
-
Namazuモジュールをインストール。
configure
でincludeディレクトリを指定してもMakefile内でinclude pathに追加されないため、手動で追加する必要あり。wget http://www.koderz.org/uploads/media/php4_namazu-2.1.0.tar.gz gtar xvfz php4_namazu-2.1.0.tar.gz cd namazu ./configure --with-namazu vi Makefile (INCLUDEに
-I/usr/local/include
を追加) make su make install
環境設定
-
PHPを使用したページがほとんどなので、まずは一度静的ページに置き換える。wgetでミラーリングするのが簡単らしい(けど、対象にしたくないページが大量にあるので、自分で必要なファイルだけHTTPで取得するスクリプトを書いて、mirrorディレクトリの下に置いた)。
mkdir mirror cd mirror wget -nH --mirror http://my.domain.com/
-
検索用のディレクトリを作成。
mkdir search cd search
-
namazu.cgiのコピー。
cp /usr/local/libexec/namazu.cgi . chmod 755 namazu.cgi
-
インデックス作成。結構時間がかかる。インデックスファイル置き場のディレクトリをnamazu.cgiを置いた場所と分けたのは、再インデックスのたびに設定ファイルを上書きされるのを防ぐため。
mkdir index cd index mknmz --indexing-lang=ja_JP.eucJP --replace 's#/export/www/mirror/#http://my.domain.com/#' -U -a -z /export/www/mirror cd .. cp Index/NMZ*.ja .
-
.namazurcを作成して、次の内容を記述。
Index /export/www/search/index Template /export/www/search Lang ja
-
NMZ*を編集して、デザインをカスタマイズする。
-
定期的にインデックスを作成するためにcrontabに次の行を追加。
35 3 * * * mknmz --indexing-lang=ja_JP.eucJP --replace 's#/export/www/mirror/#http://my.domain.com/#' -U -a -z -O /export/www/search/index /export/www/mirror > /dev/null 2>&1