DokuWikiで研究生活

メモする。好きを極める。アピールする。

ユーザ用ツール

サイト用ツール


Top     SiteMap

サイドバー

Top     SiteMap

目次

DokuWikiを理解

DokuWikiの構築

よく確認するページ

最近の更新

access:awstats-vps.html



「アクセス解析」に戻る

サーバにAwstatsをインストールしてアクセス解析

概要

VPSなどでroot権限のあるサーバで、Awstatsをインストールして、確認できるようになるまでの手順になります。

共用型のレンタルサーバでは別の方法で準備する必要があります。

Awstatsインストール

RHEL/CentOS

EPELレポジトリの準備

# curl -O http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
# rpm -ivh epel-release-7-5.noarch.rpm
# yum install awstats


ドメインごとのAwstats設定

# cd /etc/awstats
# mkdir backup
# mv awstats.ホスト名.conf  awstats.localhost.localdomain.conf backup/
# cp -p awstats.model.conf awstats.test1.conf
# vi awstats.test1.conf
LogFile=“/var/log/httpd/access_log” #apacheのデフォルト
LogFile=“=dokuwiki.access.log”
SiteDomain=“test1.example.com”
DNSLookup=1 DNS逆引きでホスト名を表示させる
LoadPlugin=“geoipfree” アクセス元国情報を詳細に取得
IPfree.pmが必要


ログをAwstatsで自動更新するためのcron設定

/etc/cron.hourly/awstats

yumでインストールするとこのcronが置かれます。

# cat awstats
#!/bin/bash
exec /usr/share/awstats/tools/awstats_updateall.pl now -configdir="/etc/awstats" -awstatsprog="/usr/share/awstats/wwwroot/cgi-bin/awstats.pl" >/dev/null
exit 0
#

cronに登録されている内容を手動実行

cronに記載されている内容を/dev/nullなしで実行し、エラーがないか確認します。

exec /usr/share/awstats/tools/awstats_updateall.pl now -configdir="/etc/awstats" -awstatsprog="/usr/share/awstats/wwwroot/cgi-bin/awstats.pl"


Awstatsのページをブラウザーで表示するためのApache httpd設定

/etc/httpd/conf.d/awstats.conf

yumでインストールするとこのapache設定が置かれます。

localhostからしかアクセスできないので、設定を追加します。

# grep -Ev "^#|^$" awstats.conf 
Alias /awstatsclasses "/usr/share/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/share/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/share/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/share/awstats/wwwroot/cgi-bin/"
<Directory "/usr/share/awstats/wwwroot">
    Options None
    AllowOverride All                  # NoneからAllに変更(.htaccessのため)
    <IfModule mod_authz_core.c>
        # Apache 2.4 
        Require local
        Require all granted            #行を追加
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order allow,deny
        Allow from 127.0.0.1
        Allow from ::1
    </IfModule>
</Directory>
<IfModule mod_env.c>
    SetEnv PERL5LIB /usr/share/awstats/lib:/usr/share/awstats/plugins
</IfModule>

以下で確認します。

http://サーバ/awstats/awstats.pl?config=ドメイン名 

http://サーバ/awstats/awstats.pl?config=dokuwiki.oreda.net


Basic認証

/usr/share/awstats/wwwroot/.htaccess

AuthType Basic
AuthUserFile /etc/httpd/htpasswd
AuthName secret
Require valid-user


ログローテーション時にも解析するように設定

/etc/logrotate.d/nginxに以下を追加する。

    prerotate
        `rpm -ql awstats|grep "awstats_updateall\.pl"` now -confdir="/etc/awstats" \
        -awstatsprog="`rpm -ql awstats|grep "awstats\.pl"`" >/dev/null
    endscript
# cat /etc/logrotate.d/nginx
/var/log/nginx/*log {
    create 0644 nginx nginx
    daily
    rotate 10
    missingok
    notifempty
    sharedscripts
    prerotate
        `rpm -ql awstats|grep "awstats_updateall\.pl"` now -confdir="/etc/awstats" \
        -awstatsprog="`rpm -ql awstats|grep "awstats\.pl"`" >/dev/null
    endscript
    delaycompress
    postrotate
        /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
    endscript
}

手動実行して動作確認

/usr/share/awstats/tools/awstats_updateall.pl now -confdir="/etc/awstats"  -awstatsprog="/usr/share/awstats/wwwroot/cgi-bin/awstats.pl"


参考




access/awstats-vps.html.txt · 最終更新: 2017/02/12 by oreda admin