namazuで全文検索

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

この情報は古い可能性があります!

Webサイト作ってるとやっぱりサイト内検索ってしたいですよね
まぁWikiとかBlogならたいてい付属してるのでいらないんですが。。。
2.0.19がでましたが、中身は全くみてません
もうNamazuは過去の遺産になりつつありそうなのであんまりしらべません。

必要なもののインストール

cd /usr/local/src
wget http://kakasi.namazu.org/stable/kakasi-2.3.4.tar.gz
tar zxvf kakasi-2.3.4.tar.gz
cd kakasi-2.3.4
./configure
make
make install

perl -MCPAN -e shell
install File::MMagic
quit

Namazuのインストール

cd /usr/local/src
wget http://www.namazu.org/stable/namazu-2.0.19.tar.gz
tar zxvf namazu-2.0.19.tar.gz
cd namazu-2.0.19
./configure
make
make install

設定

cd /usr/local/etc/namazu
cp mknmzrc-sample mknmzrc
vi mknmzrc

# $ADDRESS = ' webmaster@www.momo-i.org このメールアドレスは、スパムロボットから保護されています。アドレスを確認するにはJavaScriptを有効にしてください ';

$ADDRESS = ' webmaster@momo-i.org このメールアドレスは、スパムロボットから保護されています。アドレスを確認するにはJavaScriptを有効にしてください ';

# $DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*";

$DENY_FILE = ".*\\.(conf|ttf|pm|bmp|gif|png|jpg|jpeg|cgi|pl|log|dat|txt|css)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*";

/usr/local/bin/mknmz
(エラー対処)

#!/usr/bin/perl -w

#!/usr/bin/perl

cd /usr/local/etc/namazu
cp namazurc-sample namazurc
vi namazurc

#Replace /home/foo/public_html/ http://www.foo.bar.jp/~foo/

Replace /usr/local/apache2/htdocs/ http://www.momo-i.org/

#Lang ja

Lang ja_JP.eucJP

検索結果のディレクトリを作成

mkdir -p /usr/local/var/namazu/index/test
mkdir -p /usr/local/var/namazu/index/test2

mknmz /usr/local/apache2/htdocs/test -O /usr/local/var/namazu/index/test | nkf -w
mknmz /usr/local/apache2/htdocs/test2 -O /usr/local/var/namazu/index/test2 | nkf -w

検索テンプレートの変更

cd /usr/local/var/namazu/index/test
vi NMZ.head.ja

< !-- <input type="hidden" name="idxname" value="foobar"> -->

< input type="hidden" name="idxname" value="test">

< a href="{cgi}">[検索方法]</a>

< a href="{cgi}?idxname=test">[検索方法]</a>

検索CGIの設定

cp /usr/local/libexec/namazu.cgi /usr/local/apache2/cgi-bin/namazu.cgi

http://www.momo-i.org/cgi-bin/namazu.cgi?idxname=test
で正常に表示されればOKです。

Index作成を自動化

/usr/local/bin/mknmz.sh

#!/bin/sh
index=/usr/local/var/namazu/index/test/
htdocs=/usr/local/apache2/htdocs/test/
nodocs='/usr/local/apache2/htdocs/test/hoge/|/usr/local/apache2/htdocs/test/hoge2'
log=/var/log/mknmz.log
if [ "$nodocs" != "" ]; then
/usr/local/bin/mknmz --exclude="$nodocs" -aO $index $htdocs > $log
else
/usr/local/bin/mknmz -aO $index $htdocs > $log
fi
MON=`date +%w`
if [ "$MON" = "1" ]
then
/usr/local/bin/gcnmz -qb $index
fi

後はCronで適当な時間に設定をしておけばOKです。

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.