| Jcodeのインストール |
AWStats 6.0完全日本語版は、ログファイルを一度、utf8_decode.plというスクリプトを経由させる事で
アクセス解析可能な状態にしています。
ここではURLをデコードするために必要となるJcodeをインストールします。
# perl -MCPAN -e shell ← CPANモジュールを起動 ※ 初回のみ以下の設定画面が出てきます。 以下の部分以外は全て [Enter] でOK Select your continent (or several nearby continents) [] 2 ← Asiaを指定 Select your country (or several nearby countries) [] 7 ← Japanを指定 Select as many URLs as you like (by number), put them on one line, separated by blanks, e.g. '1 4 5' [] 1 4 5 ← 1,4,5を指定(数字の間は半角スペース) cpan> install Jcode ← インストール cpan> exit ← 終了 上記方法でできない場合 まずここのサイトから Jcode-2.03.tar.gz をダウンロードします。 ※ 最新バージョンをダウンロードしてください。 # tar zxf Jcode-2.00.tar.gz ← 解凍します # cd Jcode-* ← 解凍してできたディレクトリへ移動 # perl Makefile.PL; make; make install ← インストール |
| AWStats のダウンロードとインストール |
Webalizerよりも詳細な解析ができるソフトです。
Webalizerで物足りないと感じている方は、AWStatsをインストールしてみてはいかがでしょうか?
まず、こちらのサイトからAWStats 6.6完全日本語版を /usr/local/bin にダウンロードします。
| ダウンロードしたファイルを展開する。 # cd /usr/local/bin ← 移動 # tar xvzf AWStats66_Jpn.tar.gz ← 展開 AWStatsを置くディレクトリの作成 ※(home/httpd/htmlにあるサイトを解析する場合) # mkdir /home/httpd/html/cgi-bin/awstats ← 本体を置く場所 # mkdir /home/httpd/html/cgi-bin/awstats/icon ← iconを置く場所 設定ファイルの移動(コピー) # cd /usr/local/bin/AWStats66_Jpn/wwwroot/ ← 移動 # cp -rf cgi-bin/* /home/httpd/html/cgi-bin/awstats ← コピー # cp -rf icon/* /home/httpd/html/cgi-bin/awstats/icon ← コピー # cd /home/httpd/html/cgi-bin/awstats # cp awstats.model_jp.conf awstats.conf ← 日本語設定ファイルをコピー |
| 設定ファイルの編集 |
# vi /home/httpd/html/cgi-bin/awstats/awstats.conf ← 設定ファイル編集 ログの保管場所を指定 ※注意 Apache2の場合はログの場所を/var/log/httpd→/var/log/apache2に変更してください。 LogFile="/var/log/httpd/access_log.utf8" ← アクセスログに「.utf8」を付けてください!(Apache1.3系) サイトのドメインを指定 SiteDomain="xxxxx.com" ← 貴方のサイトのドメインを指定してください。 DNSの設定 DNSLookup=1 ← 逆引きを行う(行わない場合は0) CGIスクリプトのディレクトリを指定 DirCgi="/cgi-bin/awstats" 画像ディレクトリを指定 DirIcons="/cgi-bin/awstats/icon" アクセス解析対象外の指定 SkipHosts="127.0.0.1 REGEX[^192.168.0.]" 表示言語を指定 Lang="jp" |
| 手動でApacheのログを変換しアクセス解析してみる |
Apacheのログは access_log access_log.1 と言った感じで保管されています。
しかし、このままではAWStatsでログを読み込むことができません。
まずは手動で、utf8形式にログを変換してみます。
※注意 Apache2の場合はログの場所を/var/log/httpd→/var/log/apache2に変更してください。
| # /home/httpd/html/cgi-bin/awstats/utf8_decode.pl < /var/log/httpd/access_log
> /var/log/httpd/access_log.utf8 これで /var/log/httpd/access_log.utf8 という形式のログが作成されたと思います。 次に、手動でアクセス解析を実行 # /home/httpd/html/cgi-bin/awstats/awstats.pl -config=awstats.conf -update ブラウザから確認できるようにawstatsディレクトリのアクセス権を変更 # chown -R 所有者:グループ名 /home/httpd/html/cgi-bin/awstats 例) # chown -R yosi:yosi /home/httpd/html/cgi-bin/awstats ← 所有者、グループ名が yosi の場合 ※ 当サイト ユーザーの追加と削除 に記載の方法でユーザーを作成した場合、所有者、グループ名は同じになります。 |
ではブラウザで確かめてみる。
http://xxxxx.com/cgi-bin/awstats/awstats.pl ← xxxxx.comの部分は貴方のサイとドメイン又はIPアドレスを指定してください。
こんな画面が見えたらOKです。

| 定期的に、ログの結合と変換、そして自動実行を行う |
上記の設定でCronに登録しても十分運用可能ですが、ログがローテーションされた際に、どうしても差分が出てしまいます。
そこで、もっと正確にログを取得したかったので、access_log と access_log.1
のログを結合させます。
そしてutf8形式にログを変換して、定期的に自動実行させたいと思います。
エディタで新規に自動化スクリプトを作製します。
※注意 Apache2の場合はログの場所を/var/log/httpd→/var/log/apache2に変更してください。
#!/bin/sh ALOG=/var/log/httpd/access_log A1LOG=/var/log/httpd/access_log.1 NEWLOG=/var/log/httpd/access_log.new UTF8LOG=/var/log/httpd/access_log.utf8 UTF8DECODE=/home/httpd/html/cgi-bin/awstats/utf8_decode.pl AWSTATS=/home/httpd/html/cgi-bin/awstats/awstats.pl LOG=/var/log/awstats.log cat $ALOG > $NEWLOG cat $A1LOG >> $NEWLOG $UTF8DECODE < $NEWLOG > $UTF8LOG $AWSTATS -config=awstats.conf -update > $LOG chmod 600 $LOG |
記載できたら awstats.sh と言うファイル名で保存します。
スクリプトに実行件を与えます。 # chmod +x awstats.sh # crontab -e ← Cronの編集 viエディタが開きますので下記のように登録してください。 移動したら i キー(入力モード) 05 00 * * * /root/awstats.sh これで毎日00.05分にスクリプトが実行されます。 記載したら Esc キー(コマンドモード) :wqで保存 # /etc/rc.d/init.d/crond restart ←Cron を再起動 |
Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.