Jump to content

QMAIL WITH VPOPMAIL The Bank of Tokyo-Mitsubishi: Difference between revisions

From TetraWiki
No edit summary
No edit summary
 
Line 1: Line 1:
[[category:Tetra Clients]]
[[category:Bank of Tokoyo]]


==<center>'''IMPLEMENTATION OF QMAIL WITH VPOPMAIL '''</center>==
==<center>'''IMPLEMENTATION OF QMAIL WITH VPOPMAIL '''</center>==

Latest revision as of 09:02, 12 February 2013


IMPLEMENTATION OF QMAIL WITH VPOPMAIL
[edit]

The Bank of Tokyo-Mitsubishi UFJ, Ltd.
New Delhi


By Navdeep Mathur


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:


  1. netstat -tunlp | grep tcpserver
  2. telnet mail.in.bk.mufg.jp 110
  3. - check with login user and password
  4. telnet mail.in.bk.mufg.jp 25
  5. - check with send mail in same domain
  6. Configure thunderbird or evolution and check sending and receiving