in pnamazu-2006.12.23 by furukawa@tcp-ip.or.jp
tiny_mknmz.cgi は、Namazu のインデックスを簡易的に作成する スクリプトです。 実際に使うためには、いくつかの設定、注意が必要です。この文書を必ずお読みください。
Namazu のシステムは、
から構成されます。
mknmz で時間のかかる部分をあらかじめ計算しておくことで、
namazu が検索を速く実行できるわけです。
ですから、インデックスを作るプログラムは、当然時間がかかります。
マシンの負荷にもなり得ます。
それを cgi で実行するということは、誰でもそれをできるということに
なります。ですから、そのことを意識して運用する必要があります。
少なくとも、パスワードで保護するなどの措置をすることを推奨します。
(申し訳ありませんが、「パスワードで保護するにはどうすればよいか」
など、本スクリプトに直接関係のない web 一般の質問は御遠慮ください。)
tiny_mknmz.cgi によってできるインデックスは、 フォーマット的には Namazu のインデックスに合致しています。
ただし、サブセット的な要素がいくつかあります。
これらは、制限事項ではありますが、悪い事ばかりではありません。
動作上の制限としては、
ということがあります。
(註 1)正規の namazu.cgi では、この制限の影響を受けてしまうことになりますが、 一般には、正規の namazu.cgi を動かせるような環境では、正規の mknmz を使えるでしょうから、結論として、検索するユーザがこのこと を意識する必要は無いと思います。
ただし、pnamazu が tiny_mknmz 用の処理をするためには、
.pnamazurc に 'TinyMknmz 1
' と書かれている必要があります。
プロバイダに自分のページを持っている場合には、
my $topurl = 'http://ホスト名/~ユーザ名/';
となる場合が多いでしょう。
コンテンツを ftp で転送している方は多いと思いますが、
その時に、指定しているディレクトリ名です (例外あり)。
my $topdir = '/home/ユーザ名/public_html/';
などですが、プロバイダによって違いますので、よく確認してください。
書き込みが許可されている必要があります。 このディレクトリにインデックスを作ります。
書き込みが許可されている必要があります。 このディレクトリにテンポラリファイルを作ります。 また、このディレクトリには関係ないファイルを置いておかないようにしてください。
説明書を読んでいただきたいために、tiny_mknmz.cgi
をただ置いた状態では動作しないようにしている、というだけのものです。
注意事項を御理解のうえ、この変数は undef にしてください。
my $show_warning = undef;
tiny_mknmz.cgi は、ブラウザから中断した場合などにも、 できるかぎり lock を解除しようとしますが、場合によっては、 「二重起動」の状態から抜けられなくなることがあり得ます。 そのような場合、この変数を 1 にしてください。lock を解除します。 ただし、1 のままだと、インデックスは作成できませんので、 解除した後で、0 に戻してください。
このディレクトリの書き込みを許可しておくと、.namazurc と .pnamazurc を自動生成します。用が済んだら、書き込み禁止にしておきましょう。
検索対象ファイルが無いことが分かっているディレクトリ、または、
検索対象としたくないディレクトリを指定します。
この指定により、実行時間短縮、使用メモリ節約といった効果が
期待できます。
普通は、
my @deny_dirs = ('/home/ユーザ名/public_html/image/', '/home/ユーザ名/public_html/cgi-bin/');
のような設定になるケースが多いでしょう。
my $hns_dir = '/home/ユーザ名/public_html/diary';
my $hns_dir = '/home/ユーザ名/public_html/hns-lite';