先日来namazuのセットアップを繰
り返している。正確にはINDEXの作成を繰り返している。といっても、別に
INDEXが壊れるということではなくて、INDEX作成に時間がかかりすぎてINDEX作成途
中でリブートがかかるという話。
# 週に一回再起動はWindowsサーバーのお約束:-)
namazuの最新バージョンである2.0.16のWindows版は、現在アルファ版アーカイブ
という状態だが、アーカイブがアルファ版なだけで、要はInstallShieldなどの親切丁寧
な(場合によっては余計なお世話もする)インストーラが付いていない、という話。
Windows用の開発環境を持ち合わせていない(& タダと言われても用意する気が無い)身と
しては、CGIやperl moduleのバイナリを用意していただけるだけで十分ありがたい。
既に旧版のnamazuの稼働環境を構築してあるなら、実質的に
- アーカイブの中身を現在の環境に上書き
- ActivePerlのバージョンアップ
(2.0.16はActivePerl 800番台のみサポート)
- Text:kakasiなどPerl moduleのバージョンアップ
点が引っかかるかもしれないが、実際には
- このへんから*.ppd
およびx86/ 以下にあるモジュール本体をダウンロード
- *.ppdの置いてあるローカルのディレクトリに、x86という名前のディレクトリを
作成し、その中に先ほどダウンロードしたモジュール本体を置く
(要するに上記のサイトと同じディレクトリ構成をローカルHDD内に構築する)
- *.ppdの置いてあるローカルのディレクトリをカレントディレクトリにして、
"ppm install File-MMagic.ppd"のように、ローカルの*.ppdを直接指定してppmコマ
ンドを実行
インストールできる。
(参考資料:PPMによ
るモジュールのインストール)
ちなみに2.0.16ではファイル名による検索がサポートされたが、
- mknmzrcの$SEARCH_FIELDに"filename"を追加する必要がある
- 検索対象はbasenameのみで、ディレクトリ名は対象とならない
- 検索用INDEX(NMZ.field.filename)の生成が必要
ていない。
一番の問題は、INDEX作成の対象が、フォルダ構成も含めこれまでほとんど無秩序に
追加されてきたファイル群だということ。全ファイル数はたかだか10万程度だが、人間が全容を把握するには少々数が大きい。何度かINDEX作成を繰り
返し、エラーが出る度に対処(新たなフィルタの追加や、$DENY_FILEの設定変更など)
を繰り返す羽目となっている。
ActiveStateからダウ
ンロードしたPerl ModuleのバージョンがCPANのものより古くて(おそらくはメモリリー
クで)mknmzが異常終了する、なんてこともあった。具体的に言うと画像フィル
タで必要になるImage::Info(ActiveStateにあるのが1.10でCPANが1.21)。幸い
Pure Perlで書かれたモジュールだったので、nmake.exeだけ調達して
して対策(笑)
perl Makefile.PL
make install
そんなこんなで、初回のINDEX作成が未だ完了していない。