ログ解析スクリプトAWStatsの設定
〜Apache2 on Debian GNU/Linux 3.1〜

1.まえがき
  •  従来Turbolinux Srver7での、Apacheのログ解析スクリプトのインストール・設定・運用する方法について体験記を記していたものを、Debian GNU/Linux 3.1乗換えに伴い修正変更した。
  •  環境としては、Debian GNU/Linux 3.1上で動作中のApache2のログファイルを解析するスクリプト「AWStats 6.5」を対象とする。
  • Web解析に加えメール(Postfix)のログファイルの解析する。


2.インストール

 (1)jcode.pmのインストール

  • 日本語文字コードをPerlで扱うためのModule jcode.pmをhttp://openlab.ring.gr.jp/Jcode/からダウンロード。
  • 「Tarballを直接入手」の2.download Jcode-2.06.tar.gz をクリック。
  • #tar zxf Jcode-2.06.tar.gz で解凍。
  • 作成されたJcode-2.06ディレクトリに移動しインストール。
  • #perl Makefile.PL; make; make install


 (2)AWStatsのインストール

  • 解凍して作成されたAWStats65_Jpnフォルダの名称をawstats6に変更する(ユーザの環境により異なる)。


3.設定

 3.1 Apacheのログ解析の設定

 (1)configファイルの設定

  • 設定ファイルを自動生成するため、awstats.model_jp.confをawstats.confという名前でコピーする。
  • /usr/local/bin/awstats/toolsディレクトリに移動し、# perl awstats_configure.plを実行する。
  • > /etc/apache2/sites-available/inohara-server・・・・configファイルのパス入力を促されるので、当サーバー(Apache2)のconfigファイルパスを入力する。
  • > www.inohara.net・・・・サーバーのドメイン名を指定する。
  • > /usr/local/bin/awstats/wwwroot/cgi-bin・・・・configファイルを配置するディレクトリ・パスを入力する。デフォルト(Enterのみ入力)で/etc/awstatsに配置されるが、都合によりawstats.plと同じディレクトリに変更。/usr/local/bin/awstats/wwwroot/cgi-bin/awstats.www.inohara.net.confが作成される。.
  • このファイルの必要な箇所を以下のとおり設定変更する。
  • LogFile="/var/www/awstats6/access_log.utf8"・・・・ログファイルのフルパスにする。(awstats.plのディレクトリからの相対パスを指定することも可能)
  • DirData="/var/www/awstats6"・・・統計ファイルの格納ディレクトリ。
  • SkipHosts="192.168."


 (2)/etc/apache2/sites-available/inohara-serverの修正

  • 設定ファイルを自動生成すると、apache2のサイト定義ファイルの最下部に下記の記述が追加される。

    #
    # Directives to allow use of AWStats as a CGI
    #
    Alias /awstatsclasses "/usr/local/bin/awstats/wwwroot/classes/"
    Alias /awstatscss "/usr/local/bin/awstats/wwwroot/css/"
    Alias /awstatsicons "/usr/local/bin/awstats/wwwroot/icon/"
    ScriptAlias /awstats/ "/usr/local/bin/awstats/wwwroot/cgi-bin/"

    #
    # This is to permit URL access to scripts/files in AWStats directory.
    #
    <Directory "/usr/local/bin/awstats/wwwroot">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
  • <VirtualHost *> 〜 </VirtualHost>の外に作成されるので内側に移動する。


 3.2 Postfixのログ解析の設定

 (1)configファイルの設定

  • 設定モデルファイルawstats.model_jp.confをawstats.postfix.confという名前でコピーする。
  • このファイルの必要な箇所を以下のとおり設定変更する。
    LogFile="perl /usr/local/bin/awstats/tools/maillogconvert.pl standard < /var/log/maillog |"
    LogType=M
    LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"

    SiteDomain="inohara.net"
    DNSLookup=2
    DirData="/var/www/awstats6"
    DirCgi="/awstats"
    DirIcons="/awstatsicons"
    EnableLockForUpdate=1
    Lang="jp"

    LevelForBrowsersDetection=0
    LevelForOSDetection=0
    LevelForRefererAnalyze=0
    LevelForRobotsDetection=0
    LevelForSearchEnginesDetection=0
    LevelForKeywordsDetection=0
    LevelForFileTypesDetection=0
    LevelForWormsDetection=0

    ShowMonthStats=UHB
    ShowDaysOfMonthStats=HB
    ShowDaysOfWeekStats=HB
    ShowHoursStats=HB
    ShowDomainsStats=0
    ShowHostsStats=HBL
    ShowRobotsStats=0
    ShowEMailSenders=HBML
    ShowEMailReceivers=HBML
    ShowSessionsStats=0
    ShowPagesStats=0
    ShowFileTypesStats=0
    ShowFileSizesStats=0
    ShowOSStats=0
    ShowBrowsersStats=0
    ShowOriginStats=0
    ShowKeyphrasesStats=0
    ShowKeywordsStats=0
    ShowMiscStats=0
    ShowHTTPErrorsStats=0
    ShowSMTPErrorsStats=1


4.統計の作成/更新

 (1)awstats_cronの作成

  • 統計の作成/更新を自動実行するためのawstats_cronファイルの以下の部分を変更する。
    #! /usr/bin/perl

    # apache2のログファイルをデコードした上で一時ディレクトリに格納します.
    # access_log.utf8は一時的にデコードしたログを保存するファイルの名前です.
    system("/usr/local/bin/awstats/wwwroot/cgi-bin/utf8_decode.pl < /var/log/apache2/access.log > /var/www/awstats6/access_log.utf8");
    .
    # まずは, 統計の更新を行います.
    system("/usr/local/bin/awstats/tools/awstats_buildstaticpages.pl -config=www.inohara.net -update -awstatsprog=/usr/local/bin/awstats/wwwroot/cgi-bin/awstats.pl -dir=/var/www/awstats6 > /var/www/awstats6/awstats.1h.log");

    # 続いて, 統計の作成を行います.
    system("/usr/local/bin/awstats/wwwroot/cgi-bin/awstats.pl -config=www.inohara.net -output -staticlinks > /var/www/awstats6/awstats.www.inohara.net.html");


    # メール Postfixの統計の更新を行います.
    #
    system("/usr/local/bin/awstats/wwwroot/cgi-bin/awstats.pl -config=postfix -update");

  • 作成したファイルの確認を行う

    ./awstats_utf8_cron
  • エラーがなければ統計データ格納ディレクトリ/var/www/awstats6に統計ファイルが作成されている。(awstats.www.inohara.net.html) (awstats.postfix.html)


 (2)自動更新の設定

  • 1時間ごとに自動更新するため、awstats_cronファイルを/etc/cron.hourlyディレクトリにコピーする。
  • (注)Debianでは/etc/cron.*ディレクトリに置いたファイルに"."が含まれると無視され起動しないので、awstats_cronにリネームした。



3.統計の閲覧

 (1)ブラウザからのApache2ログ解析閲覧


 (2)ブラウザからのPostfixログ解析閲覧
  • 本例の場合、http://www.inohara.net/awstats/awstats.pl?config=postfixでメールのログ解析を閲覧できる。(外部からのアクセスはできません)


 
更新履歴
2004.01
2005.01
2005.05
2006.08
作成
サーバー変更(flora→apricot)
サーバー変更(apricot→deskpro)
サーバー変更(deskpro→Debian@vectra)、バージョン6.5にアップ

メール アイコン
ール
トップ アイコン
トップ