Webalizer は,Web のアクセス統計を表示してくれるフリーのソフトウェア。Vine Linux 3.1 にも日本語化されたパッケージが用意されているが,全てが日本語化されてしまっているので,表示が見づらい。そこで,検索語だけ日本語化されているパッケージを導入する。
Web サーバのアクセス統計情報を集計するソフトウェアに Webalizer がある。Web + Analyzer なのに「Webanalyzer」という名前でないのが疑問ではあるが,それは単に趣味の問題。集計情報は見やすくまとまっている。
Vine Linux Plus には Webalizer の日本語化されたパッケージがある。--with-language=japanese オプションをつけてコンパイルされたものである。しかし,このオプションをつけると,翻訳できる用語はすべて日本語化されてしまう。「Top x of xx URLs」は「トップ x of xx 全URL」と表示され,とても見づらくて気持ちが悪い。Webalizer の日本語化で一番必要なのは,検索文字列の日本語化である。つまり,自分のサイトがどんな言葉で検索されたのかが分かるだけでよい。これが日本語化されていないと,日本語の検索文字列は「%E6%A4%9C%E7%B4%A2」というパーセント表示か,「\16進」などのエスケープされた文字列で表示されてしまう。
日本語の検索文字列を表示させる他の方法としては,Webalizer に Apache のログファイルを直接読み込ませるのではなく,文字列変換したログファイルを読み込ませる方法がある。しかし,バッチ的に変換しなければならないし,ログファイルをほとんどそのままコピーすることになるので容量も倍になってしまうという欠点がある。
webalizerの検索語の日本語対応の話 では,検索語だけが日本語対応しているパッケージを配布してくれているので,これをインストールする。パッケージは SRPM の形式になっているので,自分でコンパイルする必要がある。
コンパイルするためのパッケージが不足している。gd-devel, libpng を Vine Linux 3.1 用のパッケージからインストールする。しかし,db3-devel は用意されていない。db3-devel ライブラリは必要ないので,SRPM の SPEC ファイルを編集してコンパイルすることにする。まず,SRPM を展開する。
SPEC ファイル ~/rpm/SPECS/webalizer.spec を編集する。
の行から db3-devel を削除する。
コンパイルして,rpm をビルドする。
パッケージが ~/rpm/RPMS/i386 ディレクトリにできるので,これをインストールする。
設定ファイル /etc/webalizer/webalizer.conf には,次のサーチエンジンを登録しておく。
その他,ゴミのようなリファラが統計情報を汚すので,Ignore Referrer ディレクティブで排除する(nlog(n): 不要なリファラを無視したい)。設定ファイルについては Webalizer の設定. (FreeBSD) [fkimura.com] が詳しい。
Webalizer をインストールすると,/etc/cron.daily に 00webalizer ができる。1日に1回 Webalizer を動作させるためである。これを真似て,1時間に1度 Webalizer が動作するように,/etc/cron.hourly/00webalizer ファイルを作成し,次の内容を書いておく。cron で処理した結果を抑止するために,結果を /dev/null に出力している(1日に24通メールが届いてしまうので)。複数の設定ファイルがある場合(webalizer.nlogn.conf と webalizer.foo.conf ),/etc/webalizer に cd してからでないとうまく動作しなかった。
00webalizer ファイルには実行許可をつけておくことを忘れずに。
追記:
この手順を nlog(n): 日記サーバ移行計画 に追加する。
Master Archive Index
Total Entry Count: 1957