「AWStats」の設定

「AWStats」を用いて「Squid」のログ解析を行います。
なお、「Apache」の設定「Squid」の設定Webアクセスログ解析(AWStats)は完了済みとします。

「AWStats」の設定

新規に設定ファイルを作成します。

Solaris# vi /var/apache2/awstats/cgi-bin/awstats.squid.conf <= 設定ファイルの作成
LogFile="/var/log/squid/logs/access.log" <= ログファイルのパスを指定
LogType=W
LogFormat=4
SiteDomain="crimson-snow.net" <= ドメインを指定
HostAliases="localhost 127.0.0.1 REGEX[myserver\.com$]"
DNSLookup=1
DirData="/var/lib/awstats/squid" <= AWStatsが保持する分析結果等のファイルを格納するディレクトリを指定
(絶対パスもしくはawstats.plからの相対パス)

DirCgi="/awstats/cgi-bin" <= awstats.plが格納されているディレクトリを指定
(絶対URLもしくはWWWサーバのルートディレクトリからの相対URL)

DirIcons="/awstats/icon" <= アイコンファイルが格納されているディレクトリを指定
(絶対URLもしくはWWWサーバのルートディレクトリからの相対URL)

EnableLockForUpdate=0
AllowAccessFromWebToFollowingIPAddresses=""
AllowToUpdateStatsFromBrowser=1
Lang="jp"

LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForSearchEnginesDetection=0
LevelForKeywordsDetection=0
LevelForWormsDetection=0

ShowDomainsStats=0
ShowRobotsStats=0
ShowFileSizesStats=0
ShowOSStats=0
ShowBrowsersStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0

ディレクトリの作成

AWStatsが保持する分析結果等のファイルを格納するディレクトリを作成します。

Solaris# mkdir /var/lib/awstats/squid

オーナの変更

「AWStats」の設定で AllowToUpdateStatsFromBrowser を 1 にしましたが、
これは、出力結果に更新ボタンを設置し、ブラウザから最新のログの情報に更新します。
ただ、Apacheのユーザ権限で更新しますので、パーミッションエラーが起きます。
そこで、必要なディレクトリのオーナを変更します。
この作業は AllowToUpdateStatsFromBrowser を 0 に設定していれば必要ありません。

Solaris# chown webservd /var/lib/awstats/squid <= 分析結果等の格納先のオーナをwebservdに変更
「Squid」の設定

「Squid」のログ形式を「AWStats」用に変更します。

Solaris# vi /usr/local/squid/etc/squid.conf <= 設定ファイルの編集
# emulate_httpd_log off
↓
emulate_httpd_log on <= 変更

古いログファイルを削除します。

Solaris# rm /var/log/squid/logs/access.log

「Squid」を再起動し、設定を反映させます。

Solaris# /etc/init.d/squid restart
「AWStats」の実行
Solaris# /var/apache2/awstats/cgi-bin/awstats.pl -config=squid -update

http://サーバのIPアドレス/awstats/cgi-bin/awstats.pl?config=squid
でアクセスできれば問題ありません。

出力結果のHTML化

上記のままの設定で問題ありませんが、アクセスするたびにCGIスクリプトが実行されますので、 表示が遅く、サーバにも負荷がかかります。
そこで、出力結果をHTML化します。

Solaris# /var/apache2/awstats/cgi-bin/awstats.pl -config=squid -output -staticlinks \
> /var/apache2/awstats/squid.html

http://サーバのIPアドレス/awstats/squid.html
でアクセスできれば問題ありません。

HTML化の自動実行

出力結果のHTML化を行うスクリプトを作成し、cronに登録して自動的に実行するようにします。

Solaris# vi awstats_squid.sh <= スクリプトファイルの新規作成
#!/sbin/sh

/var/apache2/awstats/cgi-bin/awstats.pl -config=squid -update > /dev/null
/var/apache2/awstats/cgi-bin/awstats.pl -config=squid -output -staticlinks > /var/apache2/awstats/squid.html


Solaris# chmod 755 awstats_squid.sh <= スクリプトファイルに実行権限を付加
Solaris# crontab -e <= cronの編集
00 00 * * * /root/awstats_squid.sh <= 追加
▲ページのトップへ