If you find this document useful, or have any additions or corrections, please send a message to the Webmaster.
Document Conventions
Configuration filename--link to example file
Command prompt
Command typed by user
Input to text editor
Install Fedora Core 1
Use "server" configuration
Install Fedora Core 1 Updates
[root]# rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/1/apt/apt-0.5.15cnc3-0.1.fr.i386.rpm
[root]# vi /etc/apt/sources.list
rpm http://apt.sw.be redhat/fc1/en/i386 dag
rpm-src http://apt.sw.be redhat/fc1/en/i386 dag
rpm http://ftp.WL0.org apt/fedora/fc1/i386 postfix
rpm-src http://postfix.WL0.org ftp/apt/fedora/fc1/i386 postfix
[root]# apt-get remove sendmail sendmail-cf
[root]# apt-get update
[root]# apt-get upgrade
[root]# mv /etc/apt/sources.list.rpmsave /etc/apt/sources.list
Compile and Install Postfix
[root]# apt-get source postfix
[root]# apt-get install rpm-build gcc gawk sed ed patch
[root]# apt-get install mysql mysql-devel
[root]# cd /usr/src/redhat/SOURCES
[root]# export POSTFIX_MYSQL_REDHAT=1
[root]# export POSTFIX_PCRE=1
[root]# export POSTFIX_SASL=2
[root]# export POSTFIX_TLS=1
[root]# export POSTFIX_SMTPD_MULTILINE_GREETING=1
[root]# sh make-postfix.spec
[root]# cd ../SPECS
[root]# rpmbuild -ba postfix.spec
[root]# apt-get install <develpackage>
[root]# cd ../RPMS/i386
[root]# rpm -ivh postfix.*.rpm
[root]# chkconfig postfix off
[root]# postfix stop
[root]# cd /etc/postfix
[root]# vi main.cf
[root]# vi master.cf
[root]# ./postfix-chroot.sh enable
Install Amavisd-New and Pflogsumm (Postfix Log Summarizer)
[root]# apt-get install pflogsumm amavisd-new
[root]# chkconfig amavisd off
[root]# service amavisd stop
[root]# vi /etc/amavisd.conf
[root]# vi /var/spool/amavis/notify-spam-sender.txt
[root]# mkdir -p /var/spool/amavis/tmp
[root]# mkdir -p /var/spool/amavis/lookups
[root]# cd lookups
[root]# touch blacklist_sender whitelist_sender
[root]# vi spam_lovers
postmaster@domain.com
abuse@domain.com
[root]# vi virus_lovers
[root]# cd ../..
[root]# chown -R amavis:amavis amavis
Install Razor2
[root]# cd ~
[root]# wget http://aleron.dl.sourceforge.net/sourceforge/razor/razor-agents-2.40.tar.gz
[root]# perl -MCPAN -e shell
cpan> install Net::Ping
cpan> install Net::DNS
cpan> install Time::HiRes
cpan> install Digest::SHA1
cpan> install GetOpt::Long
cpan> install File::Copy
cpan> install Digest::Nilsimsa
cpan> install URI::Escape
cpan> quit
[root]# tar xvfz razor-agents-2.40.tar.gz
[root]# cd razor-agents-2.40
[root]# perl Makefile.PL
[root]# make
[root]# make test
[root]# make install
[root]# su amavis
[amavis]$ razor-client
[amavis]$ razor-admin -create
[amavis]$ razor-admin -register
[amavis]$ cd /var/spool/amavis/.razor
[amavis]$ vi razor-agent.conf
debuglevel=1
[amavis]$ exit
Configure reporting tools
[root]# cd /usr/local/sbin
[root]# vi pflogs.sh
[root]# chmod a+x pflogs.sh rejections.sh
[root]# cd /etc/logrotate.d
[root]# vi maillog
/usr/local/sbin/rejections.sh"
/usr/local/sbin/pflogs.sh
Configure SpamAssassin Rule updates
[root]# wget http://maxime.ritter.eu.org/Spam/rule-get
[root]# vi rule-get
my $real_path="/etc/mail/spamassassin"
[root]# chmod a+x rule-get
[root]# cd /etc/mail/spamassassin
[root]# rule-get get-rules
[root]# rule-get install BackHair Weeds2 ChickenPox BigEvil TripWire EvilNumbers
sa-blacklist sa-blacklist-uri AntiDrug bogus-virus-warnings SARE_Random
[root]# mv 65_backhair.cf 90_backhair.cf
[root]# mv 65_chickenpox.cf 90_chickenpox.cf
[root]# mv 65_weeds2.cf 90_weeds2.cf
[root]# vi 10_site_rules.cf
[root]# vi local.cf
trusted_networks 10.
use_razor2 1
[root]# crontab -e
5 23 * * * * /usr/local/sbin/rule-get update
33 1 * * * * /etc/postfix/exchange/update.sh
Set up Exchange Server import
**First, on gateway PC**
[root]# cd /etc/postfix
[root]# mkdir exchange
[root]# cd exchange
[root]# vi parse-exchange-users.pl
[root]# chmod a+x parse-exchange-users.pl
[root]# vi update.sh
[root]# chmod a+x update.sh
[root]# touch excludes
[root]# cd ..
[root]# vi relay_local
[root]# vi transport
[root]# touch client_access helo_access recipient_access sender_access
[root]# postmap relay_local transport *_access
[root]# vi aliases
[root]# postalias aliases
**Now on the Exchange Server**
d:> mkdir d:userexport
d:> cd userexport
d:userexport>
d:userexport>
d:userexport>
d:userexport> at 22:30 /every:M,T,W,Th,F "d:userexportrunexport.bat"
d:userexport> runexport.bat
**Back to Linux Server**
[root]# /etc/postfix/exchange/update.sh
[root]# chkconfig postfix on
[root]# chkconfig amavisd on
[root]# service amavisd start
[root]# postfix start
That's the end of it!