FreeBSD で Namazu を使う

以前ホームページ作成の解説で有名な、とほほのWWW入門さんより、サイト内検索をしてくれる WwwSearch という CGI プログラムを頂いて設置していたのですが、Perl5.8 にしたせいか上手く検索してくれなくなっしまいました。
それで検索CGI で有名な、Namazu を導入してみることにしました。かねてからそうしようと思っていたのですが、何か難しそうで敬遠していました。普通の CGI プログラムと違って、コンピュータのアプリケーションとしてインストールする形のようです。で、うちのサーバのOSは FreeBSD4.11 なので、FreeBSD のケースでインストール・設定を解説されているサイト探しから始めました。

幸い 九州大学 大学院システム情報科学研究院 牧之内研究室 さんのサイトの WWWサーバで namazu による全文検索 のページに割りと分かりやすく書かれていましたので、今回参考にさせて頂きました。m(_ _)m

サーバ機は3台あるのですが、OS、アプリ、ユーザ設定など皆同じにし、定期的に稼動機よりデータのバックアップをとっています。3台の中の稼動していないものに、試験的にインストールしてみることにしました。

その手順を忘れないためにも、おさらいしておきます。
まず、namazu 本体のインストールの前に、namazu が動作する環境を作っておいてあげる必要があります。
■ textproc/xlhtml
  エクセル(xls)データをHTML形式に変換/コンバートすることができるツール
■ textproc/wv2
  MS Word ファイルを閲覧するためのアプリ
■ misc/lv
  強力な多言語ファイルビューア
■ japanese/xpdf
  xpdfPDFファイルを閲覧するためのアプリ
  検索対象にPDFファイルがある場合は、インストールしておくべき?、と思って
  インストールしたのですが、えらく時間がかかりました (^^;)
■ japanese/nkf
  ネットワークでメールやニュースの読み書きをするために作られた、漢字コードの変換フィルタ JIS, Shift-JIS, EUC に対応。MIME デコードもできる
■ devel/gettext
  一つの実行ファイルでメニューなどに使われる言語を切り替えることができるアプリ
  これは既にインストールされている方がほとんどだと思います
■ japanese/kakasi
  シンプルな漢字仮名変換装置. 日本語用言語フィルタ
■ japanese/namazu2
  肝心要のナマズです。

この内既にインストールされているものもあるかも知れませんので、pkg_info のコマンドで、既にインストールされているアプリの一覧を、テキストファイルにコピーしました。
既にインストールされていたアプリの一覧
調べてみると、gettext だけは既にインストールされていました。xhtml や wv2、xpdf などは、検索したいディレクトリに、これらのアプリに関連した形式のファイルが置いてなければ、インストールする必要はありません。

今回試しに皆インストールしてみたのですが、xpdf のインストール中に、xpdf-3.00.tar.gz がないのでダウンロードできないよ! どっかから見つけて来て、ports の distfiles ディレクトリに置いてくんろ! というエラーが出てしまいました。ネットで検索してみますと、各ダウンロード用のサーバには、xpdf-3.01.tar.gz しかありません。これはports の更新をしてからでないとまずいようです。しかし cvsup コマンドで全ての ports の更新をしたのでは、時間がかかりすぎるので、上の textproc、misc、japanese、devel だけ更新することにしました。
/etc/ports-supfile の ports-all をコメントアウトし、textproc、misc、japanese、devel のコメントアウトを解除してあげて、cvsup を実行しました。

これは正解だったようで、cvsup も短時間で終わり、アプリのインストールも全て滞りなく終わりました。(^^;)

後は設定です。設定ファイルは、mknmzrc-sample と namazurc-sample。
それぞれを .mknmzrc と. namazurc の名前でコピーした後、namazu.cgi を動作させるディレクトリに移動させます。解説サイトによっては、mknmzrc-sample と namazurc-sample を mknmzrc と namazurc とドットをつけないでリネームしているところもありましたが、今回のケースでは、ドットをつけないと認識してくれませんでした。

