AWStatsはアクセスログを解析し、ブラウザで閲覧できるようにHTML形式で視覚的な統計情報を表示することができるPerlスクリプトです。
Awstatsのスクリプト awstats_configure.pl か install_awstats.shでインストールします。
awstats_configure.pl は全部の apache を再起動しますから、注意してください。
インストールして、Apacheのログフォーマットがcombinedに変更します。
CustomLog /var/log/httpd/access_log combined
awstatsの設定ファイルを修正します。
主には
LogFile="apache's log" SiteDomain="domain name" HostAliases="all host name"
他のパラメーターはデフォルト設定ファイルを読んでください。
以前のデータのために、commonとしてApacheのログフォーマットを保ったら、
LogFormat=4
を追加します。
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=site name
を crontab に追加します。site name は設定ファイル名の中間の部分です。例えば、
ファイル名は awstats.xxx.confだら、site name は xxx です。
url は
http://localhost/awstats/awstats.pl?config=site name
参照
http://cyberam.dip.jp/linux_server/log/awstats60_main.html
------- install_awstats.sh
#!/bin/sh
AWSTATS_CONFIG_PATH="/etc/awstats"
wget http://internap.dl.sourceforge.net/sourceforge/awstats/awstats-6.4.tgz
tar zxvf awstats-6.4.tgz
mv awstats-6.4 /usr/local/awstats
chmod 755 /usr/local/awstats
mkdir $AWSTATS_CONFIG_PATH
chmod 755 $AWSTATS_CONFIG_PATH
mkdir /usr/local/awstats/data/
chmod 777 /usr/local/awstats/data/
echo "Do you want to config awstats in Apache(y/n)?"
read ANSWER
if [ $ANSWER = "y" ]; then
echo "Input the location of httpd.conf"
read ANSWER
cat <<eof> $AWSTATS_CONFIG_PATH/httpd_awstats.conf
#
# Directives to add to your Apache conf file to allow use of AWStats as a CGI.
# Note that path "/usr/local/awstats/" must reflect your AWStats Installation path.
#
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
#
# This is to permit URL access to scripts/files in AWStats directory.
#
<directory>
Options None
AllowOverride None
Order allow,deny
Allow from all
</directory>
EOF
echo "include $AWSTATS_CONFIG_PATH/httpd_awstats.conf" >> $ANSWER
else
cat <<eof>
Options None
AllowOverride None
Order allow,deny
Allow from all
</directory>
EOF
fi
cp /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf $AWSTATS_CONFIG_PATH/common.conf
echo "Input your site name"
read ANSWER
cat <<eof> $AWSTATS_CONFIG_PATH/awstats.$ANSWER.conf
Include "common.conf"
# Please read common.conf for more detail
# access log of apache
LogFile=""
# site name
SiteDomain="$ANSWER"
# host name list, seperated by space
HostAliases=""
# Maybe you don't need to change these
DefaultFile="index.html"
DirData="/usr/local/awstats/data/"
DirCgi="/awstats"
DirIcons="/awstatsicons"
EOF
echo "=============================================================="
echo "Set log type to combined like this if it is common"
echo "CustomLog /yourlogpath/yourlogfile combined"
echo "Then restart apache."
echo "Set config files in $AWSTATS_CONFIG_PATH"
echo "And maybe you want add the following command into crontab"
echo "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=$ANSWER"
echo "Access with url: http://localhost/awstats/awstats.pl?config=$ANSWER"
echo "=============================================================="