====== 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