Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> サーバー関連 -> アクセス解析ツール「awstats」をCentOSにyumでインストールする
アクセス解析ツール「awstats」をCentOSにyumでインストールする
CentOS6にアクセスログ解析ツールのawstatsを導入したので、メモ書きです。
いつもながら、面倒くさがりなので、yumでさくっとインストールします。
CentOS7でも同じだと思います。
次に、設定ファイルを作成します。
アクセス解析したいドメイン名が、「www.testhoge.com」として説明します。
集計ができるかどうかをテストします。
問題なければ、cronに登録します。
ここからが本題。
デフォルトでは、localhostからしかawstatsの解析URLにアクセス出来ません。
Apacheの設定でIPアドレスを許可する設定をすれば良いのですが、
許可したIPアドレスから無制限にアクセス出来るのもちょっと怖いです。
なおかつ、IP許可するたびにApacheを再起動(or リロード)するのは嫌です。
そのため、以下を設定します。
・htaccessでIPアドレス許可出来るようにする
・万が一IP偽装されても良いようにBasic認証を設定する
これで、「http://www.testhoge.com/awstats/awstats.pl」からアクセス出来るようになったはずです。
厳密に言えば、「https」でアクセス出来るように設定した方が良いと思います。
いつもながら、面倒くさがりなので、yumでさくっとインストールします。
$ yum install awstats
CentOS7でも同じだと思います。
次に、設定ファイルを作成します。
アクセス解析したいドメイン名が、「www.testhoge.com」として説明します。
設定ファイルをコピー
$ cp /etc/awstats/awstats.model.conf /etc/awstats/www.testhoge.com.conf
設定ファイルを編集
$ vi /etc/awstats/www.testhoge.com.conf
該当箇所を下記のように編集。
SiteDomain="www.testhoge.com"
HostAliases="www.testhoge.com testhoge.com 127.0.0.1 localhost"
$ cp /etc/awstats/awstats.model.conf /etc/awstats/www.testhoge.com.conf
設定ファイルを編集
$ vi /etc/awstats/www.testhoge.com.conf
該当箇所を下記のように編集。
SiteDomain="www.testhoge.com"
HostAliases="www.testhoge.com testhoge.com 127.0.0.1 localhost"
集計ができるかどうかをテストします。
/usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=www.testhoge.com -update
問題なければ、cronに登録します。
$vi /etc/cron.daily/awstats
#!/bin/sh
/usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=www.testhoge.com -update
$ chmod +x /etc/cron.daily/awstats
#!/bin/sh
/usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=www.testhoge.com -update
$ chmod +x /etc/cron.daily/awstats
ここからが本題。
デフォルトでは、localhostからしかawstatsの解析URLにアクセス出来ません。
Apacheの設定でIPアドレスを許可する設定をすれば良いのですが、
許可したIPアドレスから無制限にアクセス出来るのもちょっと怖いです。
なおかつ、IP許可するたびにApacheを再起動(or リロード)するのは嫌です。
そのため、以下を設定します。
・htaccessでIPアドレス許可出来るようにする
・万が一IP偽装されても良いようにBasic認証を設定する
# 赤字の箇所を追記および編集
$ vi /etc/httpd/conf.d/awstats.conf
<Directory "/usr/share/awstats/wwwroot">
Options None
AllowOverride All
Order allow,deny
Allow from 127.0.0.1
AuthUserFile /usr/share/awstats/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
</Directory>
$ vi /usr/share/awstats/.htpasswd
適当にBasic認証用のパスワードを記述しておく
ここに、IPアドレス許可の設定を記述する。
(以下は、123.456.789.100を許可したい場合)
$ vi /usr/share/awstats/wwwroot/.htaccess
Allow from 123.456.789.100
設定が正しいかどうか確認。Syntax OKにならない場合は設定を再確認
$ httpd -t
Syntax OK
Apacheのリロード
$ service httpd reload
$ vi /etc/httpd/conf.d/awstats.conf
<Directory "/usr/share/awstats/wwwroot">
Options None
AllowOverride All
Order allow,deny
Allow from 127.0.0.1
AuthUserFile /usr/share/awstats/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
</Directory>
$ vi /usr/share/awstats/.htpasswd
適当にBasic認証用のパスワードを記述しておく
ここに、IPアドレス許可の設定を記述する。
(以下は、123.456.789.100を許可したい場合)
$ vi /usr/share/awstats/wwwroot/.htaccess
Allow from 123.456.789.100
設定が正しいかどうか確認。Syntax OKにならない場合は設定を再確認
$ httpd -t
Syntax OK
Apacheのリロード
$ service httpd reload
これで、「http://www.testhoge.com/awstats/awstats.pl」からアクセス出来るようになったはずです。
厳密に言えば、「https」でアクセス出来るように設定した方が良いと思います。
この記事の最終更新日:2019/07/23
最初に記事を書いた日:2019/07/23
インターネット黎明期から運営している生きる化石、Meteoric Streamへようこそ!