Webalizerぁぁ...2009/07/14 16:14

とある Web サーバでアクセスログの解析をやりたいのでログ解析パッケージの Webalizer をインストールして欲しいという依頼を受けた。

このサーバ、何年も前に他所の業者さんが設置したもの。あらためて環境を確認すると Redhat Linux 7.3。ftp.kddlabs.co.jp を探してみたら、このディストリビューションのタイムスタンプ、02/06/14。確かにこの頃ずいぶん Linux でシステムを設置する仕事をやったけれどもう7年前ですか... と感傷に浸る間もなく、該当するパッケージがないか探したら webalizer-2.01_10-1.i386.rpm というのがあったのでダウンロードし、rpm でインストールしようとしたら、/var に空きがなくて rpm が実行できない(;_;)
確認したら、/var の割り当てが たったの251MB。しかも /var/spool/mail/root がまんま 251MB。このサーバ良く落ちませんでしたねという状態。とりあえずスプールにたまった root をごそっとどかして場所を空けてあらためて rpm を実行したところ

エラー: 依存性の欠如:
webserverは webalizer-2.01_10-1 に必要とされています
だって。でもこのサーバ apache 走ってるじゃん。

てことはソースからインストールした奴が走ってるのかなと確認したら、/usr/local/apache/の下にいらっしゃいました。それじゃってんで Webalizer のオフィシャルサイトを探して、ソースをダウンロード。

とりあえず動作させることを優先してコンパイルオプションは

  • --with-language=japanese で日本語出力
  • --enable-dns で逆引きを行う

    だけで ./configure、make、make install
    すんなり入ってくれました。

    続いて /etc/webalizer.conf の内容を実際の環境に合わせて修正
    LogFile には実際のログが保存されているファイルをフルパスで記述
    LogType clf は、httpの挙動だけ知りたいのでそのまま
    OutputDir にはブラウザでアクセスするための URL。
    今回はドキュメントルートの下にそれ用のディレクトリを作成して指定
    Incremental は yes として、過去の結果を残すようにした
    HostName は実際のサイトの名称を記述
    あとの項目はデフォルトのまま。

    解析結果を表示する URL が誰でもアクセスOKなのはなんなので、このディレクトリにベーシック認証をかけた後、毎朝解析結果を更新するようにWebalizerをキックするスクリプトを書いてcrontabに登録、でとりあえず一件終了。あとの細かい設定に関するオーダーを待つばかりに漕ぎ着けた。