(最終更新日時:2009-07-17 12:19:21)
Web用サーバーのアクセスログを解析し、ブラウザ上で解析結果を確認できるツール AWStats をインストールします。
ダウンロード
| ・ | AWStats Last stable | : | awstats-6.9.tar.gz |
インストール
/usr/local/src ディレクトリでアーカイブを展開し、ファイルをコピーします。
AWStats の実行ディレクトリは /home/www/awstat にしています。
# cd /usr/local/src
# tar zxvf ダウンロード先/awstats-6.9.tar.gz
# mkdir /home/www/awstats Web サーバー上に AWStats のディレクトリを作成します
# mkdir /home/www/awstats/icon
# cp -R awstats-6.9/wwwroot/cgi-bin/* /home/www/awstats/
# cp -R awstats-6.9/wwwroot/icon/* /home/www/awstats/icon
日本語化パッチ
検索文字列の日本語化のため
| ・ | AWStatsをFreeBSDで動かす | : | awstats69t_jpn.zip |
下記についてのパッチを適用します。
- 日本語環境として不自然な日付の表示を変更
- 検索エンジン定義 (awstats69t_jpn.zip のものと置き換えます)
- ロボット定義 (awstats69t_jpn.zip のものと置き換えます)
# cpan Jcode 必要な Perl モジュールをインストールします
# cpan Unicode::Japanese
# cd /home/www/awstats
# unzip -jfa ダウンロード先/awstats69t_jpn.zip AWStats69t_Jpn/wwwroot/cgi-bin/lib/search_engines.pm -d lib
# unzip -jfa ダウンロード先/awstats69t_jpn.zip AWStats69t_Jpn/wwwroot/cgi-bin/lib/robots.pm -d lib
# wget http://www.system-act.com/archives/patches/awstats-6.9.patch
# patch -p0 < awstats-6.9.patch
# rm -f awstats-6.9.patch パッチファイルを削除します
設定
apache の各バーチャルホスト設定に AWStats の設定を追加します。
AWStats の実行ディレクトリを全ホスト共通にしているため .htaccess を使用せず、apache の設定で行っています。
# vi /usr/local/apache2/conf/extra/vhosts/www.system-act.com.conf
:
Alias /awstats "/home/www/awstats"
<Directory "/home/www/awstats">
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On # IE6 までの不具合回避です
# 特定の IP アドレスやホスト名からのみアクセスを許可する場合は、以下の設定を行います
Order deny,allow
Deny from all
Allow from 192.168.12.0/24 # IP アドレスで制限する例です
AuthType Digest # アクセス認証は Digest 認証を使用します
AuthName "AWStats"
AuthUserFile /etc/.htdigest # http ユーザ認証用ファイル
AuthGroupFile /etc/.htgroup # http グループ定義ファイル
Require group www.system-act.com # グループに存在するユーザのアクセスを許可する
DirectoryIndex awstats.pl # ファイル名省略時の表示ファイルを指定します
Options ExecCGI # CGI の実行を許可します
AddHandler cgi-script .pl # .pl ファイルを CGI として実行できるようにします
SetEnv AWSTATS_CONFIG www.system-act.com # AWStats の config ファイルを当該ホストのものに強制します
</Directory>
# vi /usr/local/apache2/conf/extra/vhosts/www.nekojara.com.conf
:
Alias /awstats "/home/www/awstats"
<Directory "/home/www/awstats">
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
Order deny,allow
Deny from all
Allow from .localnet # ホスト名で制限する例です
AuthType Digest
AuthName "AWStats"
AuthUserFile /etc/.htdigest
AuthGroupFile /etc/.htgroup
Require group www.nekojara.com
DirectoryIndex awstats.pl
Options ExecCGI
AddHandler cgi-script .pl
SetEnv AWSTATS_CONFIG www.nekojara.com
</Directory>
htdigest を使用して Digest 認証用の .htdigest ファイルを作成します。
htdigest
-c で .htdigest が新規に作成されます。
また、レルム
"AWStats" は、apache 設定の
AuthName
と同じものにします。これが違っているとユーザが一致してもログインできません。
# /usr/local/apache2/bin/htdigest -c /etc/.htdigest "AWStats" user1
Adding password for user1 in realm AWStats.
New password: パスフレーズ
Re-type new password: パスフレーズ(再入力)
# /usr/local/apache2/bin/htdigest /etc/.htdigest "AWStats" user2
Adding password for user2 in realm AWStats.
New password: パスフレーズ
Re-type new password: パスフレーズ(再入力)
# chmod 604 /etc/.htdigest
Digest 認証の
Require group で使用する .htgroup ファイルを作成します。
.htgroup ファイルでは、Require group で指定したグループに属する
.htdigest で作成したユーザー を定義します。
# vi /etc/.htgroup
www.system-act.com: user1 グループに属するユーザーを指定します
www.nekojara.com: user2 userx 複数のユーザーは空白で区切って指定します
# chmod 604 /etc/.htgroup
AWStats の設定ファイルを作成します。
また、検索文字列を UTF-8 文字列に変換するため、日本語化でダウンロードした
awstats69t_jpn.zip 内の
utf8_decode.pl を使用します。
# mkdir /etc/awstats 設定ファイルを格納するディレクトリを作成します
# unzip -ja ダウンロード先/awstats69t_jpn.zip AWStats69t_Jpn/tools/utf8_decode.pl -d /etc/awstats
# chmod +x /etc/awstats/utf8_decode.pl
# mkdir /var/awstats 分析結果の格納ディレクトリを作成します
# cp /home/www/awstats/awstats.model.conf /etc/awstats/awstats.www.system-act.com.conf
# 作成するファイル名は、
# awstats 実行 CGI ファイル (awstats.pl) のファイルボディ名
# www.system-act.com apache のバーチャルホスト設定で指定した環境変数 AWSTATS_CONFIG の内容
# conf 固定
# から構成されます。
# vi /etc/awstats/awstats.www.system-act.com.conf
:
LogFile="./utf8_decode.pl < /var/log/httpd/vhosts/system-act.com/www/access_log |"
(Apache のログファイルを指定します。ログの記録形式は combined にしておきます)
:
SiteDomain="www.system-act.com" # 分析対象 Web サーバのドメイン名
:
HostAliases="localhost 127.0.0.1" # SiteDomain 以外に分析対象とするホスト名
:
DNSLookup=1
(ドメイン/国別などの統計情報を取得するため、DNS の逆引きを行います)
:
DirData="/var/awstats" # 分析結果などのファイルを格納するディレクトリ
:
DirCgi="/awstats" # 実行 CGI ファイル (awstats.pl) の存在するディレクトリ
:
DirIcons="/awstats/icon" # アイコンファイルの存在するディレクトリ
:
AllowFullYearView=3 # 年間統計の表示を許可します
:
# cp /home/www/awstats/awstats.model.conf /etc/awstats/awstats.www.nekojara.com.conf
# vi /etc/awstats/awstats.www.nekojara.com.conf
:
LogFile="./utf8_decode.pl < /var/log/httpd/vhosts/nekojara.com/www/access_log |"
:
SiteDomain="www.nekojara.com"
:
HostAliases="localhost 127.0.0.1"
:
DNSLookup=1
:
DirData="/var/awstats"
:
DirCgi="/awstats"
:
DirIcons="/awstats/icon"
:
AllowFullYearView=3
:
分析ファイルの作成
初回のみ、logrotate されたファイルから分析ファイルを作成します。
# cd /etc/awstats
# for HOST in \
> "system-act.com" \
> "nekojara.com"
> do
> echo "\$Myhost = \"www\.${HOST//\./\.}\";" > awstats_host.pl
> for NUM in `seq 4 -1 1`
> do
> ./utf8_decode.pl < /var/log/httpd/vhosts/$HOST/www/access_log.$NUM > access_log_utf8
> /home/www/awstats/awstats.pl -config=www.$HOST -update -LogFile=access_log_utf8
> done
> /home/www/awstats/awstats.pl -config=www.$HOST -update
> done
cron に登録し、1時間ごとに分析ファイルが更新されるようにします。
# vi /etc/cron.hourly/awstats
#!/bin/sh
cd /etc/awstats
for HOST in \
"www.system-act.com" \
"www.nekojara.com"
do
echo "\$Myhost = \"${HOST//\./\.}\";" > awstats_host.pl
/home/www/awstats/awstats.pl -config=$HOST -update > /dev/null
done
# chmod +x /etc/cron.hourly/awstats
logrotate 時に分析ファイルが更新されるようにします。
# vi /etc/logrotate.d/httpd
:
postrotate
/usr/local/apache2/bin/apachectl graceful || true
cd /etc/awstats
for HOST in \
"system-act.com" \
"nekojara.com"
do
echo "\$Myhost = \"www\.${HOST//\./\.}\";" > awstats_host.pl
./utf8_decode.pl < /var/log/httpd/vhosts/$HOST/www/access_log.1 > access_log_utf8
/home/www/awstats/awstats.pl -config=www.$HOST -update -LogFile=access_log_utf8 > /dev/null
done
:
ご意見・ご指摘等
当記事に対するご意見やご指摘は、
weblog までお寄せください。
Copyright © 2004-2010 System House ACT. All Rights Reserved.