Script Supervise
Penggunaan daemontools untuk mengelola qmail dilakukan dengan menyediakan script-script yang berisi perintah untuk menjalankan service-service, seperti perintah menjalan daemon SMTP atau POP3 yang telah dilakukan sebelumnya. Script-script tersebut harus disediakan di direktori /service berupa file bernama ‘run’. Jangan khawatir jika anda tidak mempunyai ide mengenai script yang akan digunakan untuk menjalankan service-service tersebut, karena akan disediakan panduan untuk mempersiapkan cara penggunaan daemontools untuk menjalankan service-service qmail.
Daemon Script
Pada tahap ini kita akan memindahkan perintah-perintah untuk menjalankan daemon-daemon qmail ke dalam script supervise. Sejauh ini ada tiga daemon yang kita perlukan (dan sudah dijalankan), yaitu qmail-send,qmail-smptd dan qmail-pop3d. Perintah-perintah tersebut akan diletakkan dalam script yang terdapat di dalam direktori /var/qmail/supervise. Buatlah direktori-direktori script tersebut.
# mkdir -p /var/qmail/supervise/qmail-{send,smtpd,pop3d}Lalu buatlah script ‘run’ di dalam masing-masing direktori script daemon itu, yang mana script run ini berisi perintah-perintah menjalankan daemon yang bersangkutan. Contoh:
Script supervise qmail-send
#!/bin/shScript supervise qmail-smtpd
# /var/qmail/supervise/qmail-send/run
exec /var/qmail/rc
#!/bin/sh
# /var/qmail/supervise/qmail-smtpd/run
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
LOCAL=`head -1 /var/qmail/control/me`
MAXSMTPD=120
if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]
then
echo QMAILDUID, NOFILESGID or LOCAL is unset in
echo /var/qmail/supervise/qmail-smtpd/run
exit 1
fi
exec /usr/local/bin/softlimit -m 20000000 \
/usr/local/bin/tcpserver -v -R -l "$LOCAL" -c "$MAXSMTPD" \
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
Script supervise qmail-pop3d
#!/bin/sh
# /var/qmail/supervise/qmail-pop3d/run
exec /usr/local/bin/softlimit -m 8000000 \
/usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup \
FQDN /bin/checkpassword /var/qmail/bin/qmail-pop3d ./Maildir/ 2>&1
JANGAN lupa mengganti FQDN dengan hostname server saat ini.
Setelah itu berilah izin eksekusi untuk tiap-tiap script itu.
# chmod 755 /var/qmail/supervise/qmail-*/runDengan keberadaan script-script supervise ini, sudah bisa digunakan oleh daemontools untuk memonitor proses-proses daemon qmail. Namun perlu diperhatikan, bahwa sebelumnya kita sudah menjalankan daemon-daemon tersebut melalui command line. Untuk mencegah konflik penggunaan port service, maka daemon yang telah dijalankan sebelumnya harus dihentikan dahulu prosesnya.
# killall qmail-sendBarulah kemudian aman bagi anda untuk menjalankan ’svscan’ daemontools untuk memonitor daemon-daemon qmail. Dengan membuat symbolic link di dalam direktori /service ke script-script daemon, akan menyebabkan svscan memonitor service bersangkutan secara periodik. Jika saat di monitor service tidak berjalan, maka svscan akan mencoba untuk menjalankan service bersangkutan. Dengan demikian, anda tidak direpotkan untuk membuat script init layaknya jika ingin menjalan daemon lain (apache misalnya).
# killall tcpserver
Saat ini cobalah periksa port service yang terbuka, lihatlah apakah port 25 dan 110 tersedia (seharusnya tidak)
# netstat -plnLalu buatlah symbolic link untuk script-script daemon qmail di dalam direktori /service
# ln -s /var/qmail/supervise/qmail-{send,smtpd,pop3d} /service/Dalam beberapa detik, svscan akan menjalankan daemon-daemon qmail. Periksalah keberadaannya
# svstat /service/qmail-*Seperti anda saksikan, saat ini tiga modul qmail telah berjalan dengan bantuan daemontools. Periksa ketersediaan port servicenya
/service/qmail-send: up (pid 2238) 8 seconds
/service/qmail-smtpd: up (pid 2241) 8 seconds
/service/qmail-pop3d: up (pid 2242) 8 seconds
# netstat -plnPeriksalah bahwa sekarang telah terbuka service SMTP di port 25 dan POP3 di port 110.
Wah Thanks you atas informasinya tentang sendmailnya
Comment by Soni — October 6, 2009 @ 8:19 pm