Apacheのインストールを完了して、実際にコンテンツを作成したらログの解析をしてみましょう。自宅サーバを公開して、WEBコンテンツを作成したら是非ともログ解析をしてみると良いと思います。より良いコンテンツの作成の助けになるでしょう。
■Webalizer のインストール
Webalizerをいつもように yum でインストールします。
ひょっとしたら、webalizerに必要はGDやlibpng も同時にインストールされるかもしれません。
■Apacheのログカスタマイズ
Webalizerに代表されるログ解析ソフトを利用して、WEBアクセスを解析し、マーケティングに利用するというケースが非常に多いと思います。実はApacheのデフォルトだと、ログのフォーマットが「common」になっています。システム屋さんが、Apacheをログレベルで分析する場合にはこれでよいのですが、マーケティング屋さんが、アクセスログを解析する場合にはこれでは不十分なのです。実はもうひとつのapacheのフォーマット、「combined」があります。
combinedは、例えばuser agentやリファラー(refferer)の情報が付与されます。実はこの2つがマーケティング屋さんのログ解析には非常に重要なのです。で、このcombined形式にapacheのログフォーマットを変更しなくてはなりません。
実際にはapahceのコンフィグファイル(/etc/httpd/conf/httpd.conf )を以下のように変更します。
デフォルトだと、ここの白い文字の部分がcommon になっていると思います。
単に設定を変えるだけではなくて、apacheの再起動をします。
# apachectl start
最後にログをチェックします。
このような形(白い文字の部分)のように、リファラーとユーザエージェントの情報が入っていればOKです。
■Webalizerの設定
Webalizerを実際に設定します。実は以外にも高機能で、設定の箇所はかなりたくさんあります。最初は基本的な設定を説明していきます。
設定ファイルは /etc/webalizer.conf にインストールされています。まずはこれをバックアップをとります。
では、設定ファイルの基本的な部分を変更していきましょう。
・ログファイルの格納場所
これは、apacheのログファイルの格納場所です。もしあまり確信が無ければ直接apacheのコンフィグファイルを確認してみてください。
・出力ファイルの格納場所
Webalizerの出力結果を格納するディレクトリを記述します。複雑なディレクトリ構成にするのも面倒なので、ApacheのDocument Directory 配下にするとよろしいかと思います。
・ログ解析状態の保存
これは、apacheがログローテート(ある一定期間のログファイルを作成する方式)の場合などに有効です。以前までのwebalizerでの解析結果を保存してくれます。その結果、ログ解析の計算を非常に早く行うことが可能になります。ここでは、「yes」としましょう。
・ログ解析するファイルタイプ
PageType cgi
PageType php
PageType shtml
ログ解析の対象となる拡張子の一覧をリストします。多くのケースはこの程度のファイルでよいかと思います。必要に応じて追加してください。上記の例を参考に、追加する時は単に行を加えてあげればOKです。
・名前解決の設定
DNSChildren 10
これだけ言うと、何のことだかわかりにくいと思います。apacheの設定でも、IPアドレスをFQDN(つまりホスト名+ドメイン名)に変換する機能が入っていますが、この場合apacheの動作低下に繋がるためあまり薦められていません。しかしその一方で、マーケティング用途などでログを解析する場合は必要不可欠になります。ここでいう名前解決とは、ログに残されたIPアドレスをFQDNに変換してあげることを指します。そのキャッシュファイルとDNS名前解決のための子プロセスの数の設定ですが、このままで良いでしょう。
・出力ファイルのHTMLヘッダー
HTMLヘッダーに文字化け防止用のメタタグを追加します。ここでは文字コードをUTF-8に設定しています。
とりあえず基本的な設定は以上です。
■Webalizerの起動設定
まずは、コマンドラインから以下を実施します。
これで、webalizerで設定した場所にログの出力結果が生成されています。webalizerで設定したディレクトリにブラウザでアクセスしてみてください。403 Forbidden などのエラーが出たときには、/etc/httpd/conf.d/webalizer.conf を確認します。Allow from のところにクライアントのPCがアクセスするネットワークを記載してください。(もしくはコメントアウトします)
これだと、このコマンドを入力しないとデータが更新されません。自動的に更新されるようにしておきます。下記の例だと毎日午前0時にデータが更新されます。
トップ >> WEB
