○ isoqlogのインストール

*postfixのmaillogの解析をします
*isoqlog-2.2.1をソースからインストールし、設定します
*isoqlogは C言語 で書かれており、軽快に動作します
*nognogサイトさんの日本語パッチを当てています
*httpdが先に起動している必要があります
*make はメンテナンスマシンで行っています

**以降はコメントです
*ファイルの取得、削除は省略します
*エディタ、ファイラーの操作は省略します
*説明文 (英文) を読みましょう
*Enterキーを省略します

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

○関連サイト

:isoqlog-2.2.1.tar.gz (http://www.enderunix.org/isoqlog/)
:isoqlog-2.2.1_japanese.patch  (http://www.nognog.com/techmemo/)

○参照ファイル

パッケージの追加
最初の設定 (Xen)
httpd/phpのインストール

○インストール環境

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

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



○isoqlog-2.2.1

○ファイルの展開・インストール

# cd /usr/src
# tar zxvf isoqlog-2.2.1.tar.gz
# chown -R root:root isoqlog-2.2.1
# cd isoqlog-2.2.1

*パッチを当てます (下記参照)
*パッチファイルは一つ上のディレクトリにおきます

# patch -p1 < ../isoqlog-2.2.1_UTF8.patch
# make distclean
# ./configure CFLAGS="-O2 -march=pentium3"

*CFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
*該当しない場合は指定しない

# make
# make uninstall
# make install

# cd /usr/src
# tar jcvf isoqlog-2.2.1-100522.tar.bz2 isoqlog-2.2.1/

*WEB用ディレクトリの作成

# mkdir -p /home/www/myhome/isoqlog

*必要なファイルのコピー

# cd /usr/local/etc
# cp isoqlog.conf-dist isoqlog.conf
# cp isoqlog.domains-dist isoqlog.domains
# cd /usr/local/share/isoqlog/htmltemp
# cp -a images library /home/www/myhome/isoqlog

*オーナー・グループ・パーミッションの変更

# cd /home/www/myhome
# chown -R apache:apache isoqlog
# find isoqlog -type f | xargs chmod g-w,o-rwx
# find isoqlog -type d | xargs chmod g-rw,o-rw

isoqlog-2.2.1_UTF8.patch

*nognogサイトさんのpatchを使わせてもらいます
*このサイトに合わせてコードをUTF-8にしています

○isoqlog.confの修正

:/usr/local/etc/isoqlog.conf

#isoqlog Configuration file

logtype     = "postfix"
logstore    = "/var/log/maillog"

domainsfile = "/usr/local/etc/isoqlog.domains"
outputdir   = "/home/www/myhome/isoqlog"
htmldir     = "/usr/local/share/isoqlog/htmltemp"
langfile    = "/usr/local/share/isoqlog/lang/japanese"
hostname    = "mail.528p.com"

maxsender   = 100
maxreceiver = 100
maxtotal    = 100
maxbyte     = 100

○isoqlog.domainsの修正

:/usr/local/etc/isoqlog.domains

mail.528p.com

○レポートhtml作成スクリプト

:/etc/cron.hourly/isoqlog-repo (root root 700)

*chown、chmodは危険なコマンドなので実行権に注意
*定期的にスクリプトを実行するように/etc/cron.hourlyにファイルを作ります
*毎時1分にroot権限でisoqlog-repoを実行します

#!/bin/bash

IQLDIR=/home/web/myhome/isoqlog

/usr/local/bin/isoqlog >/dev/null 2>&1

find $IQLDIR -group root | xargs -r chown apache:apache
find $IQLDIR -type f -perm -o+r | xargs -r chmod g-w,o-rwx
find $IQLDIR -type d -perm -o+r | xargs -r chmod g-rw,o-rw

○アクセス制限

:httpd-personal.confに下記内容を追加します

*ローカルからの接続のみ許可します

<IfModule alias_module>
    Alias /visitors "/home/www/myhome/isoqlog"
</IfModule>

<Directory "/home/www/myhome/isoqlog">
    Options SymLinksifOwnerMatch IncludesNoExec
    AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 192.168.0
</Directory>



○isoqlog.css (参考)

*WEB用ディレクトリにコピーしたファイルを編集します
*文字サイズ pt (絶対サイズ) から px (相対サイズ) に変更してあります
*オリジナルでは.table_footherになっています (意図的?)

.table_header {
    font-size: 12px;
    font-weight: bold;
    color: #CC3333;
    text-decoration: none;
    background-color: #E9E9E9;
}

.header {
    font-size: 16px;
    color: #336633;
}

.table_data {
    font-size: 12px;
    color: #000000;
    text-decoration: none
}

.table_data_mon {
    font-size: 12px;
    font-weight: bold;
    color: #339966;
    text-decoration: underline;
}

.table_data_day {
    font-size: 12px;
    font-weight: bold;
    color: #339966;
    text-decoration: underline;
}

.table_data_total {
    font-size: 12px;
    color: #000000;
    text-decoration: none;
    font-weight: bold;
}

.table_footer {
    font-size: 12px;
    font-weight: bold;
    color: #CC3333;
    text-decoration: none;
    background-color: #E9E9E9;
}

.table_top_header {
    font-size: 14px;
    font-weight: bold;
    color: #0000CC;
    text-decoration: none;
    background-color: #E9E9E9;
}

.created_date {
    font-size: 12px;
    font-style: italic;
    color: #999999;
}

.domains {
    font-size: 16px;
    color: #990000;
    text-decoration: none;
}


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