On this page
Virtual Users And Domains With Postfix, MailScanner, Mailwatch & MySQL On CentOS 5.1
Version 1.0
Author: Oliver Meyer <o [dot] meyer [at] projektfarm [dot] de>
This document describes how to customize Falko's "Virtual Users And Domains" - setup for CentOS 5.1 so that it works with MailScanner and Mailwatch. The resulting system provides a web interface (Mailwatch) where you can manage quarantined emails, train SpamAssassin, edit the white- and blacklist, view configuration files and the detailed MySQL database status ...
This howto is a practical guide without any warranty - it doesn't cover the theoretical backgrounds. There are many ways to set up such a system - this is the way I chose.
1 Preparation Part I
Open https://www.howtoforge.com/virtual-users-and-domains-postfix-courier-mysql-centos5.1 and follow steps 1 - 10.
2 Preparation Part II
2.1 Install ClamAV
yum -y install clamav clamd unrar
2.2 Language Configuration
vi /etc/sysconfig/i18n
Change:
LANG="en_US.UTF-8"
To:
LANG="en_US"
2.3 Get Mailscanner
Please have a look at http://www.mailscanner.info/downloads.html to find out which is the latest version. When I was writing this howto, it was version 4.66.5-3.
cd /tmp/
wget http://www.mailscanner.info/files/4/rpm/MailScanner-4.66.5-3.rpm.tar.gz
tar xvf MailScanner-4.66.5-3.rpm.tar.gz
3 Install Mailscanner
cd /tmp/MailScanner-4.66.5-3
./install.sh
This will take a while...
4 Mailscanner Configuration
mv MailScanner.conf MailScanner.conf.orig
cat MailScanner.conf.orig | egrep ^[^#] > MailScanner.conf
vi /etc/MailScanner/MailScanner.conf
Change some parameters so that they look like this:
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Incoming Work Group = clamav
Incoming Work Permissions = 0640
Virus Scanners = clamd
Clamd Socket = /tmp/clamd.socket
Clamd Lock File = /var/lock/subsys/clamd
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin
Quarantine User = root
Quarantine Group = apache
Quarantine Permissions = 0660
Quarantine Whole Message = yes
Quarantine Whole Message As Queue Files = no
Detailed Spam Report = yes
Include Scores In SpamAssassin Report = yes
Spam Actions = store
High Scoring Spam Actions = store
Always Looked Up Last = &MailWatchLogging
Is Definitely Not Spam = &SQLWhitelist
Is Definitely Spam = &SQLBlacklist
Filename Rules = %etc-dir%/filename.rules
Filetype Rules = %etc-dir%/filetype.rules
Dangerous Content Scanning = %rules-dir%/content.scanning.rules
mkdir /var/spool/MailScanner/spamassassin/
chown -R postfix:postfix /var/spool/MailScanner/
5 Install Spamassassin
The MailScanner manual recommends to install spamassassin from .tar.gz or via perl shell. Some users reported problems with the .rpm-version.
perl -MCPAN -e shell
Answer "no" when you're asked if you are ready for manual configuration.
Enter the following within the perl shell:
o conf prerequisites_policy ask
install Net::DNS
Answer "no" when you're asked if you want to enable the online tests.
install Mail::SpamAssassin
quit
6 Postfix Configuration
touch /etc/postfix/header_checks
echo "/^Received:/ HOLD" > /etc/postfix/header_checks
vi /etc/postfix/main.cf
Add the following line:
header_checks = regexp:/etc/postfix/header_checks
Afterwards stop postfix & sendmail and start ClamAV.
chkconfig postfix off
/etc/init.d/postfix stop
chkconfig sendmail off
service sendmail stop
chkconfig clamd on
/etc/init.d/clamd start