ひるねこ日記

Linux編


<Linux設定>

ログ解析ソフト、AWStats65日本語版をFedora Core4にインストール

 ログ解析ソフト、awstats65は英語版でも日本語表示はできるのですが、へんなところがあったり、日本独自のサーチロボットやブラウザが統計に反映されていません。
しかし、Ryuさんがこれ等の不具合に対応した日本語版を配布しています。

ダウンロードするソフト

AWStats65_Jpn.tar.gz http://www.bflets.dyndns.org/Tools/AWStatsJpn.html

私の環境に合わせているため、オリジナルとディレクトリの位置が違います。

インストール

管理者権限になります。
# su - 管理者権限になる

awstatsのhtmlファイルを格納するディレクトリを作成
# mkdir /var/www/html/awstats65

awstatsのcgiファイルを格納するディレクトリを作成
# mkdir /var/www/cgi-bin/awstats

ログテキストを格納するdataディレクトリを作成
# mkdir /var/www/cgi-bin/awstats/data

confファイルを置くディレクトリを作成
# mkdir /etc/awstats

AWStats65のソースの解凍
# tar xzvf AWStats65_Jpn.tar.gz

wwwroot下の全てのファイルを/var/www/cgi-bin/awstats下にコピー
# cd ./AWStats65_Jpn/wwwroot
# cp -R ./ /var/www/cgi-bin/awstats

toolsディレクトリを/var/www/cgi-bin/awstats下にコピー
# cd ..
# cp -R ./tools /var/www/cgi-bin/awstats

awstats.cronを/var/www/cgi-bin/awstats下にコピー
# cp awstats.cron /var/www/cgi-bin/awstats

awstats.model_jp.confをawstats.model.confの名前で/etc/awstatsにコピー
# cd ../cgi-bin
# cp ./awstats.model_jp.conf /etc/awstats/awstats.model.conf

基本的な設定ファイルの編集

awstats_configure.plを編集
# cd ./tools
# vi ./awstats_configure.pl

32行目からを編集
$AWSTATS_ICON_PATH='/var/www/cgi-bin/awstats/icon';
$AWSTATS_CSS_PATH='/var/www/cgi-bin/awstats/css';
$AWSTATS_CLASSES_PATH='/var/www/cgi-bin/awstats/classes';
$AWSTATS_CGI_PATH='/var/www/cgi-bin/awstats/cgi-bin';
$AWSTATS_MODEL_CONFIG='/etc/awstats/awstats.model.conf';
$AWSTATS_DIRDATA_PATH='/var/www/cgi-bin/awstats/data';

/etc/awstats/awstats.model.confを編集
# vi /etc/awstats/awstats.model.conf

55行目のLogFileを変更する。
LogFile="/var/www/cgi-bin/awstats/data/access_log.utf8

awstats_configure.plを実行
# cd /var/www/cgi-bin/awstats/tools
# perl ./awstats_configure.pl

Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf   # 聞いてきたら入力

-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> www.mysite.com  #自分のドメイン名

以降はENTERキーの入力で良い
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
>

/etc/awstatsにawstats.www.mysite.com.confができている筈です。
一応次の項目を確認してください。

ログファイル
LogFile="/var/www/cgi-bin/awstats/data/access_log.utf8
ドメイン名
SiteDomain="www.mysite.com"
ヴァーチャルホスト名
HostAliases="mysite.com www.mysite.com 127.0.0.1 localhost"
データディレクトリ
DirData="/var/www/cgi-bin/awstats/data"
awstats.plのあるディレクトリ
DirCgi="/awstats/cgi-bin"

awstats.cronの編集
# cd /var/www/cgi-bin/awstats
# vi ./awstats.cron

次を確認、あるいは編集してください
#! /usr/bin/perl

# httpのログファイルをデコードした上で一時ディレクトリに格納します。
# access_log.utf8は一時的にデコードしたログを保存するファイルの名前です。

system("/var/www/cgi-bin/awstats/cgi-bin/utf8_decode.pl < /var/log/httpd/access_log > /var/www/cgi-bin/awstats/data/access_log.utf8"); # <---1

# awstats.plが切り詰めないオリジナルのログを切り詰めます。
open(LOG,"+ </var/log/httpd/access_log");
truncate(LOG,0);
close(LOG);

# Ver.5.0から、更新処理を別途走らせる必要ができたらしい....
system("/var/www/cgi-bin/awstats/cgi-bin/awstats.pl -config=www.mysite.com -update > /dev/null"); # <--2

# awstats.plを走らせ、htmlファイルを出力します。
# 必須ではありませんが、awstats.plを直接参照させるよりも、htmlに出力して表示す
# る方が、良好なパフォーマンスが得られます。
system("/var/www/cgi-bin/awstats/cgi-bin/awstats.pl -config=www.mysite.com -output > /var/www/html/awstats65/index.html"); #<--3

# アクセス可能になるように出力したhtmlファイルの権限を変更
system("chgrp root /var/www/ht3ml/awstats65/index.html"); # <--4
system("chown root /var/www/html/awstats65/index.html"); #<--5

動作の確認

systemの""で囲まれているところ(<--1から5)をコピー/ペーストして実行して次の項目を確認してください。
エラーがでないか。
/var/www/cgi-bin/awstats/dataにaccess_log.utf8ができているか
/var/www/html/awstats65にindex.htmlができているか?

 

httpd.confの編集

# vi /etc/httpd/conf/httpd.conf

最後のほうにawstats関係のAliasなどが追加されています。
Alias /awstatsclasses "/var/www/cgi-bin/awstats/classes/"
Alias /awstatscss "/var/www/cgi-bin/awstats/css/"
Alias /awstatsicons "/var/www/cgi-bin/awstats/icon/"
ScriptAlias /awstats/ "/var/www/cgi-bin/awstats/"
                        ↑
# ScriptAlias /awstats/ "/var/www/cgi-bin/awstats/wwwroot/" になっていたら上記のように修正

#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "/var/www/cgi-bin/awstats">
                  ↑
# "/var/www/cgi-bin/awstats/wwwroot"になっていたら修正

Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

apacheの再起動
# /etc/init.d/httpd restart

http:www.mysite.com/awstats65で起動を確認してください。

awstats.cronを1時間ごとに実行

# crontab -e
00 * * * * /var/www/cgi-bin/awstats/awstats.cron

注意事項

他から見られないようにするには、httpd.confのDirectoryでallo,denyで許可するIPアドレスを指定するとか .htaccessでパスワードをかけるなどしてください。
HTMLのタグに使用する特殊文字("<>)はそのままコピーしても駄目ですので注意してください。

©2005 hiruneko