肝心の namazu.cgi は、最初ありかが分からなくて探してしまったのですが、
/usr/local/libexec にありました。namazu.cgi を最初 cgi-bin に置いたのですが、後々操作しやすいディレクトリの方がいいでしょうということで、home ディレクトリに namazu というディレクトリを作ってそこに置きました。元々 home ディレクトリは、CGI が動作する設定になっています。

.mknmzrc と. namazurc ファイルの書き換えは下記の通り。今でもどの設定が生きているのかよく分かりません。(^^;)
mknmzrc
namazurc

で、ここからがはまった部分です。検索データとなるインデックスファイルを作るのですが、最初パソコンおやじさんのページに書かれていたコマンドで実行してみたところ、全く上手く行かず参ってしまいました。.mknmzrc と. namazurc ファイルで設定した設定が、まるっきり生きてくれません。おやじさんのマシンは Linux なので、OSの違いからなのでしょう。結局牧之内研究室さんのページに戻り、書かれていた通りのコマンドで実行してみたところ、上手く行きました。コマンド自体に、日本語文字コードなどを書き込みます。

そのコマンドを書いたファイルを namazuupdate.sh として保存し、/usr/local/bin に置いて 、/usr/local/bin/namazuupdate.sh で簡単に実行できるようにして起きました。cron で定期的に実行させてもいいのですが、最近サイトの更新も頻繁ではないので、行った際に手動でインデックスファイルの更新をすることにしました。

さて、出来上がった Namazu によるサイト内検索のページ です。
テンプレートファイルは、/usr/local/var/namazu/index 以下にあり、NMZ.head.ja と NMZ.foot.ja を書き換えることによって変えられます。それと文字化けを防ぐために、このふたつのファイルに日本語文字コード指定のための meta タグをしっかりといれておいた方がよいかも知れません。

情報バーを出なくする設定

WindowsXP のパソコンを使われている方で、SP2 をインストールしてる方、また購入した時点で既に SP2 がインストールされていた方は、自分のパソコン内で html ファイルを編集している時に、そのソースの中に JavaScript などのプログラムが含まれていますと、下図のような 情報バー と呼ばれるバーが出て来ます。

ホームページ作成中に、一々このようなバーが出て来ては不愉快ですし、JavaScript などのプログラムの動作をブロックしてしまいますので、プログラム動作の確認もできません。設定によりこのバーを出なくし、プログラムも動作するようにしましょう。

※ ただし情報バーの機能は、メールの添付ファイルなどを開いた時に、悪意のあるプログラムが動作したりすることをブロックするための機能ですので、心配な方はそのままにしておいてください。万が一、この機能を解除したことによって何らかの被害を受けられたとしても、当サイトは一切の責任を負うことはできません。

インターネット・エクスプローラーのメニューバーの [ ツール(T) ] → [ インターネット オプション(O) ] の順にクリックし、インターネット・オプションのダイアログボックスが出て来ましたら、[ 詳細設定 ] のタブをクリックします。そしてその設定項目のセキュリティー中の、[ マイ コンピューターのファイルでアクティブ コンテンツの実行を許可する ] にチェックを入れて、[ 適用(A) ] → [ OK ] をクリックしてあげます。

これであの目障りな 情報バー は出なくなりますし、ページに書かれたプログラムも動作するようになります。(^^;)

Outlook のアドレス帳

最近老眼が進んだせいか、Outlook Express のアドレス帳からお目当てのアドレスを探すのが大変です。(^^;)
一般的に Outlook Express の最初の設定では、姓名を昇順で並べています。しかしアドレス帳を調べていく間に、えっと思うような並び方をしている時があります。実は、Outlook Express では姓名順の場合、メールアドレスのプロパティーのまずふり仮名部分を読み、次に表示名、姓の順に読み取ります。

例えば、こんなことはありませんが、説明しやすい例としてお読み下さい。アトレス帳の登録画面で、ふり仮名部分が「よしの」で、姓の部分が「田中」、表示名が「飯田」だとしますと、アドレス帳では、よしのが読まれて、やゆよのよのところに並びます。

もし、アドレス帳を見ていて、えっと思うような並び方がありましたら、登録画面 (各アドレスのプロパティーですね) のふりがな部分をチェックしてみてはいかがでしょうか。(^^;)