====== AWStatsでアクセス解析 ======
===== インストール =====
$ sudo apt-get install awstats
公開用フォルダの作成と、awstats.pl のコピー
$ sudo mkdir /var/www-ssl/awstats
$ sudo chmod 777 /var/www-ssl/awstats
$ sudo cp /usr/lib/cgi-bin/awstats.pl /var/www-ssl/awstats/
ログ用のフォルダ作成
$ sudo mkdir /var/log/awstats
$ sudo chmod 777 /var/log/awstats
日本語処理用に utf8_decode.pl を使用します。
$ cd /usr/lib/cgi-bin/
$ sudo wget https://raw.github.com/nouphet/AWStats70_Jpn/master/wwwroot/cgi-bin/utf8_decode.pl
$ sudo chmod 755 utf8_decode.pl
utf8_decode.pl は Jcode.pm を使用するので、まず CPAN をインストール。\\
設問は全てデフォルで良いかと思います。
$ sudo apt-get install make
$ sudo perl -MCPAN -e shell
CPAN をインストールしたら、次に Jcode をインストールします。
$ sudo perl -MCPAN -e shell
cpan[1]> install Jcode
cpan[2]> quit
===== 設定 =====
設定ファイルを作成
$ sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.http.conf
設定ファイルの編集
$ sudo vi /etc/awstats/awstats.http.conf
apache のログファイルの指定。
# Example: "/pathtotools/logresolvemerge.pl *.log |"
#
LogFile="/var/log/awstats/access.log"
apache のログフォーマット指定。
# Example for IIS:
# LogFormat = 2
#
LogFormat=1
ドメインの設定
# Example: "ftp.domain.com"
# Example: "domain.com"
#
SiteDomain="ydlprog.no-ip.biz"
cgi の設定
# Example: "/awstats"
# Default: "/cgi-bin" (means awstats.pl is in "/yourwwwroot/cgi-bin")
#
DirCgi="/awstats"
無視するアクセス元の設定
# Example: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
# Example: "localhost REGEX[^.*\.localdomain$]"
# Default: ""
#
SkipHosts="127.0.0.1 REGEX[^192\.168\.]"
言語設定
# Default: "auto"
#
Lang="jp"
===== 公開用設定 =====
apache 設定。必要なら事前にユーザーを作成しておく。
$ sudo vi /etc/apache2/sites-available/awstats-ssl.conf
Alias /awstats /var/www-ssl/awstats
Alias /awstats-icon/ /usr/share/awstats/icon/
SSLRequireSSL
AuthType Basic
AuthName "Login AWStats"
AuthUserFile "/etc/apache2/.htpasswd"
Require user hoge
Options ExecCGI
AddHandler cgi-script .cgi .pl
awstats-ssl を有効にし、設定の再読み込み。
$ sudo a2ensite awstats-ssl.conf
$ sudo service apache2 reload
===== 定期実行の設定 =====
10分毎にログを収集させます。
$ sudo vi /etc/cron.d/awstats
*/10 * * * * root bash -c "/usr/lib/cgi-bin/utf8_decode.pl < /var/log/apache2/access.log > /var/log/awstats/access.log"
*/10 * * * * root /usr/lib/cgi-bin/awstats.pl -config=http -update > /dev/null
*/10 * * * * root bash -c "/usr/lib/cgi-bin/awstats.pl -config=http -output -staticlink > /var/www-ssl/awstats/index.html"
cron の再起動。
$ sudo service cron restart