#navi(:MyDocument/NetBrains)
#contents
#nofollow
----
AWStatsのセットアップ(2004/12/31追加)
-&topicpath;

※Apacheのログは予め「combined」にする必要がある。そうで無い場合ログの集計が行われない。

*AWStatsのセットアップ
~パッケージの取得(awstats-6.2-1.noarch.rpm)
 http://awstats.sourceforge.net/#DOWNLOAD
パッケージのインストール
 # rpm -Uvh awstats-6.2-1.noarch.rpm

*Webminモジュールのインストール
++[Webmin]-[Webminの設定]-[Webmin モジュール]を開く
++[モジュールのインストール]で[ローカル ファイルから]を選択。
++「/usr/local/awstats/tools/webmin/awstats-1.4.wbm」を指定する。
++「ファイルからモジュールをインストール」ボタンを押下。

*AWStatsの設定
~AWStats設定ファイルの作成
 # cp /etc/awstats/awstats.model.conf /etc/awstats/awstats.conf
CGIファイルのコピー(http://www.nbrains.co.jp/AWStats/ で公開する場合)
 # mkdir /usr/local/apache2/htdocs/AWStats
 # cp -R /usr/local/awstats/wwwroot /usr/local/apache2/htdocs/AWStats
 # chown -R nobody.nobody /usr/local/apache2/htdocs/AWStats
 # chmod -R 644 /usr/local/apache2/htdocs/AWStats
/etc/awstats/awstats.confの編集(内容が反映されるのは変更後に集計したもののみになるので注意)
 # vi /etc/awstats/awstats.conf
 (変更)LogFile="/usr/local/apache2/logs/access_log"
 (変更)SiteDomain="www.nbrains.co.jp"
 (変更)HostAliases="www.nbrains.co.jp localhost 127.0.0.1 REGEX[nbrains\.co\.jp$]"
 (変更)DNSLookup="1"
 (変更)DirCgi="/AWStats/cgi-bin"
 (変更)DirIcons="/AWStats/icon"
 (変更)AllowToUpdateStatsFromBrowser="1"
 (変更)DefaultFile="index.html index.php index.jsp"
 (変更)SkipDNSLookupFor="REGEX[^192\.168\.]"
 (変更)URLWithQuery=1
 (変更)Lang="jp"
 (変更)ShowAuthenticatedUsers=PHBL
.htaccessの設置
 # .htaccessファイル(このファイル)へのアクセスを制限 
AddHandler cgi-script htaccess
 AddHandler cgi-script htaccess
 # ディレクトリのファイル一覧表示を中止する 
 Options -Indexes
 # スタートページを「index.html」にする 
 DirectoryIndex index.html
 # SSIの設定
 Options +ExecCGI
 AddHandler cgi-script pl
 # Basic認証 
 AuthUserFile /usr/local/apache2/htdocs/AWStats/.htpasswd
 AuthGroupFile /dev/null
 AuthName "Please enter your ID and password"
 AuthType Basic
 require valid-user
.htpasswdの設置
 awstats_kanrinin:l0tMom8AL2IVo
index.htmlの設置
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <HTML lang="ja">
  <HEAD><TITLE>AWStats Page</TITLE></HEAD>
  <BODY><CENTER><BIG>
   <A href="./cgi-bin/awstats.pl?&configdir=/etc/awstats">ここをクリック</A>
  </BIG></CENTER></BODY>
 </HTML>

*AWStats集計負荷軽減Plug-inの追加(2005/01/14追記)
~AWStats集計負荷を軽減するPlug-inが存在するようなので追加する。~
GeoIPのセットアップ。http://www.maxmind.com/app/c から最新のソースコードをDownloadし、インストールする。
 # tar zxf GeoIP-1.3.8.tar.gz
 # cd GeoIP-1.3.8
 # ./configure
 # make
 # make check
 # make install
CPANより「Geo::IP」を追加する。
 国別IPアドレス調査処理速度の向上。
CPANより「Storable」を追加する。
 DNSのキャッシュファイルアクセス処理速度の向上。
/etc/awstats/awstats.confの編集(コメントをはずす)
 # vi /etc/awstats/awstats.conf
 (変更)LoadPlugin="hashfiles"
 (変更)LoadPlugin="geoip GEOIP_STANDARD"

*PukiWiki 1.4.5 対応(2005/02/05追記)
~PukiWiki 1.4.5 からcssのアクセスには 〜/wiki/skin/pukiwiki.css.php を経由して行うようになった。~
これではどのページにアクセスしても pukiwiki.css.php へのアクセスか発生し、分析しづらくなってしまう。~
よってAWStatsの集計時に /wiki/skin/ 配下のアクセスは集計対象から外す事とする。
 # vi /etc/awstats/awstats.conf
 (変更前)SkipFiles=""
 (変更前)SkipFiles="REGEX[\/wiki\/skin]"

*日本向けパッチの適用(2005/01/15追記)
~日本のサーチエンジン判定及び検索語の全角スペース検知のパッチ適用を行う。
 http://cubic9.com/Linux/Apache/%A5%ED%A5%B0%B2%F2%C0%CF/AWStats/
上記サイトで公開されている「search_engines.diff」「searchwords.diff」をDownloadする。~
上記のパッチを「/package/awstats」に配置後、パッチの適用(awstats.pl/search_engines.pm)
 # cd /usr/local/apache2/htdocs/AWStats/cgi-bin
 # patch < /package/awstats/searchwords.diff
 # cd /usr/local/apache2/htdocs/AWStats/cgi-bin/lib
 # patch < /package/awstats/search_engines.diff
手動で実行し問題がないか確認する。
 # /usr/local/apache2/htdocs/AWStats/cgi-bin/awstats.pl -config=/etc/awstats/awstats.conf -update
パッチを適用した「search_engines.pm」には不具合があるので修正する。(カンマが無いのでエラーになっている)
 # vi /usr/local/apache2/htdocs/AWStats/cgi-bin/lib/search_engines.pm
 (変更前)'excite\.'
 (変更前)'a9\.com'
 (変更後)'excite\.'COLOR(RED:SIZE(5:,))
 (変更後)'a9\.com'
GoogleのIPアドレスの追加(2005/01/23追記)~
Googleのドメインは多数ある(http://www.hicat.ne.jp/home/tomcre/search/zatu/data_center_list.html)ようなので適宜追加する必要が有りそう。
 http://216.239.63.104/search
 http://64.233.187.104/search
 http://64.233.189.104/search
#br
 # vi /usr/local/apache2/htdocs/AWStats/cgi-bin/lib/search_engines.pm
 (変更前)'google\.', 
      '216\.239\.(37|39|41|51|53|57|59)\.104',
      '66\.102\.(7|9|11)\.104',
      '64\.233\.(161|167|171|179|183|185)\.104',
 (変更後)'google\.', 
      '216\.239\.(37|39|41|51|53|57|59COLOR(RED:|63))\.104',
      '66\.102\.(7|9|11)\.104',
      '64\.233\.(161|167|171|179|183|185COLOR(RED:|187|189))\.104',
パッチ適用後に集計された分から、パッチで変更された部分が反映される。

*ログの集計
~手動で実行
 # /usr/local/apache2/htdocs/AWStats/cgi-bin/awstats.pl \
  -config=/etc/awstats/awstats.conf \
  -update
Cronに登録(処理負荷はそれ程無いので毎時で実行しても良い。集計結果の表示は動的にHTMLを生成するので負荷が掛かる。)
 /usr/local/apache2/htdocs/AWStats/cgi-bin/awstats.pl \
 -config=/etc/awstats/awstats.conf \
 -update \
 > /dev/null

*Apacheのログ出力に関する注意(2005/01/05追記)
~Apacheの非SSL通信のログは、以下のように設定すれば問題ない。
 # vi /usr/local/apache2/conf/httpd.conf
 (変更前)CustomLog logs/access_log common
 (変更後)CustomLog logs/access_log combined
ApacheのSSL通信のログは、以下のように設定しないと「common」形式のログ出力になってしまい、AWStatsで集計出来ない。~
TransferLogの場合には「combined/common」等の指定は出来ない。但し、直前にLogFormatディレクティブで指定されたフォーマットで出力される。
 http://www.apache.jp/docs/mod/mod_log_config.html#transferlog
 # vi /usr/local/apache2/conf/ssl.conf
 ErrorLog /usr/local/apache2/logs/error_log
 (追加)LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
 TransferLog /usr/local/apache2/logs/access_log

*JavaWebStartアイコンに関する注意(2005/01/12追記)
~AWStatsにはJavaWebStartによるアクセス表示アイコンが存在していないようだ。
 ./icon/browser/javaws.png
 ./icon/mime/jnlp.png
しょうがないので「javaws.png」で検索したら javaws-rhmenu-XXXX.rpm にそれっぽいアイコンが入っていたので、それを拝借してそれぞれにコピーする。

*VirtualDomain対応(2005/01/13追記)
~VirtualDomain対応するには、/etc/awstats配下に以下のようなファイル名規約で作成すれば良い(・・・かも。未確認)
 /etc/awstats/awstats.www.hoge.co.jp.conf
 /etc/awstats/awstats.www.chige.jp.conf
 /etc/awstats/awstats.mail.sage.jp.conf
Cronの集計は以下のようにする
 /usr/local/apache2/htdocs/AWStats/cgi-bin/awstats.pl -config=www.hoge.co.jp -update >/dev/null
 /usr/local/apache2/htdocs/AWStats/cgi-bin/awstats.pl -config=www.chige.jp -update >/dev/null
 /usr/local/apache2/htdocs/AWStats/cgi-bin/awstats.pl -config=mail.sage.jp -update >/dev/null

*ログの再集計方法(2005/01/16追記)
~集計オプションを変更した場合、変更以後に集計したものが対象になる。~
再集計を行うには、現在存在する集計結果を削除し、対象月のログを古いものから集計していく。~
1. 集計結果の退避
 # cd /usr/local/apache2/htdocs/AWStats/cgi-bin
 # mv awstats012005.txt awstats012005.txt.bak
2. 編集対象ログファイルの変更
 # vi /etc/awstats/awstats.conf
 (変更前)LogFile="/usr/local/apache2/logs/access_log"
 (変更後)LogFile="/usr/local/apache2/logs/access_log.1" ←適宜開始月のログファイルを指定する。
3. ログの再集計の実行(適宜最新のログファイルになる迄、編集→集計を繰り返す)
 # /usr/local/apache2/htdocs/AWStats/cgi-bin/awstats.pl \
   -config=/etc/awstats/awstats.conf \
   -update

*バージョンアップ作業(2005/01/31追加)
+awstats-6.3.tgzをローカルにDownloadし、前バージョン(6.2)でのパッチから今回向けに修正を手動で反映する。
+インストール
 # rpm -Uvh awstats-6.3-1.noarch.rpm
+スクリプトのコピー
 # cp -fR /usr/local/awstats/wwwroot/* /usr/local/apache2/htdocs/AWStats/
+作成したパッチを /usr/local/apache2/htdocs/AWStats/cgi-bin にWinSCP等でコピーする。
+パッチが動作するかどうか確認する。(毎時15分にCronで集計しているので注意。時間が掛かるならCronを停止しておく)
 # cd /usr/local/apache2/htdocs/AWStats/cgi-bin
 # cp awstats012005.txt awstats012005.txt.bak
 # ./awstats.pl \
   -config=/etc/awstats/awstats.conf \
   -update
+動作に問題なければ、今回修正した分のパッチファイルを作成しておく。
 # cd /usr/local/apache2/htdocs/AWStats/cgi-bin
 # diff -Naur /usr/local/awstats/wwwroot/cgi-bin/awstats.pl            ./awstats.pl \
   > awstats.pl.patch
 # diff -Naur /usr/local/awstats/wwwroot/cgi-bin/lib/robots.pm         ./lib/robots.pm \
   > robots.pm.patch
 # diff -Naur /usr/local/awstats/wwwroot/cgi-bin/lib/search_engines.pm ./lib/search_engines.pm \
   > search_engines.pm.patch

#navi(:MyDocument/NetBrains)



ページ先頭へ   最終更新のRDF 最終更新のRSS
Valid XHTML 1.1 Valid CSS! [Valid RSS]