○ wwwstatのインストール

・Apacheのaccess_logの解析をします
・wwwstat-2.0をソースからインストールし、設定します
・httpdが先に起動している必要があります

・ファイルの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:wwwstat-2.0.tar.gz (http://ftp.ics.uci.edu/pub/websoft/wwwstat/)
:patch-2.01.txt

○参照ファイル

:パッケージの追加
:最初の設定 (Xen)

○インストール環境

:OS CentOS 4.4
:selinux disabled or permissive
:インストール先 /usr/local/bin/
:作業 /home/sola/update
:言語 LANG=en_US.UTF-8
:ユーザー rootで実行

・メンテナンスの場合は一般ユーザから行います



○wwwstat-2.01

○ファイルの展開・コピー

・patchファイルは、[ページに名前を付けて保存]を選択し、[Text File]で保存します。
・../は1つ上のディレクトリを指します (この場合/home/sola/update)

# cd /home/sola/update
[root@jupiter:/home/sola/update]
# tar zxvf wwwstat-2.0.tar.gz
# chown -R root:root wwwstat-2.0
# cd wwwstat-2.0
[root@jupiter:/home/sola/update/wwwstat-2.0]
# patch < ../patch-2.01.txt

・Makefileの修正
 PERLBIN=/usr/bin/perl

# vi Makefile

# make all
# cp wwwstat.1 /usr/local/man/man1
# cp wwwstat wwwstat.rc domains.pl /usr/local/bin

・必要ならば下記ファイルをコピーします

# cp monthly oldlog2new splitlog wwwerrs /usr/local/bin

○wwwstatを修正します

:/usr/local/bin/wwwstat (root root 755)

・DefaultLogはwwwstat.html作成スクリプトに合わせるために変更しています
・ApacheでdnsLookupをしないので、wwwstatで逆引きをします

$DirectoryIndex = 'index(.(html?|cgi|php))?';
$DefaultLog = '/var/log/httpd/access_log.tmp';
$AppendToLocalhost = '.528p.com';

$OthersFullAddress = 1;
$ShowUnresolved = 1;

$LookupDNS = 1;

○wwwstat.html作成スクリプト

:/usr/local/bin/ws-html.sh (root root 755)

・apacheのログはローテーションをしているため、定期的に新しいログファイルが作られ
・ます wwwstat実行時に旧ログファイルとの空白を避けるため、旧ログファイルと新ログ
・ファイルをバインドしてwwwstat用のログファイルを作ります ブラウザで開けるように
・ユーザ・オーナー・パーミッションを変更しておきます

#!/bin/bash
#
logdir='/var/log/httpd'
wshtml='/home/www/myhome/wwwstat.html'
#
rm -f $logdir/access_log.tmp
cat $logdir/access_log.1 $logdir/access_log > \
$logdir/access_log.tmp 2>/dev/null
/usr/local/bin/wwwstat > $wshtml
chown apache:apache $wshtml
chmod g-w,o-rw $wshtml
exit

○cronでの定期的実行

・定期的にスクリプトを実行するように/etc/cron.dにファイルを作ります
・例では、毎日0時1分にroot権限でws-html.shを実行します

:/etc/cron.d/wwwstat (root root 644)

1 0 * * * root /usr/local/bin/ws-html.sh

・crondを再起動します

# cd ~
[root@jupiter:~]
# service crond restart

○アクセス制限

・apacheの<File>コンテナ指示子でアクセス制限をかけます

<Directory "/home/www/myhome">
    Options MultiViews SymLinksifOwnerMatch IncludesNoExec
    AllowOverride None
    Order deny,allow
        Allow from all
<File wwwstat.html>
    Order deny,allow
        Deny from all
        Allow from 192.168.0.0/255.255.255.0
</File>
</Directory>

○dns resolvingのエラーメッセージ

・dnsで大量のlame server resolvingメッセージがでます
・logcheckでメールされないようにignoreします
・/usr/local/etc/logcheck.ignoreに追加

named.*lame server resolving

○ Copyright(c) 528p.com All Rights Reserved.