[[Namazu 2]]
#contents
*Namazu2 error [#hce602be]
**Namazu2のインストール [#q6e7c224]
メールサーバでNamazuをつかうため、新規にインストールする
 % portinstall japanese/namazu2
とするが、設定ファイルを用意して mknmz するも、
 % mknmz -a /usr/local/www/data -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index
 Can't locate Text/Kakasi.pm in @INC (@INC contains: /usr/local/share/namazu/filter /usr/local/share/namazu/pl
 . /usr/local/lib/perl5/5.8.8/BSDPAN
 /usr/local/lib/perl5/site_perl/5.8.8/mach
 /usr/local/lib/perl5/site_perl/5.8.8
 /usr/local/lib/perl5/site_perl
 /usr/local/lib/perl5/5.8.8/mach
 /usr/local/lib/perl5/5.8.8) at /usr/local/bin/mknmz line 953.
といわれてしまう。Text/Kakasi.pm が無いと言っている模様。なので
***kakasiをインストール [#e3d625b9]
 % portinstall japanese/kakasi
するもエラーは変わらず。なので、
**kakasiを手動でインストール [#vccbd323]
するために、http://www.daionet.gr.jp/~knok/kakasi/ から Text-Kakasi-1.05.tar.gz を取ってきて /root/bin/Text-Kakasi-1.05.tar.tar として、
 % cd /root/bin/
 % tar xvfzp Text-Kakasi-1.05.tar.tar
 % cd Text-Kakasi-1.05
 % perl Makefile.PL
 % make
 % make install
 Installing /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/Text/Kakasi/Kakasi.so
 Installing /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/Text/Kakasi/Kakasi.bs
 Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
 Installing /usr/local/lib/perl5/site_perl/5.8.8/mach/Text/Kakasi.pm
 Installing /usr/local/lib/perl5/5.8.8/man/man3/Text::Kakasi.3
 Writing /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/Text/Kakasi/.packlist
 FreeBSD: Registering installation in the package database
 Appending installation info to /usr/local/lib/perl5/5.8.8/mach/perllocal.pod
 
 % rehash
として、やっとOK・・・



**インデクス作成 [#jf88876d]
***インデクス作成ツール設定 [#t168fdb4]
 cp /usr/local/etc/namazu/mknmzrc-sample /usr/local/etc/namazu/mknmzrc
 chmod 644 /usr/local/etc/namazu/mknmzrc
 vi /usr/local/etc/namazu/mknmzrc

 $ADDRESS = 'postmaster@mail.smb.net';
 $DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*";
 <= コメント解除(gif、png、jpg、jpeg等を検索対象としない)
     Mailmanの設定ファイルでは、さらに、gz txt も必要ないので 
 $DENY_FILE = ".*\\.(gif|png|jpg|jpeg|gz|txt)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*|(data|subject|author|thread).html";
 
 $NKF = "module_nkf"; 
 $KAKASI = "module_kakasi";
 $CHASEN = "module_chasen";
 $CHASEN_NOUN = "no";
 $WAKATI  = $KAKASI;
***indexの作成 [#a27aeeca]
 mkdir /usr/local/var/namazu/index/[Mlist_Name]
 mknmz -a /usr/local/www/data -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index/[Mlist_Name]/

 Mailman保存書庫の検索(abc_MLの場合)
 mkdir /usr/local/var/namazu/index/abc
 mknmz -a /usr/local/mailman/archives/private/abc -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index/abc/
Mailmanの場合、database ディレクトリがインデックスされる必要はないので、
 mknmz '--exclude=/usr/local/mailman/archives/private/tfc/database/' -a /usr/local/mailman/archives/private/abc -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index/abc/
で実行すると
 705/2739 - /usr/local/mailman/archives/private/xxx/2007-October.txt [message/rfc822]
 perl in free(): error: junk pointer, too high to make sense
 Abort (core dumped)
同じところでエラー・・・

 dump record data to NMZ.bug.info (step: 2)...dump record data to NMZ.bug.info (step: 2)...The "negative number" problem occurred.





 Writing index files...
 [Base]
 Date:                Sun Nov 18 09:12:23 2007
 Added Documents:     18,578
 Size (bytes):        143,325,694
 Total Documents:     18,578
 Added Keywords:      861,252
 Total Keywords:      861,252
 Wakati:              module_kakasi
 Time (sec):          1,929
 File/Sec:            9.63
 System:              freebsd
 Perl:                5.008008
 
 Namazu:              2.0.16


 Looking for indexing files...
 36 files are found to be indexed.
 1/36 - /usr/local/www/data/MRTG/cpu.html [text/html]
 2/36 - /usr/local/www/data/MRTG/cpu.log [text/plain]
 3/36 - /usr/local/www/data/MRTG/cpu.old [text/plain]
        :       :         :          :
 35/36 - /usr/local/www/data/webalena.html [text/html]
 36/36 - /usr/local/www/data/xtemplate-DTD4.0-T [text/html]
 Writing index files...
 [Base]
 Date:                Sun Nov 18 07:12:36 2007
 Added Documents:     36
 Size (bytes):        1,006,992
 Total Documents:     36
 Added Keywords:      7,551
 Total Keywords:      7,551
 Wakati:              module_kakasi
 Time (sec):          8
 File/Sec:            4.50
 System:              freebsd
 Perl:                5.008008
 
 Namazu:              2.0.16

**CGI Setting [#d6085622]
 cp /usr/local/libexec/namazu.cgi /usr/local/www/cgi-bin/
 cp /usr/local/etc/namazu/namazurc-sample /usr/local/etc/namazu/namazurc
 chmod 644 /usr/local/etc/namazu/namazurc
 vi /usr/local/etc/namazu/namazurc

 #Replace       /home/foo/public_html/  http://www.foo.bar.jp/~foo/
 ↓
 Replace       /usr/local/www/data/  http://piano.smb.net/ <= 検索対象ディレクトリの置換
 
 #Lang          ja
 ↓
 Lang           ja_JP.eucJP <= 日本語化

 vi /usr/local/var/namazu/index/piano/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="piano">  <= インデックス指定
 
 <a href="{cgi}">[検索方法]</a>
 ↓
 <a href="{cgi}?idxname=piano">[検索方法]</a> <= インデックス指定

http://piano.smb.net/cgi-bin/namazu.cgi?idxname=piano

http://piano.smb.net/cgi-bin/namazu.cgi?idxname=core_sandbox

***Mailman書庫検索用設定 [#c1d07ed2]
検索画面をそれぞれ専用のnamazurc中にReplaceを書いて動作を変更させようとしたが、今のところ~
/usr/local/etc/namazu/namazurc~
以外のファイル設定での起動法が解らないので、以下のnamazurc-abcはnamazurcを書き換えることで対処中^^;

 cp /usr/local/etc/namazu/namazurc-sample /usr/local/etc/namazu/namazurc-abc
 chmod 644 /usr/local/etc/namazu/namazurc-abc
 vi /usr/local/etc/namazu/namazurc-abc

 #Replace       /home/foo/public_html/  http://www.foo.bar.jp/~foo/
 ↓
 Replace       /usr/local/mailman/archives/  http://piano.smb.net/mailman/ <= 検索対象ディレクトリの置換
 
 #Lang          ja
 ↓
 Lang           ja_JP.eucJP <= 日本語化

 vi /usr/local/var/namazu/index/tfc/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="tfc">  <= インデックス指定
 
 <a href="{cgi}">[検索方法]</a>
 ↓
 <a href="{cgi}?idxname=tfc">[検索方法]</a> <= インデックス指定





**サイト内に設置する場合 [#o83bebbc]
***サイト内に検索用のFORMを設置する場合、設置したい場所に以下の内容を記述。 [#b6765df0]
 <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="piano">
    <INPUT type="hidden" name="max" value="20">
    <INPUT type="hidden" name="result" value="normal">
    <INPUT type="hidden" name="sort" value="score">
 </FORM>
**Mailman Mailinglistの総合案内の編集 [#cfe4fded]
Mailman の管理画面で「リスト設定情報の閲覧・編集」を開き、

 <p> このメーリングリストに投稿された過去のメールは,
      <MM-Archive><MM-List-Name>
 	  保存書庫</MM-Archive>をご覧下さい.
 <br><a href="http://piano.smb.net/cgi-bin/namazu.cgi?idxname=tfc">検索のページはこちら</a>  ← この行を追加
 
       <MM-Restricted-List-Message>
 

**インデックスの自動作成&不要データ削除 [#p7f05377]
 vi ~/namazu.sh <= インデックスの自動作成&不要データ削除スクリプト作成

リモートからWinSCPとPuttyで操作する場合は、
 touch /root/bin/namazu.sh
として、ファイルを開き、以下を書き込む

 #!/bin/sh
 /usr/local/bin/mknmz -qa /usr/local/www/data -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index/piano/
 /usr/local/bin/gcnmz -q /usr/local/var/namazu/index/piano/

Mailmanの保存書庫では
 #!/bin/sh
 /usr/local/bin/mknmz -q '--exclude=/usr/local/mailman/archives/private/tfc/database/' -a /usr/local/mailman/archives/private/tfc -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index/tfc/
 /usr/local/bin/gcnmz -q /usr/local/var/namazu/index/tfc/
 

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

***スクリプトの自動実行 [#ad14a94d]

 vi /etc/crontab <= 設定ファイルの編集
 00 03 * * * root /root/bin/namazu.sh <= 追加(毎日3:00にスクリプト実行)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS