トップ > SkyGarden出張所 > AWStats > AWStatsの導入

AWStatsの導入

2010年5月21日 | カテゴリー: AWStats, ubuntu server ppc, 自宅サーバー

タグ:

Webサイトのログ解析ツールを導入します。
ここではApacheのログを解析するツールを検討します。
ログ解析ツールとしては「Webalizer」「AWStats」等がありますが、ここではAWStatsを導入します。
※AWstatsを実行するには、Webブラウザで見れる環境とPerlが必要です。

【2010.5.26追記】Apacheの設定を一部追加いたしました

AWStatsのインストール

ubuntu serverではパッケージとして準備されており、簡単にインストール出来ます。

sudo aptitude update
sudo aptitude install awstats

AWStatsの設定

設定ファイルは/etc/awstats/配下にあります。
スクリプトの本体は/usr/lib/cgi-bin/awstats.plです。
また、グラフに必要な画像は/usr/share/awstats/icon/以下にあります。

AWStatsはWebブラウザから確認しますので、Apacheに追加で設定ファイルを作成する必要があります。

それでは、順を追って設定していきます。

1.confファイルの作成

sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.conf.original
#バックアップを作成
sudo nano /etc/awstats/awstats.conf
※変更する箇所のみ記載します
LogFile="/var/log/apache2/access.log"
#ログファイル名が異なる場合は書き換えます
LogType=W
#通常はWを設定
LogFormat=1
#Apache形式のログを指定する場合は「1」を設定
SiteDomain="自宅サーバーのドメイン名"
#ドメイン名を設定します
DirData="/var/lib/awstats/サイト名"
#解析結果のログファイルを保存する場所を指定します
DirCgi="/hogehoge/awstats"
#CGIが動作するディレクトリを、URLのルート(ApacheのDocumentRoot)からの相対パスで指定します
※上記の指定だと、CGIが動作するディレクトリは
http://xxx.xxx.xxx/hogehoge/awstats/
となります。
DirIcons="/hogehoge/awstats-icon"
#解析結果の画面に使う画像のディレクトリを、URLのルート(ApacheのDocumentRoot)からの相対パスで指定します
※上記の指定だと、画像のディレクトリは
http://xxx.xxx.xxx/hogehoge/awstats-icon/
となります。
AllowAccessFromWebToAuthenticatedUsersOnly=1
#アクセス制限をかける場合は1に変更します
AllowAccessFromWebToFollowingAuthenticatedUsers="xxxxxxxxxx"
#アクセス制限をかける場合は認証するユーザー名をセットします
#上記アクセス制限を掛ける場合は、/hogehoge/awstats/ディレクトリに.htaccessを配置してDigest認証をかけて下さい。
※/hogehoge/が管理用ディレクトリなので、/hogehoge/に.htaccessを置いてもいいかと思います。
AllowAccessFromWebToFollowingIPAddresses="127.0.0.1 192.168.xxx.xxx-192.168.xxx.xxx"
#ログ解析ページにアクセスできるユーザーをサーバー自身および自宅LAN内に限定します
Lang="jp"
#日本語で表示するように変更
LoadPlugin="geoipfree"
#アクセス元の地域を解析するプラグインを有効にします(コメントアウト解除)
#ubuntu serverの場合、デフォルトでプラグインファイルが入っています。
#編集後保存します

設定ファイル保存後、解析ファイルを保存するディレクトリを作成します。

sudo mkdir /var/lib/awstats/サイト名

2.Apacheの設定

AWStats用の設定を行います。
Apacheの設定にて作成した設定ファイルを編集します。

sudo nano /etc/apache2/sites-available/demo
#実際に作成されたファイル名に置き換えて下さい
<VirtualHost>ディレクティブの閉じタグの前に追加します
#/home/demo/www/ディレクトリ以下に管理専用のディレクトリ「hogehoge」を作成し、アクセス制限をかけます
<Directory "/home/demo/www/hogehoge">
#SSLでのみアクセス可(SSL設定後有効にします)
#SSLRequireSSL
#アクセスをサーバー自身及び自宅LANからのみ許可します
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.xxx
Allow from 192.168.xxx
</Directory>
#管理専用のディレクトリの下にawstatsディレクトリを作成し、Aliasを設定します
Alias /hogehoge/awstats/ "/usr/lib/cgi-bin/"
#/usr/lib/cgi-bin以下の制限を設定します
<Directory "/usr/lib/cgi-bin">
AllowOverride None
#CGIの実行を許可し、オーナー一致の場合のみのシンボリックリンクを辿ることを許可
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
#アクセスをサーバー自身及び自宅LANからのみ許可します
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.xxx
Allow from 192.168.xxx
</Directory>
#アクセス解析用の画像のAliasを作成します
※相対パスの関係により、/hogehoge/awstats/以下ではなく、/hogehoge/ディレクトリ直下にAliasを作成します
AliasMatch ^/hogehoge/awstats-icon(.*) /usr/share/awstats/icon$1
<Directory "/usr/share/awstats/icon">
#アクセスをサーバー自身及び自宅LANからのみ許可します
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.xxx
Allow from 192.168.xxx
</Directory>
#設定ファイルを保存後、Apacheに再読み込みさせます
sudo /etc/init.d/apache2 force-reload

次にディレクトリを作成します。

cd /home/demo/www/
mkdir -p hogehoge/awstats

最後に実行ファイルのシンボリックリンクを作成します。

sudo ln -s /usr/lib/cgi-bin/awstats.pl /home/demo/www/hogehoge/awstats/

(2010.5.26追記)もう一つ、アイコン画像用のシンボリックリンクを作成します。
この設定を行わないと画像が表示されないようですorz

sudo ln -s /usr/share/awstats/icon /home/demo/www/hogehoge/awstats-icon

3.ログファイルの設定変更

Apacheのログファイルの設定を一部変更します。
Apacheのログファイル切替え時、AWStatsのデータベースに取り込んでから切替えを行うようにします。

sudo nano /etc/logrotate.d/apache2
/var/log/apache2/*.log {
・・・
sharedscripts
#↓追加ここから
prerotate
/usr/bin/perl /usr/lib/cgi-bin/awstats.pl -config=awstats -update
endscript
#↑追加ここまで
postrotate
・・・
}

上記設定で、root権限にて毎日1回ログ解析ファイルが作成されます。

4.実際に確認してみます

ログ解析ファイルを作成します

sudo perl /usr/lib/cgi-bin/awstats.pl -config=awstats -update

実行したら、Webブラウザにてアクセスしてみます。

http://自宅サーバーのプライベートIPアドレス/hogehoge/awstats/awstats.pl

※アクセス制限をかけているので、ドメイン名ではなくプライベートIPアドレスでアクセスします。
画像付きでグラフ等が表示されればOKです。

5.cronの設定変更

パッケージからインストールすると/etc/cron.d/にawstatsのcron用スクリプトが作成されます。今回は3.の過程にて毎日1回解析ファイルを作成していますので、cronを実行しないよう設定を変更します。

sudo chmod -x /etc/cron.d/awstats

参考サイト様

トラックバックURL

コメント / トラックバック2件

  1. […] 主な設定は以下のサイトを参考にしました。 http://patora.dip.jp/awstats.html http://skygarden.pgw.jp/wordpress/home-published-server/install-of-awstats cron絡みやログの取り込みについては以下を参考にしました。 […]

コメントをどうぞ

宜しければコメントをどうぞ