このページでは全文検索エンジンNamazuの索引データベースからnamazu.cgiでの検索の実行について初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
全文検索システムNamazuの構築

全文検索エンジンとは

Namazuのインストール

Namazuのファイル構成

Apacheによる公開設定

索引作成のための設定

mknmzによる索引の作成

検索出力のための設定

namazu.cgiによる検索の実行

出力デザインのカスタマイズ

Namazu検索窓の設置

Namazuの運用のポイント


"namazu.cgi"によるテスト検索の実行

"/var/www/namazu/.namazu.cgi" は、 HTTP 経由で要求されたリクエストに対して HTML で結果を出力する CGI です。

"/var/www/namazu/.namazu.cgi" の設定が終わったら、 クライアント から 構築中のLinuxサーバー Webサーバー にアクセスして "namazu.cgi" による検索を実行してみましょう。

まず、ネットワーク経由で サーバー にアクセス可能な任意のクライアントで Webブラウザ を開きます。

そしてアドレスバーに以下の URL を入力してアクセスしてみてください。

http://www.obenri.com/namazu/namazu.cgi

ここまでの設定に誤りがなければ、以下のようなページが開くはずです。

Namazuによる検索ページ
Namazuによる検索ページ

ページが表示されたら、 「検索式」 の入力欄に適当な検索語をタイプし、 Search! ボタンをクリックしてみてください。

検索語にヒットするページが存在する場合は、以下のような検索結果のページが表示されるはずです。

Namazuによる検索結果のページ
Namazuによる検索結果のページ

検索結果のタイトルまたは URL には、目的のページへのリンクが作成されていますから、クリックすると目的のページが開くはずですので確認してみてください。

思ったようなページが表示されないときは、 "/var/www/namazudata/mknmzrc" mknmzrcの設定 や、 "/var/www/namazu/.namazurc" .namazurcの設定 の記述内容の誤りが考えられますので、それぞれの解説パートを参考に適宜修正を行ってください。

設定そのものには間違いがないように思えても、例えば、

「設定は書き換えたけれども、先頭の "#" を削除するのを忘れていた。」

あるいは、

"/var/www/namazudata/mknmzrc" を修正した後に索引データベースの作成 索引データベースの作成 をやりなおすのを忘れていた。」

などのウッカリミスもあり得ますので、こういう点にも注意してチェックを行ってください。

このページの先頭へ↑

"namazu.cgi"のトラブルシューティング

以下に、原因がわかりにくい "namazu.cgi" の実行トラブルについていくつか例をあげてみましょう。

Namazuの解説書です

なお、「 CGI の動作チェック」 namazu.cgiの動作チェック のステップで「真っ白なページ」が表示できているのであれば、 Apache 上でのCGIの動作設定に誤りはありませんので、CGIの実行設定に関するトラブルについてはここでは触れません。

真っ白なページが表示される

検索ページが namazu.cgiの動作チェック でチェックしたときと同じく、エラーはおろか「ページが真っ白でなにも表示されない」ケースです。

これは、

「"namazu.cgi"が索引 データベース にアクセスできない状態になっている。」

ことを意味します。

まず、 "namazu.cgi" の設定ファイルが、

「実行する "namazu.cgi" と同じディレクトリに ".namazurc" というファイル名で保存されていること。」

を確認してください。他の場所に保存されていたり、他のファイル名になっていたりすると、 "namazu.cgi" はこれを設定ファイルとして参照できません。

先頭のコメント記号 "#" の削除を忘れていませんか?。
意外に多いミスです。

また、 ".namazurc" の中の "Index" ディレクティブ に、索引 データベース パス が正しく記述されているかどうかを確認してみてください。ひょっとするとつまらないタイプミスをしているだけかもしれません。

また、索引データベースが格納されているディレクトリ、 "/var/www/namazudata/db/" と、その上位のディレクトリ "/var/www/namazudata/" パーミッション "755" になっているかどうかもチェックしてみましょう。

デフォルト では、 システムアカウント "apache" 、グループ "apache" が実行アカウントとなります。

"namazu.cgi" Apache を通じて実行されますから、実行する アカウント "/etc/httpd/conf/httpd.conf" 中の "User" あるいは "Group" ディレクティブ Apache全体の設定について の設定に従います。

つまり、 "/var/www/namazudata/db/" "/var/www/namazudata/" が、そのアカウントで参照できないようなパーミッションになっていると、索引データベースを参照できなくなってしまうわけです。

また、 ".namazurc" の中の "Lang" ディレクティブ の記述 Langディレクティブについて が正しくない場合も空白ページとなります。

ここは記述を間違えると「無効」とみなされるため、 デフォルト の「英語」で表記しようとします。

しかし今回のケースでは日本語以外のテンプレートファイルを扱っていませんからページを表示することができないわけです。

ページ全体が文字化けしている

サーバー の問題ではなく、 クライアント Webブラウザ の読み込みエラーかもしれませんので、「更新」ボタンをクリックしてみるか、エンコードを「日本語の自動選択」で読み直してみてください。

それでも治らないときは、 ".namazurc" の中の "Lang" ディレクティブ が正しくないか、そもそも Apache の設定である "/etc/httpd/conf/httpd.conf" 中の "AddDefaultCharset" AddDefaultCharsetについて の設定が EUC 以外の 文字セット に固定されているのかもしれません。

また稀なケースですが、 "mknmz" で索引データベースの作成中にエラーが発生すると、主に検索結果のページで文字化けを起こすことがありますから、索引データベースのファイルをすべて削除し、もう一度索引データベースを作成しなおしてみてください。

ページフッタのメールアドレス表記が設定と異なる

"nknmzrc" の $ADDRESS ディレクティブ $ADDRESSディレクティブの設定 の設定で明示的に自分のメールアドレスを設定したり、メールアドレスを表示しない設定にしているにも係わらず、それとは無関係なメールアドレスがページのフッタ部分に表示されてしまうことがあります。

これは、 ".namazurc" "Template" ディレクティブ が、 "Index" ディレクティブ と異なる パス に設定されている場合に起こります。

もう一度 $ADDRESSディレクティブの設定 の説明をご覧の上、修正を行ってください。

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System