CentOS7+nginx環境にAWStats導入

OSSのアクセス解析ツールとして有名なAWStatsをCentOS7のnginx環境に導入しました。AWStatsとはAdvanced Web Statisticsの短縮形です。他の解析ツール「Analog」「Webalizer「Sawmill Analytics」と比較してもAwstatsは優秀な機能を持っているようです。AWStatsはweb, ftp, mail およびストリーミングサーバの統計情報をサーバログから生成し読みやすいwebページでグラフィカルに表示します(参考文献)。AWStatsは元々Apache向けに作られており、Apacheで導入するのは簡単です。しかしnginxで動作させるのは簡単ではなく、先人方の資料を参考にしましたが自分なりのアレンジが必要でした。次回導入時に迷わないようにその手順を纏めてみます。

参考(Special Thanks):CentOSで自宅サーバ

1.インストール

CentOS7の場合、Epelリポジトリにあります。Epelリポジトリを有効化してインストールします。インストール時に関連ライブラリーもインストールされます。

以下のディレクトリにインストールされます。

/usr/share/awstats/

設定ファイルは以下です。

/etc/awstats/

以下のサンプルファイルを参考にCGIラッパーのphpを実行環境にコピーします。

/usr/share/awstats/tools/nginx/awstats-fcgi.php

2.設定ファイルの修正
(1)awstats用の設定ファイルメンテ

設定ファイルの確認をします。

インストール時に、ドメインを見て勝手に「awstats.gtrt7.com.conf」を作ってくれたようです。awstats.localhost.localdomain.confは不要ですので削除します。

# rm -f /etc/awstats/awstats.localhost.localdomain.conf

自動作成された「awstats.gtrt7.com.conf」を元にしてメンテします。

この設定ファイルは、「awstats.ドメイン名.conf」として作成しなくてはならないようです。ドメイン名はconfファイル内のSiteDomainの値と等しい必要があります。

(2)Nginx.confのメンテ

以下のサンプル設定ファイルを参考にNginx用のConfファイルを作成します。

今回はサブドメイン運用をする前提でconfファイルを作成しました。

 /usr/share/awstats/tools/nginx/awstats-nginx.conf

AWStats実行環境の安全性を高める為、SSL通信としBASIC認証とIPアクセス制限を行います。

cgi-binがnginxでアクセスできるように設定します。

#  chown -R nginx:nginx /usr/share/awstats/

nginxを再起動して設定ファイルを読み込みます。

# systemctl restart nginx

(3)ログローテーション設定

 nginxのログファイル切替え時、AWStatsのデータベースに取り込んでから切替えを行うようにします。prerotate行にスクリプトを追加します。

(4)geoipfreePluginの導入

awstats用の設定ファイル「awstats.gtrt7.com.conf」で有効にしたgeoipfreePluginを導入します。

(5)日本の検索エンジン対応

日本の検索エンジンが検索エンジンとして集計されるようにします。search_engines.pmを編集します。

3.確認
(1)URLアクセス可否確認

以下のURLにアクセスします。
https://aws.gtrt7.com/cgi-bin/awstats.pl?config=gtrt7.com
下記のように結果が表示されれば成功です。

(2)cron.houelyの存在確認

インストール時に作成されている、毎時更新スクリプトが存在するか確認します。あればスクリプトを表示します。これは毎時AWStats用のDBを更新するスクリプトになっています。

(3)AWStatu用のDB

インストール時に作成されAWStats設定ファイルが正しければAWStats用のDBが以下のディレクトリに作成されます。
/var/lib/awstats

なければ、上記「/etc/cron.hourly/awstats」を実行してみましょう。

作成されれば設定ファイルは正常です。作成されない場合、設定ファイルに間違いがありますので修正しましょう。

4.アクセス統計ページHTML版作成

万が一AWStatsのデータベースが失われた場合、アクセス統計が見れなくなってしまうため、アクセス統計ページをHTMLで作成するようにする。

(1)ディレクトリ作成

(2)設定ファイル変更

アクセス統計ページHTML版にアクセスできるようにnginx用のconfファイルにlocation設定を追加します。

(3)スクリプト作成

アクセス統計ページHTMLを作成するスクリプトを作成します。といってもこちらのCentosで自宅サーバさんからスクリプトは全て流用させていただきました。

スクリプトに実行権限を付与し実行してみます。

(4)静的HTML確認

アクセス統計版HTMLにアクセスしてみます。

https://aws.gtrt7.com/awstatsreport/

レポートが表示されたら成功です。

(5)cronへの登録

毎日0:00に実行するよう、cronへ登録します。

これで毎時AWStats用DBが更新され、1日1回表示用のHTMLが作成されるようになります。

スポンサーリンク
レクタングル大広告




レクタングル大広告




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大広告