| 
      
       さあ これで、設定をしましょう。 
      cd /usr/local/etc/namazu 
      で設定ファイルのあるところへ行き、 
      cp mknmzrc-sample mknmzrc 
      cp namazurc-sample namazurc 
      とやって、サンプルを複写し、 
      vi で、編集します。 
      mknmzrc は、 
      $HTML_SUFFIX = "html?|[ps]html|html\\.[a-z]{2}|htm|HTM"; 
      と、変更しました。私は若干変更したので。 
      $ALLOW_FILE の部分は、全部 # を外してコメントでなくします。 
      あとは、適当にコメント # を外してしきます。 
      %Weight 
      $NKF 
      $KAKASI 
      $WAKATI 
      などの # を外します。 
      また、念のため $LIBDIR = "/usr/local/share/namazu/pl"; 
$FILTERDIR = "/usr/local/share/namazu/filter"; 
$TEMPLATEDIR = "/usr/local/share/namazu/template"; 
      も追加しておきます。(デフォルトで良いかも) 
      namazurc は、 
      Index /usr/local/var/namazu/index 
      これは、好きなディレクトリーを指定できますが、とりあえずデフォルトのまま。 
      Template /usr/local/var/namazu/index 
      実は、インデックスと同じで良いんだけど?なぜこれを設定するか不明。 
      Replace は、apache などの http サーバが、外に見せているアドレスに 
      ディレクトリーを対応させる。 
      例: Replace       /usr/local/www/html/groups/home http://www2.hasiru.net 
Replace       /home/tooru/public_html/  http://www2.hasiru.net/~tooru/ 
      このへんは、あまり賢くない。 
      Lang ja_JP.SJIS 
      ContentType "text/html; charset=Shift_JIS" 
      Charset "ja_JP.SJIS" "Shift_JIS" 
      どうも、namazu は、なるべく Shift_JIS で扱った方が良いようである。 
      テンプレートも少し直さないと、一瞬文字化けする現象が出ます。 
      /usr/local/share/namazu/template/NMZ.head.ja の8行目あたりに、 
      <META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=Shift_JIS'> 
      などと追加します。 
       
      さて、ここで、問題です。 
      ファイル名が、EUC-JP 以外のコードになっていると、文字化けする不具合があります。 
      でも、これは、簡単に直ります。 
      実は、 
      /usr/local/share/namazu/pl/gfilter.pl 
      の filename_to_title という関数をいじれば、直ります。 
      即ち、$title を EUC-JP に変換してやれば、良いのです。 
      Shift_JIS の場合は、78行あたりを、 
      my $title = codeconv::shiftjis_to_eucjp($filename); 
      などにしてやれば、良いのです。 
      UTF-8 の場合は、変換モジュールを持ってこないとだめですが。(Encode::from_to など_utf8_off が必要かも) 
      後日、まだ文字化けしているので、よく見ると、前のほうで変な変換をしていたので、 
      全てコメントにしました。これ(名前を付けてリンク先を保存として.txtを.plに) 
      もうひとつ問題があります。 
      /usr/local/share/namazu/filter/html.pl です。 
      HTML に UTF8 の数値文字参照が、含まれていると、正しく動作しません。 
      気に入らないので直しました。 
      use Encode; で、モジュールを読み込んで、 
      decode_numbered_entity 関数を sub decode_numbered_entity ($) { 
    my ($num) = @_; 
    my $utf8; 
 
    # FIXME: very ad hoc. (ISO-8859-1) 
    #return "" 
    #    if (($num >= 0 && $num <= 31) || ($num >= 127 && $num <= 159) || 
    #    ($num >= 256)); 
    #return "" 
    #   if $num >=127 && util::islang('ja'); 
      $utf8 = sprintf ("%c",$num); 
    Encode::_utf8_off($utf8); 
    Encode::from_to($utf8, 'utf8', 'eucJP'); 
    return $utf8; 
      } 
      なんて感じに直した。 
      ここに、完成品(名前を付けてリンク先を保存として.txtを.plに) 
       
      ところで、 
      web から見る場合は、namazu.cgi を外から見えるところに置かないだめです。 
      cp /usr/local/libexec/namazu.cgi /usr/local/www/cgi-bin/. 
      などとします。 
      他の人に見られたくない場合は、認証の必要なところへ置きます。 
       
       
       | 
       |