Qmail Simpified Installation
Program yang perlu dipakai:
1. netqmail-1.05.tar.gz
2. ucspi-tcp-0.88.tar.gz
3. daemontools-0.76.tar.gz
4. checkpassword-0.90.tar.gz
1. Unpack and create directory
umask022
mkdir -p /usr/local/src
mv netqmail-1.05.tar.gz ucspi-tcp-0.88.tar.gz /usr/local/src
mkdir -p /package
mv daemontools-0.76.tar.gz /package
chmod 1755 /package
cd /usr/local/src
gunzip netqmail-1.05.tar.gz
tar xpf netqmail-1.05.tar
cd netqmail-1.05
./collate.sh
cd ..
gunzip ucspi-tcp-0.88.tar.gz
tar xpf ucspi-tcp-0.88.tar
rm *.tar
cd /package
gunzip daemontools-0.76.tar.gz
tar xpf daemontools-0.76.tar
rm *.tar
mkdir /var/qmail
mkdir /etc/qmail
ln -s /etc/qmail /var/qmail/control
2. Create user & Group
cp IDS /usr/local/src/netqmail-1.05/netqmail-1.05
cd /usr/local/src/netqmail-1.05/netqmail-1.05
chmod 700 IDS
./IDS
3. Build
cd /usr/local/src/netqmail-1.05/netqmail-1.05
make setup check
./config-fast contoh.com
4. Install uscpi-tcp & daemontools
cd /usr/local/src/ucspi-tcp-0.88
patch /var/qmail/control/defaultdelivery
cp qmailctl /var/qmail/bin/qmailctl
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin
6. Create supervise for qmail-send & qmail-smtpd
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
cp qmail-send.run /var/qmail/supervise/qmail-send/run
cp qmail-send.log.run /var/qmail/supervise/qmail-send/log/run
cp qmail-smtpd.run /var/qmail/supervise/qmail-smtpd/run
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
cp qmail-smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
mkdir -p /var/log/qmail/smtpd
chown qmaill /var/log/qmail /var/log/qmail/smtpd
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
qmailctl stop
7. Create rule & replace sendmail
echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp
qmailctl cdb
/etc/init.d/sendmail stop
rpm -e --nodeps sendmail
mv /usr/lib/sendmail /usr/lib/sendmail.old
mv /usr/sbin/sendmail /usr/sbin/sendmail.old
chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old
ln -s /var/qmail/bin/sendmail /usr/lib
ln -s /var/qmail/bin/sendmail /usr/sbin
Simplified Qmail Installation,
by Proweb Professional Web Developer
www.prowebpro.com
Page 2 of 8
8. Install checkpassword for pop3
gunzip checkpassword-0.90.tar.gz
tar -xf checkpassword-0.90.tar
cd checkpassword-0.90
make
make setup check
cp checkpassword ./bin
patch /var/qmail/users/assign
/var/qmail/bin/qmail-newu
chmod a+rx /home -R
13. Test with smtp & pop3
APPENDIX
1. /usr/local/src/netqmail-1.05/netqmail-1.05/IDS
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail -d /var/qmail qmails
2. /var/qmail/rc
#!/bin/sh
# Using stdout for logging
# Using control/defaultdelivery from qmail-local to deliver messages by default
Simplified Qmail Installation,
by Proweb Professional Web Developer
www.prowebpro.com
Page 3 of 8
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start "`cat /var/qmail/control/defaultdelivery`"
3./var/qmail/bin/qmailctl
#!/bin/sh
# description: the qmail MTA
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
export PATH
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
case "$1" in
start)
echo "Starting qmail"
if svok /service/qmail-send ; then
svc -u /service/qmail-send /service/qmail-send/log
else
echo "qmail-send supervise not running"
fi
if svok /service/qmail-smtpd ; then
svc -u /service/qmail-smtpd /service/qmail-smtpd/log
else
echo "qmail-smtpd supervise not running"
fi
if svok /service/qmail-pop3d ; then
svc -u /service/qmail-pop3d /service/qmail-pop3d/log
else
echo qmail-pop3d supervise not running
fi
if [ -d /var/lock/subsys ]; then
touch /var/lock/subsys/qmail
fi
;;
stop)
echo "Stopping qmail..."
echo " qmail-smtpd"
svc -d /service/qmail-smtpd /service/qmail-smtpd/log
echo " qmail-send"
svc -d /service/qmail-send /service/qmail-send/log
echo " qmail-pop3d"
svc -d /service/qmail-pop3d /service/qmail-pop3d/log
if [ -f /var/lock/subsys/qmail ]; then
rm /var/lock/subsys/qmail
fi
;;
stat)
svstat /service/qmail-send
svstat /service/qmail-send/log
svstat /service/qmail-smtpd
svstat /service/qmail-smtpd/log
Simplified Qmail Installation,
by Proweb Professional Web Developer
www.prowebpro.com
Page 4 of 8
svstat /service/qmail-pop3d
svstat /service/qmail-pop3d/log
qmail-qstat
;;
doqueue|alrm|flush)
echo "Flushing timeout table and sending ALRM signal to qmail-send."
/var/qmail/bin/qmail-tcpok
svc -a /service/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo "Sending HUP signal to qmail-send."
svc -h /service/qmail-send
;;
pause)
echo "Pausing qmail-send"
svc -p /service/qmail-send
echo "Pausing qmail-smtpd"
svc -p /service/qmail-smtpd
echo "Pausing qmail-pop3d"
svc -p /service/qmail-pop3d
;;
cont)
echo "Continuing qmail-send"
svc -c /service/qmail-send
echo "Continuing qmail-smtpd"
svc -c /service/qmail-smtpd
echo "Continuing qmail-pop3d"
svc -c /service/qmail-pop3d
;;
restart)
echo "Restarting qmail:"
echo "* Stopping qmail-smtpd."
svc -d /service/qmail-smtpd /service/qmail-smtpd/log
echo "* Sending qmail-send SIGTERM and restarting."
svc -t /service/qmail-send /service/qmail-send/log
echo "* Restarting qmail-smtpd."
svc -u /service/qmail-smtpd /service/qmail-smtpd/log
echo "* Restarting qmail-pop3d."
svc -t /service/qmail-pop3d /service/qmail-pop3d/log
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp &1
7. /var/qmail/supervise/qmail-smtpd/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd
8. /var/qmail/supervise/qmail-pop3d/run
#!/bin/sh
exec /usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup \
contoh.com /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
9. /var/qmail/supervise/qmail-pop3d/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t \
/var/log/qmail/pop3d
10. For more information visit
http://www.qmail.org
Qmail with single system account
1. adduser popuser, edit so uid=888, gid=888
2. Compile checkpoppasswd.c and copy to /bin/
3. edit to /var/qmail/control/rcpthost like this:
klaten.com
solo.com
4. Create directory
mkdir /email
mkdir /email/klaten.com
mkdir /email/solo.com
5. edit /var/qmail/control/virtualdomains like:
klaten.com:klaten-com
solo.com:solo-com
6. create user camat@klaten.com and bupati@solo.com in /var/qmail/users/assign like
=klaten-com-camat:popuser:888:888:/email/klaten.com/camat:::
=solo-com-bupati:popuser:888:888:/email/solo.com/bupati:::
.
7. Chmod a+x mkpasswd.pl
8. Cp mkpasswd.pl to /bin
9. Create password using mkpasswd.pl
ex mkpasswd.pl camatjuga, and mkpasswd.pl bupatijuga
the result copy past to /var/qmail/users/poppasswd like
camat@klaten.com:abcdellss:popuser:/email/klaten.com/camat
bupati@solo.com:jdglkgl:popuser:/email/solo.com/bupati
10. create Maildir and change owner and group to popuser
mkdir /email/klaten.com/camat
mkdir /email/solo.com/bupati
/var/qmail/bin/maildirmake /email/klaten.com/camat/Maildir/
/var/qmail/bin/maildirmake /email/solo.com/bupati/Maildir/
Simplified Qmail Installation,
by Proweb Professional Web Developer
www.prowebpro.com
Page 7 of 8
chown popuser /email/ -R
chown popuser /email/ -R
11. do
/var/qmail/bin/qmail-newu
12. edit /var/qmail/supervise/qmail-pop3d/run , change checkpassword to checkpoppasswd
13. Restart Qmail
14. Testing sending and reading
Simplified Qmail Installation,
by Proweb Professional Web Developer
www.prowebpro.com
Page 8 of 8