wget + namazu を使う

自分の作成したページを検索対象にしたいが、ページ内にはどこからもリンクが張っていないプライベートなページが複数存在する。mknmz で index を作成すると全てが対象となってしまって困りました。そこで wget を使用し、トップからリンクの張ってあるページのみを別の場所にコピーし、それに対して index を作成しました。

0. 環境設定

.cshrc に、setenv LANG ja を追加。

mknmz -C で、日本語が表示されることを確認する。

1. wget を実行

wget -r -l 10 -A .html -P down -H -L -N http://localhost/~dir/

 再帰的・深さは10・対象は .html のみ・down/ 以下に保存・ホスト名を保存ディレクトリにつけるように明示・他サイトは参照しない・タイムスタンプをつけるように明示。複数のページを参照する場合は、複数回 wget を使用する。

2. mknmz

 index ファイルを作成。

mknmz -O public_html/index down/localhost -U

 index を public_html 以下に作成する。検索対象ファイルは down/localhost 以下にある。-U を付加することで、%7E が置換されなくなる。

3. namazu cgi の設置

・lib_exec 以下にある namazu.cgi を cgi 用ディレクトリに移動し、実行属性をつける。

・etc/namazu/namazurc-sample を cgi 用ディレクトリに .namazurc としてコピー。

・.namazurc を以下のように変更。

Index /home/dir/public_html/index

Replace /home/dir/down/localhost/%7E /~

(同一サーバの複数のユーザのページを検索対象にしたかったため)

Lang ja_JP.SJIS

・念のため、.namazurc が Web から見えないようにする。

cgi 用ディレクトリの .htaccess に以下を追加。

<Files .namazurc>
order allow,deny
deny from all
</Files>



参考

wget

http://seagull.cs.uec.ac.jp/~horiuc-m/wget.html

http://philosophy.onweb.to/~nagasaki/admin.html

http://plaza27.mbn.or.jp/~satomii/jdoc/wget/



namazu

http://www.ki.nu/software/namazu/tutorial/purpose.html

http://village.infoweb.ne.jp/~fwnk1502/data/howto2.htm

http://village.infoweb.ne.jp/~fwnk1502/data/namazu2.htm

http://sl.hunet.ne.jp/cgi/_cool/namazu2/