ラズパイのwebalizer設定

 WeBサーバーを運用しだすと、どの程度アクセスがあったかを知りたくなるもので、かってメルコのNASを改造してサーバーを運用していた時を思い出し、その時使っていたwebalizerをインストールしてみた。

 ネットで調べてみると

$sudo apt-get install webalizer

でインストールできるようであり、昔に比べると簡単になったようである。

インストール終了後、/etc/webalizer/webalizer.confを修正する。
まず、webalizer.confをwebalizer.conf.oldなどとして保存しておき、webalizer.confを変更する。

まず、
$sudo vi /etc/webalizer/webalizer.conf
でviを立ち上げる。 今回変更した箇所は以下の通り
・30行目付近 解析するログファイルを指定する。
デフォで1つ前のログファイルが指定されている。ローテーション後のファイルはこの名前になるのでそのままにしておく。
LogFile /var/log/apache2/access.log.1

・45行目付近 解析結果の出力先
Apacheのドキュメントルートによるが、ドキュメントルートの下になるよう変更する。
例えば以下のように。
OutputDir /var/www/html/webalizer

・70行目付近 解析結果を追記にするに変更する。これをしないと一日分しか出力されない。
それでは困るので過去の解析結果に最新の結果を追加していくように変更する。
#Incremental no を修正する。
Incremental yes

・97行目付近 ホスト名
デフォルトでシステムのhostnameに設定されている。必要があれば変更する。
HostName yourdomain.com

・174行目付近 アクセス元のドメインを解析できるようDNSキャッシュを有効にする。
DNS lookupを行い、ログのIPアドレスをホスト名へ変更するために必要なのでコメントアウトを外す。
DNSCache dns_cache.db

・188行目付近 DNSキャッシュ作成プログラムの実行数
DNS lookupを実施する子プロセスの数を指定する。多くするとスピードは上がるが多くのCPUパワーが必要。5ぐらいにしておく。コメントアウトを外して数字を0→5に変更
DNSChildren 5

・250行目付近 出力HTMLヘッダにcharset宣言追加。参考にさせていただいたサイトの記述に有ったのでそのまま使用した。効果の程はは未確認。
HTMLHead <META HTTP-EQUIV=”content-Type” CONTENT=”text/html; charset=UTF-8″>

・720行目付近 サーチエンジンの設定を変更
サーチエンジンのアクセスワードの読み込み設定。yahooがyahoo.comのみになっているので以下のように設定してyahoo.co.jpも検索に引っかかるようにした。
SearchEngine yohoo.com p=
↓ 変更
SearchEngine .yahoo. p=

導入時の過去ログの処理は、
sudo webalizer /var/log/apache2/access.log.4.gz
sudo webalizer /var/log/apache2/access.log.3.gz
sudo webalizer /var/log/apache2/access.log.2.gz
sudo webalizer /var/log/apache2/access.log.1

などと古い順に実行していくと、ログが積算される。
失敗した時は、/var/www/html/webalizer/以下のファイルを全部削除してからやり直せばよい。

〇CRONTABの設定
最後にwebalizerは一日一回動作させてログの積算をさせる必要があるのでcrontabを修正する必要がある。
しかし、今回はインストール時 /etc/cron.daily/ にwebalizerが作成されておりそれを使うのでcrontabの修正は不要であった。

こんな感じの集約グラフが表示される。

webalizerの表示画面