アクセス解析ツール「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
この記事をシェアする
関連記事
- ・hosts.denyを使わずに、サーバーへの全てのアクセスをIPアドレス拒否する方法
- ・「.well-known」以下をwwwにリダイレクトさせない方法
- ・【格安VPN】NordVPNは本当に安全なのか?【閲覧履歴ダダ漏れw】
- ・「root@notty」って何者?
- ・Kali LinuxをVagrantにインストールする
- ・【Tomcat】Apache+Tomcat連携で、特定のディレクトリのみTomcatにする方法
- ・【PHP】HTTPDの溜まりきったログを一気に削除する方法
- ・Macでトンネル接続してFTP/SFTP接続する簡単な方法
- ・【.htaccess】httpアクセスをhttpsに強制リダイレクトで、特定のファイルやディレクトリを除外する方法
- ・【Linux】DNSの向けられていないテストサーバーで、テスト証明書を3分以内に発行する方法