How To Install Qmail Mail Server

January 26, 2010 at 1:34 am (Computer Networking)

Proses Instalasi Qmail Mail Server
Langkah-langkah yang harus dilakukan adalah :
1. Mendownload paket-paket minimal untuk keperluan MTA Qmail pada directory /usr/local/src/
• qmail 1.03
• ucspi-tcp-0.88.tar.gz
• daemontools-0.70.tar.gz
• checkpassword-0.81.tar.gz
2. Ekstrak masing-masing paket tersebut :
# cd /usr/local/src
# tar -zxvf qmail-1.03.tar.gz
# tar -zxvf ucspi-tcp-0.88.tar.gz
# tar -zxvf daemontools-0.61.tar.gz
# tar -zxvf checkpassword-0.81.tar.gz
3. Buat home direktori untuk qmail:
# mkdir /var/qmail
4. Buat user-user dan group-group yang akan akan menjalankan qmail
# groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
# useradd -g nofiles -d /var/qmail -s /bin/false qmaild
# useradd -g nofiles -d /var/qmail -s /bin/false qmaill
# useradd -g nofiles -d /var/qmail -s /bin/false qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail -s /bin/false qmailq
# useradd -g qmail -d /var/qmail -s /bin/false qmailr
# useradd -g qmail -d /var/qmail -s /bin/false qmails
5. Kompilasi qmail
# cd /usr/local/src/qmail-1.03
# make setup check
6. Konfigurasi qmail
# ./config
Script di atas berusaha melakukan reverse DNS lookup untuk semua local IP address dan
menentukan nama host yang akan menerima email. Apabila config tidak menemukan nama host
tersebut, maka jalankan script config-fast
# ./config-fast your.full.host.name
contoh :
# ./config-fast mycompany.com
7. Kompilasi dan insstall paket ucspi-tcp dan daemontools
# cd /usr/local/src/ucspi-tcp-0.88
# make
# make setup check
# cd /usr/local/src/daemontools-0.61
# make
# make setup check
# cd /usr/local/src/checkpassword-0.81.tar.gz
# make
# make setup check
8. Buat file qmail boot script (Copy file /var/qmail/boot/home menjadi /var/qmail/rc)
# cp /var/qmail/boot/home /var/qmail/rc
Jika jenis mailbox yang akan digunakan adalah maildir, maka edit file tersebut di atas dengan
mengganti ./Mailbox menjadi ./Maildir/ dan hapus splogger qmail. Dengan demikian isi
/var/qmail/rc menjadi:
#!/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.
exec env – PATH=”/var/qmail/bin:$PATH” \
qmail-start ./Mailbox splogger qmail
9. eksekusi file rc tersebut agar dapat dijalankan (di execute)
# chmod 755 /var/qmail/rc
10. membuat directory daemontools dan log file.
#mkdir /service
#mkdir /var/qmail/supervise
#mkdir /var/qmail/supervise/qmail-send
#chmod +t /var/qmail/supervise/qmail-send
#mkdir /var/qmail/supervise/qmail-send/log
#mkdir /var/qmail/supervise/qmail-smtpd
#chmod +t /var/qmail/supervise/qmail-smtpd
#mkdir /var/qmail/supervise/qmail-smtpd/log
#mkdir /var/log/qmail
#mkdir /var/log/qmail/qmail-send
#mkdir /var/log/qmail/qmail-smtpd
#chown qmaill /var/log/qmail
#chown qmaill /var/log/qmail/*
11. membuat script untuk menjalankan svscan, simpan di /etc/rc.d/init.d/
#!/bin/sh -e
# /usr/local/etc/rc.d/svscan.sh : start or stop svscan.
case “$1” in
start)
echo -n “Starting djb services: svscan ”
env – PATH=”/usr/local/bin:$PATH” svscan /service &
echo
$! > /var/run/svscan.pid
echo “.”
;;
stop)
echo -n “Stopping djb services: svscan ”
kill `cat /var/run/svscan.pid`
echo -n “services ”
svc -dx /service/*
echo -n ” logging ”
svc -dx /service/*/log
echo “.”
;;
restart|reload|force-reload)
$0 stop
$0 start
;;
*)
echo ‘Usage: /etc/init.d/svscan {start|stop|restart}’
exit 1
esac
exit 0
12. eksekusi file svscan tersebut agar dapat dijalankan (di execute)
# chmod 755 /etc/rc.d/init.d/svscan
13. membuat script untuk menjalankan qmail, simpan di /etc/rc.d/init.d/
#!/bin/sh -e
# /etc/init.d/qmail : start or stop the qmail mail subsystem.
# borrowed from http://Web.InfoAve.Net/~dsill/lwq.html#start-qmail
# modified by Adam McKenna <adam@flounder.net>
PATH=$PATH:/usr/local/bin:/var/qmail/bin
case “$1” in
start)
echo -n “Starting mail-transport-agent:”
svc -u /var/qmail/supervise/*
echo -n ” qmail”
svc -u /var/qmail/supervise/*/log
echo ” logging.”
;;
stop)
echo -n “Stopping mail-transport-agent: ”
echo -n ” qmail”
svc -d /var/qmail/supervise/*
echo ” logging”
svc -d /var/qmail/supervise/*/log
;;
restart)
$0 stop
$0 start
;;
reload|force-reload)
echo “Reloading ‘locals’ and ‘virtualdomains’ control files.”
start-stop-daemon –stop –quiet –oknodo –signal HUP –exec /usr/sbin/qmail-send
;;
*)
echo ‘Usage: /etc/init.d/qmail {start|stop|restart|reload}’
exit 1
esac
exit 0
14. eksekusi file qmail tersebut agar dapat dijalankan (di execute)
# chmod 755 /etc/rc.d/init.d/qmail
15. Membuat script dengan nama run untuk menjalankan qmail-send di
/var/qmail/supervise/qmail-send/
#!/bin/sh
exec /var/qmail/rc
16. eksekusi file run tersebut agar dapat dijalankan (di execute)
# chmod 755 /var/qmail/supervise/qmail-send/run
17. Membuat script dengan nama run untuk menjalankan log di /var/qmail/supervise/qmail-
send/log/
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s2500000 /var/log/qmail/qmail-send
18. eksekusi file run tersebut agar dapat dijalankan (di execute)
# chmod 755 /var/qmail/supervise/qmail-send/log/run
19. Membuat script dengan nama run untuk menjalankan qmail-smtpd di
/var/qmail/supervise/qmail-smtpd/
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -v -p -x /etc/tcpserver/tcp.smtp.cdb \
-u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
20. eksekusi file run tersebut agar dapat dijalankan (di execute)
# chmod 755 /var/qmail/supervise/qmail-smtpd/run
21. Membuat script dengan nama run untuk menjalankan log di /var/qmail/supervise/qmail-
smtpdlog/
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s2500000 /var/log/qmail/qmail-smtpd
22. eksekusi file run tersebut agar dapat dijalankan (di execute)
# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
23. Membuat link file-file yang ada di dalam /var/qmai/supervise/* dan /service
#ln -s /var/qmail/supervise/* /service/
24. Membuat Relay SMTP
#mkdir /etc/tcpserver
#vi /etc/tcpserver/tcp.smtp
127.0.0.1:allow,RELAYCLIENT=””
192.168.1.:allow,RELAYCLIENT=””
:allow
25. Membuat database binari yang akan digunakan sebagai rule tcpserver
#tcprules /etc/tcpserver/tcp.smtp.cdb /etc/tcpserver/tcp.smtp.tmp < /etc/tcpserver/tcp.smtp
26. Buat system alias:
keterangan : andri adalah user yang sudah terdaftar dalam sistem
#mkdir /var/qmail/alias
# echo andri > /var/qmail/alias/.qmail-root
# echo andri > /var/qmail/alias/.qmail-postmaster
# ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon
# chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster
27. Jika user yang menjadi anggota qmail adalah user yang terdaftar di /etc/passwd, maka buat
Maildir pada setiap direktori home user yang bersangkutan:
# /var/qmail/bin/maildirmake ~andri/Maildir
# echo ./Maildir/ > ~andri/.qmail
# cd ~andri
# chown -R andri:andri /Maildir
# chown andri:andri .qmail
28. Jika semua user baru yang akan terdaftar pada /etc/passwd juga akan menjadi anggota
qmail, maka buat direktori Maildir pada direktori /etc/skel
# /var/qmail/bin/maildirmake /etc/skel/Maildir
# echo ./Maildir/ > /etc/skel/.qmail
29. Hentikan dan hapus MTA Sendmail yang telah terinstal sebelumnya:
# /etc/rc.d/init.d/sendmail stop
# kill PID-of-Sendmail
# rpm -e –nodeps sendmail
30. Replace semua /usr/lib/sendmail dengan qmail
# mv /usr/lib/sendmail /usr/lib/sendmail.old # ignore errors
# mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ignore errors
# chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old # ignore errors
# ln -s /var/qmail/bin/sendmail /usr/lib
# ln -s /var/qmail/bin/sendmail /usr/sbin
31. membuat file pop-start di /etc/rc.d/init.d untuk menlankan POP3
#!/bin/sh
env – PATH=”/var/qmail/bin:/usr/local/bin”
tcpserver -v -R 0 pop3 /var/qmail/bin/qmail-popup mycompany.com /bin/checkpassword
/var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d &
32.. Test hasil instalasi dengan mengikuti langkah yang dijelaskan pada file
/var/qmail/doc/TEST.deliver dan /var/qmail/doc/TEST.receive
32. bila semua script sudah berjalan dengan sempurna, masukkan ke dalam /etc/rc.d/rc.local,
agar setiap sistem dijalankan, maka qmail tersebut akan otomatis running.
/etc/rc.d/init.d/qmail start
/etc/rc.d/init.d/svscan start
/etc/rc.d/init.d/pop-start
Sumber :
http://bdg.centrin.net.id/~budsan02/qmail.htm
http://bandung.linux.or.id/article.php?sid=89
service qmail yang jalan adalah sebagai berikut :
supervise qmail-send
supervise qmail-smtpd
qmail-send
/usr/local/bin/multilog t s2500000 /var/log/qmail/qmail-send
/usr/local/bin/multilog t s2500000 /var/log/qmail/qmail-smtpd
splogger qmail
qmail-lspawn ./Mailbox
qmail-rspawn
qmail-clean
tcpserver -v -R 0 pop3 /var/qmail/bin/qmail-popup mycompany.com bla..bla..bla
/var/qmail/bin/splogger pop3d

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: