QMAIL-SCANNER + CLAMAV + MAILDROP for QMAIL
1.0所需软件: 
maildrop-1.5.2.20030423.tar.gz 
perl-Time-HiRes-1.38-3.i386.rpm 
perl-DB_File-1.804-88.4.i386.rpm 
clamav-0.65.tar.gz 
qmail-scanner-1.20.tgz 
2.0安装maildrop: 
# tar zxvf maildrop-1.5.2.20030423.tar.gz 
# cd maildrop-1.5.2.20030423 
# ./configure 
# make 
# make install-strip 
# make install-man 
3.0安装 perl插件 
# rpm -ivh perl-Time-HiRes-1.38-3.i386.rpm 
# rpm -ivh perl-DB_File-1.804-88.4.i386.rpm 
4.0安装clamav-0.65.tar.gz 
# groupadd clamav 
# useradd -g clamav –d /usr/local/share/clamav -s /bin/false clamav 
# tar zxvf clamav-0.65.tar.gz 
# cd clamav-0.65 
# ./configure 
# make check 
# make install 
# vi /usr/local/etc/clamav.conf 
===============================clamav.conf============================ 
# Comment or remove the line below. 
#Example 
LogFile /var/log/clamd.log 
LogFileMaxSize 1M 
LogTime 
LogVerbose 
PidFile /var/run/clamd.pid 
DataDirectory /usr/local/share/clamav 
LocalSocket /tmp/clamd 
StreamMaxLength 10M 
MaxThreads 10 
MaxDirectoryRecursion 15 
User clamav 
ScanMail 
ScanArchive 
ScanRAR 
ArchiveMaxFileSize 10M 
ArchiveMaxRecursion 5 
ArchiveMaxFiles 1000 
ClamukoScanOnOpen 
ClamukoScanOnClose 
ClamukoScanOnExec 
ClamukoIncludePath /home/vpopmail 
ClamukoMaxFileSize 6M 
ClamukoScanArchive 
===============================clamav.conf============================ 
# touch /var/log/clamd.log 
# chown clamav:clamav /var/log/clamd.log 
4.1建立clamav的启动脚本: 
# vi /etc/init.d/clamd 
==================================clamd=============================== 
#! /bin/bash 
# 
# crond   Start/Stop the clam antivirus daemon. 
# 
# chkconfig: 2345 90 60 
# description: clamdis a standard UNIX program that scans for Viruses. 
# processname: clamd 
# config: /usr/local/etc/clamav.conf 
# pidfile: /var/run/clamd.pid 
# Source function library. 
. /etc/init.d/functions 
RETVAL=0 
# See how we were called. 
prog="clamd" 
progdir="/usr/local/sbin" 
# Source configuration 
if [ -f /etc/sysconfig/$prog ] ; then 
    . /etc/sysconfig/$prog 
fi 
start() { 
        echo -n $"Starting $prog: " 
        daemon $progdir/$prog 
        RETVAL=$? 
        echo 
        [ $RETVAL -eq 0 ] && touch /var/run/clamd.pid 
        return $RETVAL 
} 
stop() { 
     echo -n $"Stopping $prog: " 
     killproc $prog 
     RETVAL=$? 
     echo 
     [ $RETVAL -eq 0 ] && rm -f /var/run/clamd.pid /tmp/clamd 
        return $RETVAL 
} 
rhstatus() { 
     status clamd 
} 
restart() { 
     stop 
     start 
} 
reload() { 
        echo -n $"Reloading clam daemon configuration: " 
        killproc clamd -HUP 
        retval=$? 
        echo 
        return $RETVAL 
} 
case "$1" in 
  start) 
        start 
        ;; 
  stop) 
        stop 
        ;; 
  restart) 
        restart 
        ;; 
  reload) 
        reload 
        ;; 
  status) 
        rhstatus 
        ;; 
  condrestart) 
        [ -f /var/lock/subsys/clamd ] && restart || : 
        ;; 
  *) 
        echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}" 
        exit 1 
esac 
exit 0 
==================================clamd=============================== 
# chmod 755 /etc/init.d/clamd 
# chkconfig –add clamd 
# chkconfig clamd on 
4.2更新病毒库 
# /usr/local/bin/freshclam    
4.3定时更新病毒库 
# crontab –e 
00 9 * * * /usr/local/bin/freshclam --quiet 
5.0安装qmail-scanner-1.20.tgz 
# groupadd qscand 
# useradd -g qscand -s /bin/false qscand 
# tar zxvf qmail-scanner-1.20.tgz 
# cd qmail-scanner-1.20 
# ./configure 
--qmail-queue-binary /var/qmail/bin/qmail-queue 
--admin postmaster 
--domain nero.3322.org 
--notify sender,admin 
--local-domains nero.3322.org 
--lang en_GB 
--debug yes 
--unzip yes 
--scanners clamscan 
--install 
# chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl 
# chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl 
然后用一个普通用户执行/var/qmail/bin/qmail-scanner-queue.pl -z 
如果有Can't do setuid出现,回到安装文件目录,有个contrib目录, 
# cd contrib 
# make 
# make install 
附加作如下步骤: 
# chown qscand:qscand /var/qmail/bin/qmail-scanner-queue 
# chmod 4755 /var/qmail/bin/qmail-scanner-queue 
# chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl 
然后用一个普通用户登陆,执行 
# /var/qmail/bin/qmail-scanner-queue -z 
# /var/qmail/bin/qmail-scanner-queue -g 
5.1修改环境变量 
在你的qmail启动脚本加入 
QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue.pl 
export QMAILQUEUE 
如果作了附加步骤用下面的 
QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue 
export QMAILQUEUE 
修改qmail-scanner-queue.pl中的 
my $clamscan_options="-r --disable-summary --max-recursion=10 --max-space=1000000"; 
为: 
my $clamscan_options="-r --mbox --disable-summary --max-recursion=10 --max-space=1000000"; 
5.2重起qmail 测试 
这里有测试程序 
# /qmail-scanner-1.20/contrib/test_installation.sh -doit 
5.3主要的排错监测日志: 
/var/log/maillog 
/var/log/clamd.log 
/var/spool/qmailscan/quarantine.log 
/var/spool/qmailscan/qmail-queue.log 

 
								



 
				