この情報は古い可能性があります!
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 ';
↓
$ADDRESS = ' webmaster@momo-i.org ';
# $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です。
コメントを追加