nginxのnamazu設定とlogファイルのブラウザ表示

スポンサーリンク
Linux
スポンサーリンク

実ファイルとnamzuおよびnginxの定義の関係性を示したWEbサイトが無いため(一部を開示してるWEbサイトは有ります)、関係性を示す必要が有ると思っため公開します。
namazuを利用する場合のnginx.confの設定の記録です。

スポンサーリンク

関連するディレクトリとファイル

関連するファイルやディレクトリの一覧です。

/usr/local/etc/namazu/namazurc・・・・・・・・・・・namazuの設定ファイル
/var/www/hoge.hogehoge.jp・・・・・・・・・・・・・本サイトのrootディレクトリ
/var/www/hoge.hogehoge.jp/namazu・・・・・・・・・namazのrootディレクトリ
/var/www/hoge.hogehoge.jp/namazu/index・・・・・・インデックスのディレクトリ
/var/www/hoge.hogehoge.jp/namazu/index/mypage・・インデックスのディレクトリ(実インデックスファイルの場所)
/var/www/hoge.hogehoge.jp/namazu/search.html・・・検索用html
/var/www/cgi-bin・・・・・・・・・・・・・・・・・・・CGIプログラムのディレクトリ
/var/www/cgi-bin/namazu.cgi・・・・・・・・・・・・・namazuの検索プログラム
/opt/doc・・・・・・・・・・・・・・・・・・・・・・・検索結果の表示ファイルディレクトリ

namazurcファイル

検索結果の表示させるファイルの定義です。

Index  /var/www/hoge.hogehoge.jp/namazu/index
Template /var/www/hoge.hogehoge.jp/namazu/index/mypage

Replace /opt/doc/ http://hoge.hogehoge.jp/namazu/doc/
indexとTemplateを同じパスにしていないのは、別カテゴリをindexディレクトリ配下に作成する可能性が有るためのです。可能性だけです。
今のところ、インデックス情報は「index/mypage」配下に作成しています。

nginx.confファイル

namazuのディレクトリは静的ディレクトリのため、「location /namazu/」は不要ですが、みんなには公開しないため認証する記述しているためです。
「location /namazu/doc/」をネストしているのは、namazuディレクトリ配下を明示するためです。

location /namazu/ {
   root /var/www/hoge.hogehoge.jp;
   index    search.html
   auth_basic “Restricted”;
   auth_basic_user_file /etc/nginx/.htpasswd;

   #/opt/doc        ・・・・namzuの検索ドキュメントディレクトリ
   location /namazu/doc/ {
      alias /opt/doc/;
      allow all;
   }
}

location /cgi-bin/ {
  root /var/www;

  location ~ .(pl|sh|cgi)$ {
    try_files  $url =404;
    fstcgi_pass  unix:/run/fcgiwrap/fcgiwrap.sock;
    include    fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_scriot_name;
  }
}

nginxの再起動

# systemctl restart nginx
検索が正常に動作することを、祈ります。
 

logファイルのブラウザ表示

teratermのログファイルをnamazuで検索させたいと思い、設定した記録です。

 

logファイルインデックス化

logファイルをmknmzでインデックスを作成するために、mknmzrcを修正する。

# cd /usr/local/etc/namazu
#
# cp mknmzrc mknmzrc_org
#
# vi mknmzrc
#
# diff -c  mknmzrc_org  mknmzrc
*** mknmzrc_org 2024-01-18 22:07:42.000000000 +0900
--- mknmzrc     2025-02-13 19:46:10.959020888 +0900
***************
*** 39,44 ****
--- 39,45 ----
  #             "|.*\\.od[tspg]" .                 # OpenOffice2.0
  #             "|.*\\.rtf" .                      # Rich Text Format
                "|.*\\.hdml|.*\\.mht" .            # HDML MHTML
+               "|.*\\.log" .                      # LOG
  #             "|.*\\.mp3" .                      # MP3
  #             "|.*\\.gnumeric" .                 # Gnumeric
  #             "|.*\\.kwd|.*\\.ksp" .             # KWord, KSpread
#

 

mknmzコマンドでインデクスを作成する。

コマンドは省略します。
logファイルのインデックスが出力情報から作成されたことを確認する。

 

logファイルをnginxでブラウザ表示させるために設定する。

拡張子の「.log」がmime.typesファイルに記述が無いため、ファイルをダウンロードしてしまう。
mime.typesファイルを直接修正しても問題はない。
ブラウザに直接表示させるためにngnxの設定を追加する。

# cd /etc/nginx/default.d
#
# vi namazu.conf
# cat namazu.conf
        :
    # /opt/doc namzuの検索ドキュメントディレクトリ
    location /namazu/doc/ {
        alias /opt/doc/;

        location ~\.(txt|log)$ {
            charset UTF-8;
            #add_header     'Content-Type' 'txt/plain';
            #types {
            #       text/plain log txt log;
            #}
            types { } default_type text/plain;
         }
    }
        :
#

 

nginxを再起動する。

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfu
#
# systemctl restart nginx
#

 

namazuにアクセスして、検索結果でlogファイルがブラウザで表示されることを確認する。