Topic : Networking Instalasi qmail vpopmail dan sqwebmail oleh r00td Membuat webmail dengan sqwebmail dan qmail qmail adalah Mail Transfer Agent (MTA) untuk sistem operasi UNIX, untuk menggantikan sistem Sendmail yang menjadi standar pada sistem UNIX. qmail menggunakan Simple Mail Transfer Protocol (SMTP) untuk bertukar pesan dengan MTA di sistem yang lain. Download paket-paket yang diperlukan (Versi yang dipakai bisa berbeda dengan saat anda mencoba) daemontools - http://cr.yp.to/daemontools/daemontools-0.76.tar.gz koleksi tools untuk menangani service di sistem UNIX ucspi-tcp - http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz tcpserver dan tcpclient piranti yang mudah digunakan untuk membangun aplikasi klien-server TCP. qmail - http://cr.yp.to/qmail/qmail-1.03.tar.gz MTA yang kita gunakan vpopmail - http://www.inter7.com/vpopmail/vpopmail-5.2.1.tar.gz Menangani domain e-mail virtual dan account email yang tidak menggunakan /etc/passwd. sqwebmail - http://www.courier-mta.org/beta/sqwebmail/sqwebmail-3.5.1.20030509.tar.bz2 email client berbasiskan web. Patch-patch bagi qmail qmailqueue-patch - berguna sebagai add-on qmail-queue agar bisa menjalankan external program qmail-quota - berguna untuk mengatasi permasalah quota dalam qmail qmail-dns-patch - berguna untuk menghadapi host dengan jumlah MX besar. Sebaiknya kita kumpulkan dalam satu direktori agar memudahkan dalam melakukan proses instalasi. Instalasi daemontools # mkdir /packages # cd /packages/ # tar zxvf /usr/local/src/daemontools-0.76.tar.gz # cd admin/daemontools-0.76/ # package/install # rm -rf /command # cp -r command / Instalasi ucspi-tcp # tar zxvf ucspi-tcp-0.88.tar.gz # cd ucspi-tcp-0.88 # make # make setup check Instalasi qmail Membuat user, group dan direktori untuk qmail # mkdir /var/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 Melakukan kompilasi source beserta patch nya # tar zxvf qmail-1.03.tar.gz # cd qmail-1.03 # patch -p1 < ../qmail-dns-patch # patch -p1 < ../qmailqueue-patch # patch -p1 < ../qmail-1.03-quotas-1.1.patch # make setup check # ./config-fast linux.suck.edu linux.suck edu merupakan nama domain penulis, jadi bisa anda modifikasi sesuai dengan domain anda sendiri. Membuat alias untuk root, postmaster, mailer-daemon (rubah rudy dengan alias yang anda inginkan) # cd ~alias # echo rudy > .qmail-root # echo rudy > .qmail-postmaster # echo rudy > .qmail-mailer-daemon # chmod 644 .qmail-* Setting daemontools dan membuat kontrol direktori # 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 # mkdir -p /var/log/qmail/qmail-send # mkdir -p /var/log/qmail/qmail-smtpd # chown -R qmaill /var/log/qmail Buat file-file berikut, ke direktori masing-masing: - /var/qmail/rc - /var/qmail/supervise/qmail-send/run - /var/qmail/supervise/qmail-send/log/ruun - /var/qmail/supervise/qmail-smtpd/run - /var/qmail/supervise/qmail-smtpd/log/rrun Setelah dibuat file-file diatas, maka kita harus membuat agar file tersebut tereksekusi: # chmod 755 /var/qmail/rc # chmod 755 /var/qmail/supervise/*/run # chmod 755 /var/qmail/supervise/*/log/run Kontrol Akses Sekarang kita menambahkan Alamat IP/network yang diijinkan untuk melakukan relay melalui smtp Disini bisa digunakan file /etc/tcp.smtp yang isinya sebagai berikut: 127.0.0.1:allow,RELAYCLIENT="" 192.168.1.:allow,RELAYCLIENT="" :allow Anda bisa menyesuaikan sesuai dengan jaringan smtp server anda. Lalu kita harus merubah file ini menjadi file cdb dengan menjalankan perintah berikut: # tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp # chmod 644 /etc/tcp.smtp* Menghapus MTA jika terdapat di sistem kita Kita sekarang harus menghapus MTA yang telah terinstall di server kita, dan menggantinya dengan qmail. Jika kita sebelumnya telah menjalankan MTA lain dalam sistem kita, maka anda bisa mematikan servicenya lalu menyimpan konfigurasi yang ada, dan menghapus paketnya dari sistem kita. Lalu kita bisa melakukan setting sendmail wrapper seperti berikut: # mv /usr/lib/sendmail /usr/lib/sendmail.old # mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail # mv /usr/sbin/newaliases /usr/sbin/newaliases.old # ln -s /var/qmail/bin/newaliases /usr/sbin/newaliases Sekarang saatnya menjalankan qmail, karena service svscan sudah berjalan maka yang perlu kita lakukan adalah menjalankan perintah: # ln -s /var/qmail/supervise/* /service/ Instalasi vpopmail Lakukan kompilasi # tar zxvf vpopmail-5.2.1.tar.gz # cd vpopmail-5.2.1 # groupadd vchkpw # useradd -g vchkpw vpopmail # ./configure --enable-default-domain=linux.suck.edu # make # make install Lalu buat virtual domain dan tambahkan user disitu. # cd /home/vpopmail/bin # ./vadddomain linux.suck.edu Please enter password for postmaster: enter password again: Test membuat sebuah alamat email : # ./vadduser johndoe@linux.suck.edu Please enter password for johndoe@linux.suck.edu: enter password again: Buat script untuk pop3d, namun sebelumnya kita siapkan dahulu direktori yang diperlukan: # mkdir -p /var/qmail/supervise/qmail-pop3d # mkdir -p /var/qmail/supervise/qmail-pop3d/log # mkdir -p /var/log/qmail/pop3d - /var/qmail/supervise/qmail-pop3d/run - /var/qmail/supervise/qmail-pop3d/log/rrun Setelah itu jangan lupa mengeset peruntukan file nya dan merubahnya menjadi eksekutabel. # chown qmaill /var/log/qmail/pop3d # chmod 755 /var/qmail/supervise/qmail-pop3d/run # chmod 755 /var/qmail/supervise/qmail-pop3d/log/run Setelah semua hal diset, saatnya kita menjalankan pop3 qmail kita dengan jalan # ln -s /var/qmail/supervise/qmail-pop3d /service Sekarang kita pastikan apakah pop3d udah berjalan sesuai dengan keinginan kita atau belum, dengan melakukan telnet kita bisa memastikan secara mudah :) # telnet 127.0.0.1 110 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. OK 32622.1053003611@linux.suck.edu Langkah terakhir adalah menggunakan script untuk mengendalikan service. Disini penulis menggunakan skrip yang dibuat asfihani # wget -P /var/qmail/bin/ http://people.cakraweb.com/~asfik/qmailctl # chmod x /var/qmail/bin/qmailctl # ln -s /var/qmail/bin/qmailctl /usr/bin/ Anda bisa melakukan test dengan mencoba skrip diatas # qmailctl stop Stopping qmail... qmail-smtpd qmail-send qmail-pop3d # qmailctl start Starting qmail Instalasi sqwebmail (harus terdapat webserver dalam sistem anda) # tar zxvf sqwebmail-3.5.1.20030509.tar.bz2 # cd sqwebmail-3.5.1.20030509 # ./configure # make configure-check # make # make check # umask 022 # make install-strip Buat cron untuk menjalankan file /usr/local/sqwebmail/cleancache.pl setiap jam. Kemudian jalankan perintah # make install-configure Langkah terakhir jalankan perintah berikut: # /usr/local/share/sqwebmail/libexec/authlib/authdaemond start Serta tambahkan tambahkan perintah diatas di /etc/rc.local anda sehingga setiap anda boot maka skrip tersebut akan secara otomatis dijalankan. Arahkan web browser client anda ke: http://127.0.0.1/cgi-bin/sqwebmail Anda telah berhasil membuat webmail server. :) Catatan: 1. Asfihani - Instalasi Qmail, Vpopmail, Qmailadmin, Courier Imap, dan Squirrelmail 2. Life with qmail 3. qmail-HOWTO