Upload
jason1id
View
63
Download
0
Embed Size (px)
DESCRIPTION
Cara install qmail Server
Citation preview
http://linux2.arinet.org
Panduan membuat Mail Server lengkap di Linux
PendahuluanEmail server adalah salah satu komponen terpenting di dalam aktivitas komunikasi modern sekarang ini. Jutaan email berseliweran setiap harinya di dunia. Sejarah email dimulai tahun 1965 berupa pesan elektronik di antara user di sebuah mainframe. Email ini kemudian berkembang menjadi network email, dimana para user mulai bisa mengirimkan pesan kepada user yang berada di mainframe lain. Lambang @ yang berfungsi memisahkan antara nama user dan mesinnya dicetuskan oleh Ray Tomlison pada tahun 1969.
Dari gambar di atas dapat kita lihat cara kerja email sebagai berikut: Budi mengirimkan
halaman 1 dari 22
Drawing 1: Cara Kerja Email
Budi
To: Anto@B Mail ServerA
Mail ServerB
Anto
From: Budi@A
http://linux2.arinet.org
email kepada Anto di mail server B. Email Budi ini oleh mail server A akan di kirim ke mail server B. Mail server B akan memeriksa apakah terdapat mailbox bernama Anto, bila ada maka ia akan memasukkan email dari Budi ke dalam mailbox Anto. Anto kemudian akan mendownload emailnya dan akan melihat bahwa terdapat email dari Budi di mail server A. Demikianlah kirakira secara umum cara kerja email.
Macam-macam Mail ServerDi dalam dunia open source terdapat beberapa mail server yang terkenal, yaitu:
1. CourierMTA (http://www.couriermta.org/)2. Exim (http://www.exim.org/)3. Postfix (http://www.postfix.org/)4. Sendmail (http://www.sendmail.org/)5. Qmail (http://www.qmail.org/)
Masingmasing dengan kelebihan dan kelemahannya. Untuk melihat perbandingan secara umum dapat kita kunjungi website ini: http://www.geocities.com/mailsoftware42/
QmailtoasterKali ini kita akan belajar menginstall dan mensetup mail server menggunakan Qmail yang dikemas oleh Qmailtoaster (http://www.qmailtoaster.com).
Paketpaket yang disediakan oleh Qmailtoaster cukup lengkap, sebagai berikut:– Mail server: Qmail– Virtualisasi: Vpopmail + Mysql– Scanner: simscan– Antivirus: Clam Antivirus– Antispam: Spam Assassin– Webmail: Squirrell mail – Mailing list: ezmlm– Web administration: qmailadmin, vqadmin– Statistik report: qmailmrtg, isoqlog
halaman 2 dari 22
http://linux2.arinet.org
– Feature lain: chkuser patch (berguna mencegah spam), autoresponder, maildrop, smtp auth.
Karena Qmailtoaster ini dikemas dalam bentuk RPM, maka secara native ia diperuntukkan untuk distrodistro Linux dari keluarga Redhat, seperti: Redhat (tentunya), Mandrake, Fedora Core, Centos, OpenSuse, dan Trustix.
Cara installasi:1. Download semua file Toaster yang dibutuhkan dari www.qmailtoaster.com2. Pastikan bahwa semua dependencies telah terinstall terlebih dahulu3. Setup mysqlnya4. Install paketpaket Toaster5. Verifikasi installasi paketpaket Toaster6. Masuk ke web administration Qmailtoaster7. Setup Virtual Domain dan Emailnya8. Melihat mail server kita in action9. Melihat statistik mail server kita
Baiklah, mari kita mulai.
1. Download semua file Toaster yang dibutuhkan dari www.qmailtoaster.comMasukkan ke dalam sebuah direktori, misalkan /qmailtoaster.
Filefile yang harus kita download ada 18 buah, sebagai berikut:zlib (kalau OS kamu menggunakan zlib lebih tua dari 1.2.2.2)daemontoolstoasterucspitcptoasterqmailtoaster (w/ qmailpop3dtoaster)courierimaptoasterautorespondtoastercontrolpaneltoaster
halaman 3 dari 22
http://linux2.arinet.org
ezmlmtoaster (w/ ezmlmcgitoaster)qmailadmintoasterqmailmrtgtoastermaildroptoasterisoqlogtoastervqadmintoaster (optional)squirrelmailtoasterspamassassintoasterclamavtoastersimscantoaster
Telah tersedia script untuk membantu kita mendownload semua paket tersebut di atas, yaitu: currentdownloadscript.sh
Isi dari script ini adalah:
#!/bin/sh## Download current qmailtoaster packages# Query Server for current list## Erik A. Espinoza <[email protected]># July 22, 2005# List queried from server#
QT_BRANCH=stableQT_LIST="http://www.qmailtoaster.com/info/current.txt"QT_PACKAGES=`wget q O ${QT_LIST}`
# If list is unavailable, quitif [ z "${QT_PACKAGES}" ] ; then
halaman 4 dari 22
http://linux2.arinet.org
echo "Package List unavailable, please check your connection and try again" exit 1fi
# If list is availalbe, start the downloadfor SRPMS in ${QT_PACKAGES} ; do echo "Downloading ${SRPMS}" wget http://www.qmailtoaster.com/download/${QT_BRANCH}/${SRPMS} echo "" sleep 4done
exit 0
2. Pastikan bahwa semua dependencies telah terinstall
Bila kita memiliki koneksi internet yang cepat, kita dapat menggunakan command yum untuk memastikan bahwa semua dependencies telah ada, yaitu dengan menjalankan script fdr40deps.sh.
Isi dari script ini adalah:
#!/bin/sh## Fedora Core 4 dependencies for basic install## This covers the required packages when you DID NOT# check anything when you installed Fedora Core 4
halaman 5 dari 22
http://linux2.arinet.org
## Removes sendmail and adds all deps#
yum y remove sendmail evolution
yum y install autoconf automake automake17 bzip2 bzip2devel compatgcc32 compatgcc32c++ curl curldevel expect expectdevel gcc gccc++ gccjava gdbm gdbmdevel gmp gmpdevel httpd httpddevel httpdmanual krb5authdialog krb5devel krb5libs krb5workstation libgcc libidn libidndevel mysql mysqlbench mysqldevel mysqlserver mrtg ntp openssl openssldevel pcre perlDigestHMAC perlDigestSHA1 perlNetDNS perlTimeHiRes php phpldap phpmysql phppear redhatrpmconfig rpmbuild rpmdevel rpmlibs rpmpython sed setup setuptool spamassassin stunnel systemconfigdate which
Bagaimana jika kita tidak memiliki kecepatan internet yang cepat? Jangan khawatir, kita dapat melakukan hal ini:
1. Buka menu Add/Remove Applications, dan kita install paket yang berada di group development, compability, web server.
2. Untuk menginstall paket perl yang masih kurang, kita dapat menggunakan yum ataupun command perl, seperti: yum install perlDigestSHA1, atau perl MCPAN e 'install "Digest::SHA1"'
Tips:Scriptscript tersebut di atas telah tersedia di website Qmailtoaster.
Penting: Beberapa distro secara default akan menginstall Sendmail. Pastikan bahwa kita menguninstallnya. Gunakan command rpm e –nodeps sendmail. Bila kita tidak menguninstallnya, maka qmail tidak akan dapat diinstall.
halaman 6 dari 22
http://linux2.arinet.org
3. Setup Mysqlnya
Kita perlu membuat database untuk Virtual domain dan user. Gunakan script ini: mysqlsetup.sh
Isi dari script tersebut adalah:
#!/bin/sh## Setup mysql for qmailtoaster## Nick Hemmesch <[email protected]># September 26, 2005#
# Set mysql passwordMYSQLPW=12345 < masukkan password root mysql kita
# Setup mysql for vpopmail##########################
# Setup root account if you have already set your root password# comment this section
#mysqladmin uroot password $MYSQLPW < ngga perlu kalau kita sudah setup root mysqlnya. Diberi tanda # (comment saja)#mysqladmin uroot p$MYSQLPW reload < ini juga#mysqladmin uroot p$MYSQLPW refresh < ini juga
halaman 7 dari 22
http://linux2.arinet.org
# Create vpopmaildatabase with correct permissions
mysqladmin create vpopmail uroot p$MYSQLPWmysqladmin uroot p$MYSQLPW reloadmysqladmin uroot p$MYSQLPW refresh
echo "GRANT ALL PRIVILEGES ON vpopmail.* TO vpopmail@localhost IDENTIFIED BY 'SsEeCcRrEeTt'" | mysql uroot p$MYSQLPWmysqladmin uroot p$MYSQLPW reloadmysqladmin uroot p$MYSQLPW refresh
4. Install paket-paket ToasterSebenarnya telah tersedia script untuk installasi otomatis semua paketpaket tersebut, yaitu: currentinstallscript.shDengan menjalankan script tersebut, maka semua paket akan terinstall otomatis, namun ada kendala yaitu jika ternyata kita belum memiliki dependencies tertentu. Maka paketpaket yang dependenciesnya tersebut belum tersedia akan gagal terinstall, namun script ini akan terus berjalan tanpa memberikan warning bahwa suatu paket gagal terinstall.
Oleh karena itu saya menyarankan jalan kedua, yaitu mengkompile dan menginstall satu per satu paket yang dibutuhkan. Sehingga kalau ada yang gagal install kita akan tahu. Kita harus mengikuti urutan tertentu untuk menginstall paketpaket tersebut, yaitu:
zlib (kalau OS kamu menggunakan zlib lebih tua dari 1.2.2.2)daemontoolstoasterucspitcptoasterqmailtoaster (w/ qmailpop3dtoaster)courierimaptoasterautorespondtoastercontrolpaneltoaster
halaman 8 dari 22
http://linux2.arinet.org
ezmlmtoaster (w/ ezmlmcgitoaster)qmailadmintoasterqmailmrtgtoastermaildroptoasterisoqlogtoastervqadmintoaster (optional)squirrelmailtoasterspamassassintoasterclamavtoastersimscantoaster
Cara mengkompilenya adalah sebagai berikut:rpmbuild rebuild with fdr40 namapaket.src.rpm
Kata fdr40 itu kita sesuaikan dengan distro kita, fdr40 adalah jika kita menggunakan Fedora Core 4. Jika kita menggunakan distro lain, kita isikan dengan:
Distribution RPM flag SupportedMandrake 10.0 Linux $ rpmbuild rebuild with mdk100 package.src.rpm YESMandrake 10.1 Linux $ rpmbuild rebuild with mdk101 package.src.rpm YESMandriva 2005 Linux $ rpmbuild rebuild with mdk102 package.src.rpm YESMandriva 2006 Linux $ rpmbuild rebuild with mdk103 package.src.rpm YESMandriva 2006 x86_64 Linux $ rpmbuild rebuild with mdk10364 package.src.rpm YESRed Hat 9 Linux $ rpmbuild rebuild with rht90 package.src.rpm YESFedora Core 1 Linux $ rpmbuild rebuild with fdr10 package.src.rpm YESFedora Core 2 Linux $ rpmbuild rebuild with fdr20 package.src.rpm YESFedora Core 3 Linux $ rpmbuild rebuild with fdr30 package.src.rpm YESFedora Core 4 Linux $ rpmbuild rebuild with fdr40 package.src.rpm YESFedora Core 4 x86_64 Linux $ rpmbuild rebuild with fdr4064 package.src.rpm YESCentOS 4 Linux $ rpmbuild rebuild with cnt40 package.src.rpm YESCentOS 4 x86_64 Linux $ rpmbuild rebuild with cnt4064 package.src.rpm YES
halaman 9 dari 22
http://linux2.arinet.org
openSuSE 10.0 Linux $ rpmbuild rebuild with sus100 package.src.rpm YESopenSuSE 10.0 x86_64 Linux $ rpmbuild rebuild with sus10064 package.src.rpm YESTrustix 2.0 Linux $ rpm rebuild with trx20 package.src.rpm YES
Setelah kita jalankan command rpmbuild tersebut, maka file rpm yang siap diinstall akan tersedia di direktori: /usr/src/redhat/RPMS/i386
Selanjutnya kita dapat menginstall satu persatu file RPM yang terdapat di dalam direktori tersebut dengan command: rpm Uvh namapaket.rpm
Berikut ini adalah contohnya:[root@fc4 qmailtoaster]# rpmbuild rebuild with fdr40 squirrelmailtoaster1.4.51.2.13.src.rpm
Installing squirrelmailtoaster1.4.51.2.13.src.rpmExecuting(%prep): /bin/sh e /var/tmp/rpmtmp.44197+ umask 022+ cd /usr/src/redhat/BUILD+ LANG=C+ export LANG+ unset DISPLAY+ cd /usr/src/redhat/BUILD+ rm rf squirrelmail1.4.5.... cut ....
RPM RELEASE : squirrelmailtoaster1.4.51.2.13 OS TYPE IS : Fedora Core 4 Linux BUILD DATE : Sun Nov 20 2005 Apache User : apache Apache Group: apache
.... cut ....Checking for unpackaged file(s): /usr/lib/rpm/checkfiles /var/tmp/squirrelmailtoaster1.4.5buildrootWrote: /usr/src/redhat/RPMS/noarch/squirrelmailtoaster1.4.51.2.13.noarch.rpmExecuting(%clean): /bin/sh e /var/tmp/rpmtmp.71618+ umask 022+ cd /usr/src/redhat/BUILD+ cd squirrelmail1.4.5
halaman 10 dari 22
http://linux2.arinet.org
+ '[' n /var/tmp/squirrelmailtoaster1.4.5buildroot ']'+ rm rf /var/tmp/squirrelmailtoaster1.4.5buildroot+ '[' d /usr/src/redhat/BUILD/squirrelmail1.4.5 ']'+ rm rf /usr/src/redhat/BUILD/squirrelmail1.4.5+ exit 0Executing(clean): /bin/sh e /var/tmp/rpmtmp.71618+ umask 022+ cd /usr/src/redhat/BUILD+ rm rf squirrelmail1.4.5+ exit 0
5. Verifikasi installasi paket-paket Toaster Untuk meyakinkan bahwa semua paket Toaster telah terinstall, kita lakukan command ini:[root@fc4 ~]# rpm qa | grep toaster | sortautorespondtoaster2.0.41.2.8clamavtoaster0.87.11.2.10controlpaneltoaster0.51.2.8courierimaptoaster3.0.81.2.9daemontoolstoaster0.761.2.9ezmlmcgitoaster0.53.3241.2.10ezmlmtoaster0.53.3241.2.10isoqlogtoaster2.11.2.9maildroptoaster1.8.11.2.10maildroptoasterdevel1.8.11.2.10qmailadmintoaster1.2.91.2.11qmailmrtgtoaster4.21.2.8qmailpop3dtoaster1.031.2.10qmailtoaster1.031.2.10simscantoaster1.11.2.6spamassassintoaster3.1.01.2.11squirrelmailtoaster1.4.51.2.13ucspitcptoaster0.881.2.9vpopmailtoaster5.4.101.2.10vqadmintoaster2.3.41.2.12
Pastikan bahwa daftar yang ada di komputer kamu sama dengan yang ada di atas.Tips:Ada baiknya setelah semua paket tersebut terinstall, kita merestart komputer kita untuk memastikan bahwa semua service akan berjalan dengan baik. Setelah itu kita dapat melihat
halaman 11 dari 22
http://linux2.arinet.org
apakah qmail telah berhasil berjalan dengan command:[root@fc4 ~]# qmailctl statclamd: up (pid 2312) 19079 secondsimap4: up (pid 2318) 19079 secondsimap4ssl: up (pid 2321) 19079 secondspop3: up (pid 2313) 19079 secondspop3ssl: up (pid 2319) 19079 secondssend: up (pid 2327) 19079 secondssmtp: up (pid 2316) 19079 secondsspamd: up (pid 2323) 19079 secondsclamd/log: up (pid 2325) 19079 secondsimap4/log: up (pid 2326) 19079 secondsimap4ssl/log: up (pid 2322) 19079 secondspop3/log: up (pid 2314) 19079 secondspop3ssl/log: up (pid 2320) 19079 secondssend/log: up (pid 2315) 19079 secondssmtp/log: up (pid 2317) 19079 secondsspamd/log: up (pid 2324) 19080 seconds
Pastikan bahwa semua service itu telah berjalan di atas 1 detik.
6. Masuk ke web administration QmailtoasterBuka browser di komputer kamu, dan masuk ke dalam url: http://localhost/admintoaster/
Penting:Perhatikan tanda garis miring di akhir url, tanpa tanda garis miring tersebut halaman websitenya tidak akan muncul.
halaman 12 dari 22
http://linux2.arinet.org
Illustration 1: Logon Admin Toaster. Masukkan username: admin dan passwordnya: toaster
Setelah masuk, kita akan melihat:
halaman 13 dari 22
http://linux2.arinet.org
Illustration 2: Halaman depan Admin Toaster
Penting:Segeralah mengganti password admin! Memang telah tersedia menu untuk mengganti password, namun dari yang saya coba ternyata passwordnya tetap tidak berubah. Sebagai cara lain, kita bisa menggunakan command line sebagai berikut:htpasswd c /usr/share/toaster/include/admin.htpasswd admin
halaman 14 dari 22
http://linux2.arinet.org
7. Setup Virtual Domain dan EmailnyaSetelah mengganti password admin Qmailtoaster, kita kemudian dapat mulai membuat domaindomain email yang kita inginkan menggunakan Vqadmin. Klik tombol vqadmin, dan kita akan melihat menu:
Illustration 3: Menu depan Vqadmin, klik menu Add Domains untuk membuat domain email kita.
halaman 15 dari 22
http://linux2.arinet.org
Illustration 4: Domain Name: isikan yang kamu inginkan, Postmaster Password: gunakan password yang baik dan sulit ditebak, Accounts: isikan jumlah email maksimum, Forwards dll juga, Quota in bytes: isikan quota standard per mailbox, bila ingin 20MB isikan 20000000
Setelah membuat Domain email, kita dapat mulai membuat emailemail accounts dan mailing list. Lewat vqadmin memang kita dapat membuatnya juga, tapi sebaiknya kita menggunakan qmailadmin. Kita kembali ke halaman depan Admin Toaster, dan klik tombol qmailadmin.
halaman 16 dari 22
http://linux2.arinet.org
halaman 17 dari 22
Illustration 5: Masukkan username: postmaster, nama domain dan passwordnya
Illustration 6: Klik menu New Email Account untuk mulai membuat email account
http://linux2.arinet.org
Illustration 7: Beri nama emailnya, quotanya dikosongkan saja bila ingin default, dan passwordnya. Real name adalah keterangan untuk memudahkan identifikasi di qmailadmin. Spam detection sebaiknya di tick.
8. Melihat mail server kita in actionUntuk melihatnya dapat dengan cara memonitor filefile log berikut ini:/var/log/qmail/send/current < untuk melihat pengiriman email/var/log/qmail/spamd/current < untuk melihat status spam per email/var/log/maildrop/maildrop.log < untuk melihat apa yang terjadi pada email virus dan spam
Untuk mudahnya, kita dapat memodifikasi file .bashrc kita dan memasukkan alias ini:alias tailqall="tail F n10 /var/log/qmail/send/current /var/log/qmail/spamd/current /var/log/maildrop/maildrop.log /var/log/maillog | tai64nlocal"
Berikut ini adalah contoh yang terlihat di server kita ketika beraksi:[root@adsl ~]# tailqall==> /var/log/qmail/send/current <==
halaman 18 dari 22
http://linux2.arinet.org
20060110 17:00:14.543950500 info msg 2152193: bytes 96235 from <> qp 4763 uid 779620060110 17:00:14.550818500 starting delivery 3501: msg 2152193 to local domainku.com[email protected]0110 17:00:14.550825500 status: local 1/10 remote 0/10020060110 17:00:14.604341500 delivery 3501: success: did_0+0+1/
==> /var/log/qmail/spamd/current <==20060110 16:36:50.737922500 [5614] info: spamd: connection from mail.domainku.com [127.0.0.1] at port 3971420060110 16:36:50.747319500 [5614] info: spamd: processing message <002501c615c9$4883ba00$61699eca@David> for clamav:8920060110 16:36:50.842523500 [5614] info: spamd: clean message (0.6/5.0) for clamav:89 in 0.1 seconds, 1314 bytes.20060110 16:36:50.842849500 [5614] info: spamd: result: . 0 BAYES_00,HTML_90_100,HTML_MESSAGE,MIME_HTML_MOSTLY scantime=0.1,size=1314,user=clamav,uid=89,required_score=5.0,rhost=mail.domainku.com,raddr=127.0.0.1,rport=39714,mid=<002501c615c9$4883ba00$61699eca@David>,bayes=0,autolearn=no
==> /var/log/maildrop/maildrop.log <==From: ">>Bossku<<" <[email protected]>Subj: Fw: Isu Penting!Err: |/var/qmail/bin/bouncesaying '[email protected] is over quota (1086)
Jan 10 17:00:14 BOUNCED: bouncesaying '[email protected] is over quota'Date: Tue Jan 10 17:00:14 2006
==> /var/log/maillog <==Jan 10 16:43:49 adsl vpopmail[4279]: vchkpwpop3: (PLAIN) login success [email protected]:202.158.105.97
9. Lewat menu Admin Qmailtoaster kita juga dapat melihat statistik mail server kitaYaitu isoqlog dan qmailmrtg. Lewat menu statistik ini kita dapat menganalisa performance dan beban mail server kita.
halaman 19 dari 22
http://linux2.arinet.org
Berikut ini adalah salah satu grafik yang dihasilkan oleh qmailmrtg:
Illustration 8: Salah satu grafik yang dihasilkan oleh qmailmrtg
halaman 20 dari 22
http://linux2.arinet.org
PenutupDemikianlah Panduan membuat mail server menggunakan Qmailtoaster. Tentu masih banyak kekurangan dan tweaking yang perlu dilakukan, tapi sebagai bahan awal dan sebagai media pembelajaran diharapkan panduan ini dapat memberikan panduan awal bagi yang ingin memiliki mail server Linux yang handal dan feature yang cukup lengkap.
Sebagai bahan renungan, diharapkan juga panduan ini dapat memberikan gambaran kepada perusahaanperusahaan bahwa untuk memiliki mail server yang handal tidak perlu menggunakan produkproduk propietary yang berharga ribuan dollar.
Linux dan qmail adalah paduan yang tepat bagi solusi mail server kita. Anekdot yang sering terjadi di kalangan sysadmin terhadap produk mail server propietary yang berjalan di server propietary tertentu adalah: bagaimana kita bisa yakin bahwa mail server tersebut dapat melindungi user kita dari serangan virus dan spam kalau servernya sendiri rentan terhadap serangan virus? :)
Credits
Terima kasih yang sebesarbesarnya kepada Nick Hemmesch dan team yang telah menyediakan paket Qmailtoaster yang sangat berguna ini. Dengan adanya Qmailtoaster ini sungguh membantu kita di dalam memiliki mail server Qmail yang handal dan lengkap secara relatif mudah dan cepat.
Juga terima kasih kepada semua pihak yang tersebutkan di dalam website www.qmailtoaster.com.
QMAIL is a D. J. Bernstein software (http://cr.yp.to/qmail.html)DAEMONTOOLS is a D. J. Bernstein software (http://cr.yp.to/daemontools.html)UCSPITCP is a D. J. Bernstein software (http://cr.yp.to/ucspitcp.html)
halaman 21 dari 22
http://linux2.arinet.org
EZMLM is from http://www.ezmlm.orgVPOPMAIL is a inter7 software (http://www.inter7.com/vpopmail)QMAILADMIN is a inter7 software (http://www.inter7.com/qmailadmin)VQADMIN is a inter7 software (http://www.inter7.com/vqadmin)QMAILMRTG is a inter7 software (http://www.inter7.com/qmailmrtg7)COURIERIMAP is a Double Precision Inc. software (http://www.inter7.com/courierimap)Erwin Hoffmann wrote the Warlock patch. (http://www.fehcom.de/qmail/spamcontrol.html)Bill Shupp made the qmail and clamav patchs. (http://www.shupp.org)
Thank you so much to Nick Hemmesch and team who has provided this wonderful Qmailtoaster packages. With it, many people are able to setup a reliable working qmail mail server in very simple steps and fast.
v.1.0 by ari_stress a.k.a tiger74 a.k.a Fajar PriyantoBukit Sentul, 10 January 2006. Email: fajarpri at arinet dot orgPenulis adalah Microsoft Certified Professional, yang jatuh cinta kepada Linux. Bekerja di sebuah group otomotif di Jakarta.
halaman 22 dari 22