QMAIL WITH VPOPMAIL The Bank of Tokyo-Mitsubishi: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
[[category:Tetra | [[category:Tetra Clients]] | ||
==<center>'''IMPLEMENTATION OF QMAIL WITH VPOPMAIL '''</center>== | ==<center>'''IMPLEMENTATION OF QMAIL WITH VPOPMAIL '''</center>== | ||
Revision as of 12:12, 28 November 2012
IMPLEMENTATION OF QMAIL WITH VPOPMAIL
Note : This document is not still completed due to lacking of Information regarding smtp routes
Ensure rpmforge and epel repos are enabled.
Switch off SELinux.
Flush Iptables rules
Create directory for downloading required packages:
# mkdir /downloads
# cd /downloads
Download all required packages
wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gz
wget http://qmail.jms1.net/patches/qmail-1.03-jms1.7.08.patch
Install Packages on Server
yum install php53 perl gcc gcc-c++ openssl openssl-devel gdbm-devel -y
Create initial qmail directories:
mkdir -p /var/qmail
mkdir /usr/src/qmail
mkdir /downloads
#Extract qmailrocks here
Creating all needed users and groups:
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias -s /sbin/nologin -p'*' alias
useradd -g nofiles -d /var/qmail -s /sbin/nologin -p'*' qmaild
useradd -g nofiles -d /var/qmail -s /sbin/nologin -p'*' qmaill
useradd -g nofiles -d /var/qmail -s /sbin/nologin -p'*' qmailp
groupadd qmail
useradd -g qmail -d /var/qmail -s /sbin/nologin -p'*' qmailq
useradd -g qmail -d /var/qmail -s /sbin/nologin -p'*' qmailr
useradd -g qmail -d /var/qmail -s /sbin/nologin -p'*' qmails
groupadd vchkpw
useradd -g vchkpw -d /home/vpopmail -s /sbin/nologin -p'*' vpopmail
Unpack qmail and apply the qmailjms patch :
cd /usr/src/qmail
tar -zxvf /downloads/qmailrocks/qmail-1.03.tar.gz
tar -zxvf /downloads/qmailrocks/ucspi-tcp-0.88.tar.gz
cd /usr/src/qmail/qmail-1.03/
patch < /downloads/qmail-1.03-jms1.7.08.patch
make man
make setup check
Creating qmail control files:
echo ./Maildir > /var/qmail/control/defaultdelivery
echo in.bk.mufg.jp > defaultdomain
echo 120 > /var/qmail/control/concurrencyremote
echo 120 > /var/qmail/control/concurrencyincoming
echo 10000 > /var/qmail/control/defaultquotacount
echo 10000000 > /var/qmail/control/defaultquotasize
echo /var/qmail/bin/dirmaker > /var/qmail/control/dirmaker
echo 640000000 > var/qmail/control/qmail-smtpd-softlimit
echo 80000000 > var/qmail/control/qmail-pop3d-softlimit
echo 3 > var/qmail/control/qmail-pop3d-loglevel
echo 3 > var/qmail/control/qmail-start-loglevel
echo mail.in.bk.mufg.jp > me
echo in.bk.mufg.jp > rcpthosts
ln -s rcpthosts locals
Unpacking ucspi-tcpi and apply the error patch:
cd /usr/src/qmail
tar -zxvf /downloads/qmailrocks/ucspi-tcp-0.88.tar.gz
cd /usr/src/qmail/qmail-1.03/
patch < /downloads/qmail-1.03-jms1.7.08.patch
make man
make setup check
Unpacking daemontools and apply daemontools-error patch:
mkdir -p /package
chmod 1755 /package
cd /package
tar -xvzf /downloads/qmailrocks/daemontools-0.76.tar.gz
cd /package/admin/daemontools-0.76/src
patch < /downloads/qmailrocks/patches/daemontools-0.76.errno.patch
cd /package/admin/daemontools-0.76
package/install
/command/svscanboot & (optional)
#vim /etc/rc.local
/command/svscanboot
chmod 755 /etc/rc.local
Creating the supervise script directories:
mkdir /var/qmail/supervise
cd /var/qmail/supervise
mkdir -p qmail-smtpd/log qmail-send/log qmail-pop3d/log
chmod +t qmail-smtpd qmail-send qmail-pop3d
cp /downloads/qmailrocks/scripts/finalize/linux/pop3d_run /var/qmail/supervise/qmail-pop3d/run
# change mail.example .com to your hostname
cp /downloads/qmailrocks/scripts/finalize/linux/pop3d_log /var/qmail/supervise/qmail-pop3d/log/run
cp /downloads/qmailrocks/scripts/finalize/linux/smtpd_run /var/qmail/supervise/qmail-smtpd/run
# change mail.example .com to your hostname
cp /downloads/qmailrocks/scripts/finalize/linux/smtpd_log /var/qmail/supervise/qmail-smtpd/log/run
cp /downloads/qmailrocks/scripts/finalize/linux/send_run /var/qmail/supervise/qmail-send/run
cp /downloads/qmailrocks/scripts/finalize/linux/send_log /var/qmail/supervise/qmail-send/log/run
cp /downloads/qmailrocks/scripts/finalize/rc /var/qmail/
cp /downloads/qmailrocks/scripts/finalize/qmailctl /var/qmail/bin/
Set permissions of all qmail supervise run scripts:
chmod 755 /var/qmail/rc /var/qmail/bin/qmailctl
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /var/qmail/supervise/qmail-pop3d /service/
Creating auto directory maker script:
#!/bin/sh
echo '----------------------------------------------' >> /tmp/dirmaker
date >> /tmp/dirmaker
echo $1 >> /tmp/dirmaker
id >> /tmp/dirmaker
mkdir --parents -m 700 -p $1/Maildir
mkdir --parents -m 700 -p $1/Maildir/tmp
mkdir --parents -m 700 -p $1/Maildir/cur
mkdir --parents -m 700 -p $1/Maildir/new
chown -R vmail:vmail $1
Set permission :
chmod 755 /var/qmail/rc /var/qmail/bin/dirmaker
Create tcp.smtp file to appy tcprules:(TEMPORARY)
127.:allow,RELAYCLIENT="",MAXRCPTCOUNT="200"
192.168.:allow
allow,BLOCKRELAYPROBE="",RCPTCHECK="",SANITYCHECK="",RETURNMXCHECK="STRICT",RBL="",REJECTEXEC="",LOGLEVEL="3",TARPITCOUNT="10",TARPITDELAY="10",SMTPAUTH="",MAXRCPTCOUNT="25"
Creating qmail logging directories and set permissions:
mkdir /var/log/qmail
cd /var/log/qmail
mkdir qmail-send qmail-smtpd qmail-pop3d
chown -R qmaill:root /var/log/qmail
chmod -R 750 /var/log/qmail
Creating qmail alias users, links and set permissions:
cd /var/qmail
cp -p /downloads/qmailrocks/scripts/finalize
/qmailctl /var/qmail/bin/
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin/
qmailctl cdb
echo admin@in.bk.mufg.jp > /var/qmail/alias/.qmail-root
echo admin@in.bk.mufg.jp > /var/qmail/alias/.qmail-postmaster
echo admin@in.bk.mufg.jp > /var/qmail/alias/.qmail-mailer-daemon
ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous
chmod 644 /var/qmail/alias/.qmail*
Stop sendmail and remove all related files:
/etc/init.d/sendmail stop
chkconfig sendmail off
mv /usr/lib/sendmail /usr/lib/sendmail.org
mv /usr/sbin/sendmail /usr/sbin/sendmail.org
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
Install all required packages for Qmail-Scanner:
yum perl-suidperl perl-Digest-SHA1 perl-Digest-HMAC perl-Net-DNS
perl-Time-HiRes* perl-HTML-Tagset perl-HTML-Parser perl-Pod-Usage*
perl-Parse-Syslog perl-Statistics-Distributions spamassassin clamav clamd
Add user "qscand" for scanning:
useradd -c "Qmail-Scanner Account" -s /bin/false -m qscand
Change user clamav to qscand:
vim /etc/logrotate.d/clamav [Change clamav to qscand]
/var/log/clamav/clamd.log {
missingok
notifempty
create 644 qscand qscand
postrotate
killall -HUP clamd 2>/dev/null || :
endscript
}
vim /etc/logrotate.d/freshclam [Change clamav to qscand]
/var/log/clamav/freshclam.log {
missingok
notifempty
create 644 qscand qscand
}
vim /etc/clamd.conf
User qscand
vim /etc/freshclam.conf
DatabaseOwner qscand
chown qscand.qscand /var/log/clamav/ -R
chown -R qscand.qscand /var/run/clamav/
/etc/init.d/clamd restart
/etc/init.d/spamassassin restart
Install Qmail-Scanner:
cd /downloads/qmailrocks
tar zxvf qmail-scanner-1.2
cd qmail-scanner-2.08/
./configure --admin admin --domain in.bk.mufg.jp
mkdir -p /var/spool/qscan
mkdir -p /var/spool/qscan/quarantine/viruses/tmp
/var/spool/qscan/quarantine/viruses/cur
/var/spool/qscan/quarantine/viruses/new
mkdir -p /var/spool/qscan/quarantine/spam/tmp
/var/spool/qscan/quarantine/spam/cur /var/spool/qscan/quarantine/spam/new
mkdir -p /var/spool/qscan/quarantine/policy/tmp
/var/spool/qscan/quarantine/policy/cur
/var/spool/qscan/quarantine/policy/new
mkdir -p /var/spool/qscan/working/tmp /var/spool/qscan/working/cur
/var/spool/qscan/working/new
mkdir -p /var/spool/qscan/archive/tmp /var/spool/qscan/archive/cur
/var/spool/qscan/archive/new
cp /downloads/qmail-scanner-2.08/quarantine-events.txt /var/spool/qscan/
chown -R qscand:qscand /var/spool/qscan/
cp -pv /downloads/qmailrocks/qmail-scanner-2.08/qmail-scanner-queue.pl /var/qmail/bin/
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
/var/qmail/bin/qmail-scanner-queue.pl -g
cp -v /downloads/qmail-scanner-2.08/contrib/logrotate.qmail-scanner
/etc/logrotate.d/qmail-scanner
/etc/init.d/syslog restart
Integrate Qmail-scanner with qmail queue:
vim /var/qmail/supervise/qmail-smtpd/run
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" ; export QMAILQUEUE
Check Qmail-scanner Installation:
su - tetra
/var/qmail/bin/qmail-scanner-queue.pl -g
/root/downloads/qmail-scanner-2.08/contrib/test_installation.sh -doit
###[ This step generate 2 spam mails and send to the admin e-mail account]###
Installation of VPOP MAIL :
cd /downloads/qmailrocks/
tar -zxvf vpopmail-5.4.13.tar.gz
cd vpopmail-5.4.13
./configure
make
make install-strip
echo "150.25.2.:allow,RELAYCLIENT=\"\"" >> ~vpopmail/etc/tcp.smtp
Create Domain :
./vadddomain in.bk.mufg.jp
ADD USER :
./vadduser navdeep@in.bk.mufg.jp asd1234f
Troubleshooting:
- netstat -tunlp | grep tcpserver
- telnet mail.in.bk.mufg.jp 110
- - check with login user and password
- telnet mail.in.bk.mufg.jp 25
- - check with send mail in same domain
- Configure thunderbird or evolution and check sending and receiving