INSTALL QMAIL di Linux Cara gampang: pake RPM ! cari paket yang sesuai dengan linux yang digunakan RPM yang sudah pernah saya coba adalah RPM untuk linux dengan inetd Baiknya melakukan patch pada source sesuai kebutuhan, Source qmail dan beberapa pacth dapat diambil di: http://em.ca/~bruceg/qmail+patches/ --- echo "Download semua packages yang dibutuhkan ..." # # pacth untuk oversize DNS packet pada qmail: big-todo.103.patch # patch agar qmail dapat maksimum melakukan proses pengiriman paralel sampai 200 proses: big-concurrency.patch # daemon tools untuk koneksi client-server (seperti inetd): ucspi-tcp, # tools untuk menanagemen prose daemon: daemontools, # tools anti email spam: rblsmtpd # binary database untuk mempercepat pembacaan file konfgirasi (control): cdb nohup wget -t0 ftp://koobera.math.uic.edu/www/software/qmail-1.03.tar.gz nohup wget -t0 http://www.ckdhr.com/ckd/qmail-103.patch nohup wget -t0 http://www.qmail.org/big-todo.103.patch nohup wget -t0 http://www.qmail.org/big-concurrency.patch nohup wget -t0 ftp://koobera.math.uic.edu/www/software/ucspi-tcp-0.88.tar.gz nohup wget -t0 ftp://koobera.math.uic.edu/www/daemontools/daemontools-0.61.tar.gz nohup wget -t0 ftp://koobera.math.uic.edu/www/software/rblsmtpd-0.70.tar.gz nohup wget -t0 ftp://koobera.math.uic.edu/www/cdb/cdb-0.75.tar.gz # Download juga beberapa tools yang penting seperti : # # tools untuk support alias (/etc/alias) sendmail: fastforward # tools untuk suport email forward menggunakan file .forward: dotforward # tools untuk mengalisis record dari aktifitas qmail: qmailanalog # tools untuk authentivikasi user untuk POP3: checkpassword nohup wget -t0 ftp://koobera.math.uic.edu/www/software/fastforward-0.51.tar.gz nohup wget -t0 ftp://koobera.math.uic.edu/www/software/dot-forward-0.71.tar.gz nohup wget -t0 ftp://koobera.math.uic.edu/www/software/qmailanalog-0.70.tar.gz nohup wget -t0 ftp://koobera.math.uic.edu/www/software/checkpassword-0.81.tar.gz echo "Download qmail start up file" nohup wget -t0 http://Web.InfoAve.net/~dsill/qmail-script-dt61.txt # --- if [ $# != 1 ]; then echo not enough argument; exit 0; fi $1=HOSTNAME echo "Ekstrak semua packages..." sleep 5 tar zxvf qmail-1.03.tar.gz tar zxvf ucspi-tcp-0.85.tar.gz tar zxvf daemontools-0.61.tar.gz tar zxvf rblsmtpd-0.70.tar.gz tar zxvf cdb-0.75.tar.gz tar zxvf vpopmail-3.4.11.tar.gz echo "Buat direktori defaut dimana qmail diinstall (/var/qmail)" mkdir -p /var/qmail echo "Buat UID dan GID buat qmail.." sleep 5 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 echo "Mulai install qmail ..." sleep 5 cp qmail-103.patch qmail-1.03/ cd qmail-1.03/ patch < qmail-103.patch make setup check ./config-fast $HOSTNAME echo "Mulai install Ucspi-tcp ... " sleep 5 cd ../ucspi-tcp-0.85/ make; make setup check echo "Mulai install daemontools ..." sleep 5 cd ../daemontools-0.61/ make; make man; make setup check echo "Mulai install rblsmtpd ..." sleep 5 cd ../rblsmtpd-0,70/ make setup check echo "Mulai install cdb ..." sleep 5 cd ../cdb-0.75/ make; make setup check echo "Setup untuk qmail ..." echo "Set default spool mail buat user adalah Maildir/" sleep 5 cd ../ echo ./Maildir/ > var/qmail/control/defaultdelivery cat > /var/qmail/rc << __EOF #!/bin/sh # Using stdout for logging # Using control/defaultdelivery from qmail-local to deliver messages by default exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start "`cat /var/qmail/control/defaultdelivery`" splogger qmail __EOF echo "Setup untuk start up file ..." sleep 5 cp qmail-script-dt61.txt /etc/rc.d/init.d/qmail chmod 755 /etc/rc.d/init.d/qmail ln -s /etc/init.d/qmail /usr/local/sbin ln -s ../init.d/qmail /etc/rc.d/rc0.d/K30qmail ln -s ../init.d/qmail /etc/rc.d/rc1.d/K30qmail ln -s ../init.d/qmail /etc/rc.d/rc2.d/S80qmail ln -s ../init.d/qmail /etc/rc.d/rc4.d/S80qmail ln -s ../init.d/qmail /etc/rc.d/rc5.d/S80qmail ln -s ../init.d/qmail /etc/rc.d/rc6.d/K30qmail echo "Setup daemontools untuk qmail services ... " echo "Directori service qmail berada di /var/qmail/supervise" sleep 5 mkdir -p /var/qmail/supervise/qmail-send/log mkdir -p /var/qmail/supervise/qmail-smtpd/log chmod +t /var/qmail/supervise/qmail-send chmod +t /var/qmail/supervise/qmail-smtpd cat > /var/qmail/supervise/qmail-send/run << __EOF #!/bin/sh exec /var/qmail/rc __EOF cat > /var/qmail/supervise/qmail-send/log/run << __EOF #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail __EOF cat > /var/qmail/supervise/qmail-smtpd/run >> __EOF #!/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/tcp.smtp.cdb \ -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 __EOF cat > /var/qmail/supervise/qmail-smtpd/log/run >> __EOF #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd __EOF 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 echo "Setup buat log file" sleep 5 mkdir -p /var/log/qmail mkdir -p /var/log/qmail/smtpd chown qmaill /var/log/qmail /var/log/qmail/smtpd echo "Setup buat anti relaying" echo "relay dapat dilakukan untuk network 127. 192.168. dan tentu saja localhost" echo "file konfigurasi relay adalah /etc/tcp.smtp.cdb" sleep 5 echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp echo '192.168.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp echo ':allow" >>/etc/tcp.smtp tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp #/usr/local/sbin/qmail cdb chmod qmail /etc/tcp.smtp.cdb echo "Stop sendmail ..." sleep 5 killall -9 sendmail 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 echo "Bikin system alias ... " echo "Silahkan edit file2 untuk user alias (.qmail) yang berada di /var/qmail/alias" sleep 5 (cd ~alias; touch .qmail-default .qmail-postmaster .qmail-mailer-daemon .qmail-root) chmod 644 ~alias/.qmail* # --- # end of script Catatan: Jika tidak ingin menggunakan script qmail-script-dt61.txt dan tidak ingin menggunakan supervise untuk startup qmail, gunakan sperti script contoh berikut: # start smtp server menggunakan tcpserver dengan -u = qmaild uid ... -g =nofiles gid /usr/local/bin/tcpserver -v -u 503 -g 504 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & #start pop server menggunakan tcpserver $FQDN = hostname /usr/local/bin/tcpserver 0 110 /var/qmail/bin/qmail-popup $FQDN \ /usr/local/bin/checkvpw /var/qmail/bin/qmail-pop3d Maildir/ & #start qmail /var/qmail/rc & Jika ingin lebih mudah, gunakan inetd atau xinetd untuk mengganti tcpserver dalam membuka/ menjalankan daemon smtp qmail (qmail-smtpd). Tambahkan baris berikut di /etc/inetd.conf jika menggunakan inetd: smtp stream tcp nowait qmaild /usr/sbin/tcpd /var/qmail/bin/tcp-env /var/qmail/bin/qmail-smtpd untuk xinetd, buatlah file di /etc/xinetd.d/ (untuk disteribusi Linux RedHat) bernama qmail yang isinya seperti ini: service smtp { flags = REUSE NAMEINARGS socket_type = stream protocol = tcp wait = no user = qmaild server = /usr/sbin/tcpd server_args = /var/qmail/bin/tcp-env -R /var/qmail/bin/qmail-smtpd } --- eryan12@yahoo.com http://eryan.dhs.org