| はじめての自宅サーバ構築 - Fedora/CentOS - | Last Update | 2008/05/16 | |
| It opened to 2004/09/19. 当サイトはFedora9で運用しています |
Visitors Pageviews Today(IP/PV) |
3,250,875 11,998,794 1,344/7,451 |
|
デルではおとくなキャンペーン実施中! |
レノボ Web 広告限定ストア(キャンペーン&新着情報) |
# yum -y install namazu # yum -y install namazu-cgi namazuで使用するkakasi[漢字→かな(ローマ字)変換パッケージ]のインストール状況確認 kakasiには以下のパッケージが必要になります kakasi kakasi-devel kakasi-dict perl-Text-Kakasi # rpm -qa | grep kakasi kakasi-2.3.4-22.fc6 # rpm -qa | grep perl-Text-Kakasi perl-Text-Kakasi-2.04-3.fc6 「kakasi-devel」と「kakasi-dict」が不足しているのでインストール # yum -y install kakasi-devel kakasi-dict |
設定ファイルの編集 # vi /etc/namazu/mknmzrc #=================================================================== # # Administrator's email address # 先頭の#を削除し、サーバの管理者メールアドレスを設定 $ADDRESS = 'webmaster@kajuhome.com'; # # This pattern specifies file names which will NOT be targeted. # NOTE: It can be specified by --deny=regex option. # Do NOT use `$' or `^' anchors. # Case-insensitive. # 先頭の#を削除し、除外ファイルを設定 $DENY_FILE = ".*\\.(gif|png|jpg|jpeg|cgi|pl|log|dat|txt|css)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*"; インデックス除外パスの指定 # # This pattern specifies PATHNAMEs which will NOT be targeted. # NOTE: Usually specified by --exclude=regex option. # 「/var/www/html/cgi-bin」と「/var/www/html/image」のパスは除外する $EXCLUDE_PATH = "/var/www/html/cgi-bin|/var/www/html/image"; # vi /usr/bin/mknmz パラメータの-wを削除 #! /usr/bin/perl # -*- Perl -*- # mknmz - indexer of Namazu # $Id: mknmz.in,v 1.85.4.47 2004/04/08 08:34:42 opengl2772 Exp $ # # vi /etc/namazu/namazurc ## If you do not want to do the processing on command line use, ## run namazu with -U option. ## ## You can specify more than one Replace rules but the only ## first-matched rule are applied. ## 検索対象をURLに変更 Replace /var/www/html/ http://kajuhome.com/ ## ## Lang: Set the locale code such as `ja_JP.eucJP', `ja_JP.SJIS', ## `de', etc. This directive works only if the environment ## variable LANG is not set because the directive is mainly ## intended for CGI use. On the shell, You can set ## environemtnt variable LANG instead of using the directive. ## ## If you set `de' to it, namazu.cgi use ## NMZ.(head|foot|body|tips|results).de for displaying results ## and use a proper message catalog for `de'. ## 日本語化 Lang ja_JP.eucJP |
/var/www/html/のインデックスを/var/lib/namazu/index/に作成 # mknmz -aO /var/lib/namazu/index/ /var/www/html/ 検索対象のファイルを調べています... 27個のファイルがインデックス作成の対象として見つかりました 1/27 - /var/www/html/antivirmailgate.shtml [text/html] 2/27 - /var/www/html/apache.shtml [text/html] 3/27 - /var/www/html/apache_ssl.shtml [text/html] 4/27 - /var/www/html/apt_inst.shtml [text/html] 5/27 - /var/www/html/bind.shtml [text/html] 6/27 - /var/www/html/clam_antivirus.shtml [text/html] 7/27 - /var/www/html/cpan2rpm.shtml [text/html] 8/27 - /var/www/html/dhcp.shtml [text/html] 9/27 - /var/www/html/dovecot.shtml [text/html] 10/27 - /var/www/html/fedora_access.shtml [text/html] 11/27 - /var/www/html/fedora2_inst.shtml [text/html] 12/27 - /var/www/html/fedora_inst_after.shtml [text/html] 13/27 - /var/www/html/htaccess.shtml [text/html] 14/27 - /var/www/html/index.shtml [text/html] 15/27 - /var/www/html/j2sdk.shtml [text/html] 16/27 - /var/www/html/mail_ssl.shtml [text/html] 17/27 - /var/www/html/namazu.shtml [text/html] 18/27 - /var/www/html/ntp.shtml [text/html] 19/27 - /var/www/html/openssh.shtml [text/html] 20/27 - /var/www/html/postfix.shtml [text/html] 21/27 - /var/www/html/putty.shtml [text/html] 22/27 - /var/www/html/service_list.shtml [text/html] 23/27 - /var/www/html/squirrelmail.shtml [text/html] 24/27 - /var/www/html/tomcat.shtml [text/html] 25/27 - /var/www/html/index.shtml [text/html] 26/27 - /var/www/html/webalizer.shtml [text/html] 27/27 - /var/www/html/winscp.shtml [text/html] インデックスを書き出しています... [基本] 日付: Wed Oct 27 16:48:25 2004 追加された文書の数: 27 サイズ (bytes): 447,016 合計の文書数: 27 追加キーワード数: 6,628 合計キーワード数: 6,628 わかち書き: module_kakasi -ieuc -oeuc -w 経過時間 (秒): 11 ファイル/秒: 2.45 システム: linux Perl: 5.008003 Namazu: 2.0.13 |
namazu検索エンジンで"namazu"という語句を検索 # namazu namazu /var/lib/namazu/index/ 検索結果 参考ヒット数: [ namazu: 1 ] 検索式にマッチする 1 個の文書が見つかりました。 1. はじめての自宅サーバ構築 - サイト内検索システムの構築(Namazu) - (スコア: 36) 著者: webmaster@kajuhome.com 日付: Wed, 27 Oct 2004 16:47:29 最終更新日: namazuとは・・・ Namazu Projectにより開発された、日本語を含む任意の 文字列でファイル内の全文検索を行なうパッケージです。Web上より、自サイト内の語句 をインデックス化し検索エンジンを提供しま /var/www/html/namazu.shtml (12,814 bytes) 現在のリスト: 1 - 1 |
検索入力ボックスを表示したいhtmlに以下を追加する
<FORM method="get" action="cgi-bin/namazu.cgi">サイト内検索
<INPUT type="text" name="query" size="15">
<INPUT type="submit" name="submit" value="Search">
<INPUT type="hidden" name="max" value="20">
<INPUT type="hidden" name="result" value="normal">
<INPUT type="hidden" name="sort" value="score">
</FORM>
|
| 変更箇所 | 編集ファイル |
|---|---|
| ヘッダ部 | /var/lib/namazu/index/NMZ.head.ja |
| フッタ部 | /var/lib/namazu/index/NMZ.foot.ja |
| 検索結果部(簡潔版) | /var/lib/namazu/index/NMZ.result.short.ja |
| 検索結果部(標準版) | /var/lib/namazu/index/NMZ.result.normal.ja |
| 検索方法部 | /var/lib/namazu/index/NMZ.body.ja |
| 検索ヒント部 | /var/lib/namazu/index/NMZ.tips.ja |
シェルスクリプトを作成
# vi /root/makenamazu.sh
#!/bin/sh
echo "Job Name (makenamazu.sh)"
echo " 開始(`date +"%k時%M分%S秒"`)"
export LANG=ja_JP.eucJP
export PEAL_BADLANG=0
/usr/bin/mknmz -aO /var/lib/namazu/index/ /var/www/html/
echo " 終了(`date +"%k時%M分%S秒"`)"
作成したシェルスクリプトに実行権を与える
# chmod 700 /root/makenamazu.sh
プログラムを定期的に実行するcrondの設定ファイルを編集する
# crontab -e
毎日00:00にnamazuのインデックス作成を行う
00 00 * * * /root/makenamazu.sh
cronジョブで送られてくるメールが文字化けを起こす場合は、以下を追加する
00 00 * * * /root/makenamazu.sh | nkf -j
nkfは文字コードを変換します。
JISコードに変換する事により文字化けを回避する事が可能。
nkfのパラメータは以下の様になります
-e EUCコードに変換
-s シフトJISコードに変換
-j JISコードに変換
|