qmail Installasi qmail di freebsd source yang di perlukan adalah qmail-1.03 ucspi-tcp-0.88 daemontool-0.76 pertama matikan MTA sendmail di /etc/rc.conf freebsd $ ee /etc/rc.conf ubah pada sendmail sendmail_enable="YES" menjad NO sekarang kita matikan total sendmailnya dengan cara: freebsd $ mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF freebsd $ mv /etc/rc.sendmail /etc/rc.sendmail.OFF freebsd $ chmod 0 /usr/sbin/sendmail.OFF freebsd $ chmod 0 /etc/rc.firewall Baik sekarang kita akan melakukan kompilasi qmail. saya letakan source qmail di /usr/local/src sekarang kita masuk ke /usr/local/src freebsd $ cd /usr/local/src freebsd $ tar -xvzf qmail-1.03.tar.gz freebsd $ cd qmail-1.03 freebsd $ ok, sekarang kita buat direktori untuk qmail di letakan freebsd $ mkdir /var/qmail freebsd $ mkdir /var/qmail/alias nah sekarang kita akan membuat user yang di pakai untuk qmail dengan cara: freebsd $ pwd /usr/local/src/qmail-1.03 freebsd $ cp INSTALL.ids ids freebsd $ ee ids hapuslah bagian yang tidak perlu karena yang diperlukan adalah: pw groupadd nofiles pw useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent pw useradd qmaild -g nofiles -d /var/qmail -s /nonexistent pw useradd qmaill -g nofiles -d /var/qmail -s /nonexistent pw useradd qmailp -g nofiles -d /var/qmail -s /nonexistent pw groupadd qmail pw useradd qmailq -g qmail -d /var/qmail -s /nonexistent pw useradd qmailr -g qmail -d /var/qmail -s /nonexistent pw useradd qmails -g qmail -d /var/qmail -s /nonexistent harus seperti di atas bila sudah sekarang kita kasih 700 freebsd $ chmod 700 ids freebsd $ sh ids ok, sekarang kita mulai untuk mengkompilasi qmail freebsd $ make setup check freebsd $./config # ini klo DNS kamu sudah ok klo belum ikuti yang ini freebsd $ ./config-fast namehost.domain.anda bila sudah selesai maka akan terbentuk sepertin ini di /var/qmail: drwxr-sr-x 2 alias qmail 512 Feb 27 00:08 alias drwxr-xr-x 2 root qmail 1024 Feb 26 22:03 bin drwxr-xr-x 2 root qmail 512 Feb 26 22:03 boot drwxr-xr-x 2 root qmail 512 Feb 26 22:03 configure drwxr-xr-x 2 root qmail 512 Feb 26 22:59 control drwxr-xr-x 2 root qmail 1024 Feb 26 22:03 doc drwxr-xr-x 10 root qmail 512 Feb 4 2000 man drwxr-x--- 11 qmailq qmail 512 Feb 3 2000 queue -rw-r--r-- 1 root qmail 205 Feb 26 22:440 rc drwxr-xr-x 2 root qmail 512 Feb 3 2000 users sekarang kita buat user yang bertanggung jawab terhadap mail server freebsd $ cd /var/qmail/alias freebsd $ echo "user" > .qmail-root freebsd $ echo "user" > .qmail-postmaster freebsd $ echo "user" > .qmail-mailer-daemon NB: user adalah salah satu user yang ada di system kamu biasanya yang bertanggung jawab terhadap mailserver bila sudah selesai sekarang kita buat direktory untuk qmail-send,log,dll seperti berikut: freebsd $ mkdir /service freebsd $ mkdir /var/qmail/supervise freebsd $ mkdir /var/qmail/supervise/qmail-send freebsd $ chmod +t /var/qmail/supervise/qmail-send freebsd $ mkdir /var/qmail/supervise/qmail-send/log freebsd $ mkdir /var/qmail/supervise/qmail-smtpd freebsd $ chmod +t /var/qmail/supervise/qmail-smtpd freebsd $ mkdir /var/qmail/supervise/qmail-smtpd/log freebsd $ mkdir /var/log/qmail freebsd $ mkdir /var/log/qmail/qmail-send freebsd $ mkdir /var/log/qmail/qmail-smtpd freebsd $ chown qmaill /var/log/qmail freebsd $ chown qmaill /var/log/qmail/* ok sekarang kita tinggal bikin script untuk menjalankan qmail dan letakan di direktory yang telah di buat tadi sebagai berikut: freebsd $ ee /var/qmail/rc #!/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 "`cat /var/qmail/control/defaultdelivery`" freebsd $ ee /var/qmail/supervise/qmail-send/run #!/bin/sh exec /var/qmail/rc freebsd $ ee /var/qmail/supervise/qmail-send/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s2500000\ /var/log/qmail/qmail-send 2>&1 freebsd $ ee /var/qmail/supervise/qmail-smtpd/run #!/bin/sh QMAILDUID=`id -u qmaild` NOFILESGID=`id -g qmaild` exec /usr/local/bin/softlimit -m 2000000 /usr/local/bin/tcpserver -v -p\ "$LOCAL" -x /etc/tcpserver/tcp.smtp.cdb -u "$QMAILDUID" -g "$NOFILESGID"\ 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 freebsd $ ee /var/qmail/supervise/qmail-smtpd/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s2500000\ /var/log/qmail/qmail-smtpd 2>&1 freebsd $ bila sudah selesai sekarang kita membuat link ke /service freebsd $ ln -s /var/qmail/supervise/* /service/ freebsd $ mkdir /etc/tcpserver freebsd $ee /etc/tcpserver/tcp.smtp 127.0.0.1:allow,RELAYCLIENT="" 192.168.1.:allow,RELAYCLIENT="" :allow dan terakhir adalah freebsd $ tcprules /etc/tcpserver/tcp.smtp.cdb /etc/tcpserver/tcp.smtp.tmp < /etc/tcpserver/tcp.smtp nah ada yang lupa script untuk ngejalanin qmailnya: freebsd $ ee /usr/local/etc/rc.d/qmailrc #!/bin/sh # For Red Hat chkconfig # chkconfig: - 80 30 # 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 else echo qmail-send supervise not running fi if svok /service/qmail-smtpd ; then svc -u /service/qmail-smtpd else echo qmail-smtpd 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 echo " qmail-send" svc -d /service/qmail-send 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 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 ;; cont) echo "Continuing qmail-send" svc -c /service/qmail-send echo "Continuing qmail-smtpd" svc -c /service/qmail-smtpd ;; restart) echo "Restarting qmail:" echo "* Stopping qmail-smtpd." svc -d /service/qmail-smtpd echo "* Sending qmail-send SIGTERM and restarting." svc -t /service/qmail-send echo "* Restarting qmail-smtpd." svc -u /service/qmail-smtpd ;; cdb) tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp chmod 644 /etc/tcp.smtp.cdb echo "Reloaded /etc/tcp.smtp." ;; help) cat <