| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
このblogのアクセス解析を見たいので自宅サーバにawstatsを入れた。備忘録がわりに入れ方を書いておこう。
先ず、Awstatのオフィシャルサイトからawstats-6.2.tgzを拾ってくる。現時点で、最新の安定バージョンは6.2。これを解凍。
tar zxvf awstats-6.2.tgz
次に、解凍されたフォルダの中にある"wwwroot"というフォルダの中身を、httpでアクセスできる場所に移す。ぼくのサーバだったらこんな感じ。ところでawstatsを使うには、解析結果のHTMLを作らせてそれにアクセスする方法と、awstatsを直接CGIとして実行する方法がある。前者の方法でやるならこのコピーは不要。後者でやったほうがなにかと楽なので、ぼくのサーバでは後者の方法でインストールした。
cd ./awstats-6.2/wwwroot cp ./* /home/httpd/html/ -r
awstatsの本体は"cgi-bin"フォルダの中に入っている。ここにある"awstats.model.conf"というファイルが設定の雛形。これをそのまま使ってもいいけど、複製したものに手を入れるのがお作法かな。"awstats.conf"ってのがawstatsがデフォルトで読みに行く設定ファイルの名前になっているので、その名前でコピーしてやる。
cp awstats.model.conf awstats.conf
そうしたら"awstats.conf"を弄る。かなり大きなファイルで設定項目も多いが、最低限、次の4つだけ弄れば動く状態になる。
awstatsの本体は"awstats.pl"というperlで書かれたスクリプトだ。Webサーバの設定によるが、これをCGIとして扱ってくれないなら、.htaccessを使ってオプションを指定してやるのが手っ取り早い。拡張子を.cgiに変えるとかその辺でも対応できる。.htaccessを使うなら、下の2行を書けばOK。
Options +ExecCGI AddHandler cgi-script pl
ここまで出来たら、awstatsを実行できる状態になっているはず。次のようにすると、awstatsはアクセスログを読みに行って、解析データを作成する。
/home/httpd/html/awstats/awstats.pl config=awstats.conf -update
次のように出力されたら成功。
/home/httpd/html/blog/awstats/awstats.pl config=awstats.conf -update Update for config "/home/httpd/html/blog/awstats/awstats.conf" With data in log file "/var/log/httpd/blog/access_log"... Phase 1 : First bypass old records, searching new record... Searching new records from beginning of log file... Phase 2 : Now process new records (Flush history on disk after 20000 hosts)... Jumped lines in file: 0 Parsed lines in file: 10 Found 0 dropped records, Found 0 corrupted records, Found 0 old records, Found 10 new qualified records.
"Found n new qualified records."のところにゼロでない数字が入っていればOK。ここがゼロになってて、"Found n corrupted records,"のところに数字が入ってるなら、アクセスログの形式がだめぽである可能性が高い。apacheなら"combined"をログの形式にしていないとうまく扱ってくれかったとおもう、たぶん。アクセスログが見付からないとか、何か問題があるなら、その旨を教えてくれるはず。
最後にcronに仕込んで、定期的にawstatsを実行するようにしてやれば完璧。
で、このサーバで動いているawstatsはこちら。

