「AWStats」の設定

「AWStats」を用いて「Postfix」のログ解析を行います。
なお、「Apache」の設定SMTPサーバ(Postfix)の設定Webアクセスログ解析(AWStats)は完了済みとします。

「AWStats」のインストール

Webアクセスログ解析(AWStats)では必要なツールがインストールされていませんので、インストールします。

Solaris# cd /usr/local/src/awstats/awstats-6.4 <= ダウンロードした「AWStats」のディレクトリへ移動
Solaris# cp -r tools /var/apache2/awstats/ <= 必要なツールのコピー
「AWStats」の設定

新規に設定ファイルを作成します。

Solaris# vi /var/apache2/awstats/cgi-bin/awstats.postfix.conf <= 設定ファイルの作成
LogFile="perl /var/apache2/awstats/tools/maillogconvert.pl standard < /var/log/mail.log |"
 <= 「maillogconvert.pl」のパスとログファイルのパスを指定
LogType=M
LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
SiteDomain="crimson-snow.net" <= ドメインを指定
HostAliases="localhost 127.0.0.1 REGEX[myserver\.com$]"
DNSLookup=1
DirData="/var/lib/awstats/postfix" <= AWStatsが保持する分析結果等のファイルを格納するディレクトリを指定
(絶対パスもしくはawstats.plからの相対パス)

DirCgi="/awstats/cgi-bin" <= awstats.plが格納されているディレクトリを指定
(絶対URLもしくはWWWサーバのルートディレクトリからの相対URL)

DirIcons="/awstats/icon" <= アイコンファイルが格納されているディレクトリを指定
(絶対URLもしくはWWWサーバのルートディレクトリからの相対URL)

EnableLockForUpdate=0
AllowAccessFromWebToFollowingIPAddresses=""
AllowToUpdateStatsFromBrowser=1
Lang="jp"

LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForWormsDetection=0
LevelForSearchEnginesDetection=0
LevelForFileTypesDetection=0
ShowMenu=1
ShowSummary=HB
ShowMonthStats=HB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=0
ShowHostsStats=HBL
ShowAuthenticatedUsers=0
ShowRobotsStats=0
ShowEMailSenders=HBML
ShowEMailReceivers=HBML
ShowSessionsStats=0
ShowPagesStats=0
ShowFileTypesStats=0
ShowFileSizesStats=0
ShowBrowsersStats=0
ShowOSStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=1

ディレクトリの作成

AWStatsが保持する分析結果等のファイルを格納するディレクトリを作成します。

Solaris# mkdir /var/lib/awstats/postfix

オーナの変更

「AWStats」の設定で AllowToUpdateStatsFromBrowser を 1 にしましたが、
これは、出力結果に更新ボタンを設置し、ブラウザから最新のログの情報に更新します。
ただ、Apacheのユーザ権限で更新しますので、パーミッションエラーが起きます。
そこで、必要なディレクトリのオーナを変更します。
この作業は AllowToUpdateStatsFromBrowser を 0 に設定していれば必要ありません。

Solaris# chown webservd /var/lib/awstats/postfix <= 分析結果等の格納先のオーナをwebservdに変更
Solaris# chmod 644 /var/log/mail.log <= ログファイルのパーミッションを変更
「AWStats」の実行
Solaris# /var/apache2/awstats/cgi-bin/awstats.pl -config=postfix -update

http://サーバのIPアドレス/awstats/cgi-bin/awstats.pl?config=postfix
でアクセスできれば問題ありません。

出力結果のHTML化

上記のままの設定で問題ありませんが、アクセスするたびにCGIスクリプトが実行されますので、 表示が遅く、サーバにも負荷がかかります。
そこで、出力結果をHTML化します。

Solaris# /var/apache2/awstats/cgi-bin/awstats.pl -config=postfix -output -staticlinks \
> /var/apache2/awstats/postfix.html

http://サーバのIPアドレス/awstats/postfix.html
でアクセスできれば問題ありません。

HTML化の自動実行

出力結果のHTML化を行うスクリプトを作成し、cronに登録して自動的に実行するようにします。

Solaris# vi awstats_postfix.sh <= スクリプトファイルの新規作成
#!/sbin/sh

/var/apache2/awstats/cgi-bin/awstats.pl -config=postfix -update > /dev/null
/var/apache2/awstats/cgi-bin/awstats.pl -config=postfix -output -staticlinks > /var/apache2/awstats/postfix.html


Solaris# chmod 755 awstats_postfix.sh <= スクリプトファイルに実行権限を付加
Solaris# crontab -e <= cronの編集
00 00 * * * /root/awstats_postfix.sh <= 追加
▲ページのトップへ