Anda di halaman 1dari 22

http://linux2.arinet.

org

Panduan membuat Mail Server lengkap di Linux


Pendahuluan
Email 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.
Drawing 1: Cara Kerja Email

Budi To: Anto@B Mail Server A

Anto From: Budi@A Mail Server B

Dari gambar di atas dapat kita lihat cara kerja email sebagai berikut: Budi mengirimkan halaman 1 dari 22

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 kira-kira secara umum cara kerja email.

Macam-macam Mail Server


Di dalam dunia open source terdapat beberapa mail server yang terkenal, yaitu: 1. Courier-MTA (http://www.courier-mta.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/) Masing-masing dengan kelebihan dan kelemahannya. Untuk melihat perbandingan secara umum dapat kita kunjungi website ini: http://www.geocities.com/mailsoftware42/

Qmailtoaster
Kali ini kita akan belajar menginstall dan mensetup mail server menggunakan Qmail yang dikemas oleh Qmailtoaster (http://www.qmailtoaster.com). Paket-paket 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 distro-distro 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.com 2. Pastikan bahwa semua dependencies telah terinstall terlebih dahulu 3. Setup mysqlnya 4. Install paket-paket Toaster 5. Verifikasi installasi paket-paket Toaster 6. Masuk ke web administration Qmailtoaster 7. Setup Virtual Domain dan Emailnya 8. Melihat mail server kita in action 9. Melihat statistik mail server kita Baiklah, mari kita mulai.

1. Download semua file Toaster yang dibutuhkan dari www. mailtoaster.com


Masukkan ke dalam sebuah direktori, misalkan /qmailtoaster. File-file yang harus kita download ada 18 buah, sebagai berikut: zlib (kalau OS kamu menggunakan zlib lebih tua dari 1.2.2.2) daemontools-toaster ucspi-tcp-toaster qmail-toaster (w/ qmail-pop3d-toaster) courier-imap-toaster autorespond-toaster control-panel-toaster halaman 3 dari 22

http://linux2.arinet.org ezmlm-toaster (w/ ezmlm-cgi-toaster) qmailadmin-toaster qmailmrtg-toaster maildrop-toaster isoqlog-toaster vqadmin-toaster (optional) squirrelmail-toaster spamassassin-toaster clamav-toaster simscan-toaster Telah tersedia script untuk membantu kita mendownload semua paket tersebut di atas, yaitu: current-download-script.sh Isi dari script ini adalah: #!/bin/sh # # Download current qmailtoaster packages # Query Server for current list # # Erik A. Espinoza <espinoza@forcenetworks.com> # July 22, 2005 # List queried from server # QT_BRANCH=stable QT_LIST="http://www.qmailtoaster.com/info/current.txt" QT_PACKAGES=`wget -q -O - ${QT_LIST}` # If list is unavailable, quit if [ -z "${QT_PACKAGES}" ] ; then halaman 4 dari 22

http://linux2.arinet.org echo "Package List unavailable, please check your connection and try again" exit 1 fi # If list is availalbe, start the download for SRPMS in ${QT_PACKAGES} ; do echo "Downloading ${SRPMS}" wget http://www.qmailtoaster.com/download/${QT_BRANCH}/${SRPMS} echo "" sleep 4 done exit 0

!. Pastikan bahwa semua de"endencies 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 bzip2-devel compat-gcc-32 compat-gcc-32-c++ curl curl-devel expect expect-devel gcc gcc-c++ gcc-java gdbm gdbm-devel gmp gmp-devel httpd httpd-devel httpd-manual krb5-auth-dialog krb5devel krb5-libs krb5-workstation libgcc libidn libidn-devel mysql mysql-bench mysqldevel mysql-server mrtg ntp openssl openssl-devel pcre perl-Digest-HMAC perl-DigestSHA1 perl-Net-DNS perl-Time-HiRes php php-ldap php-mysql php-pear redhat-rpmconfig rpm-build rpm-devel rpm-libs rpm-python sed setup setuptool spamassassin stunnel system-config-date 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 perl-Digest-SHA1, atau perl -MCPAN -e 'install "Digest::SHA1"'

Tips: Script-script 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

#. Setu" Mys lnya


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 <nick@ndhsoft.com> # September 26, 2005 # # Set mysql password MYSQLPW=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$MYSQLPW mysqladmin -uroot -p$MYSQLPW reload mysqladmin -uroot -p$MYSQLPW refresh echo "GRANT ALL PRIVILEGES ON vpopmail.* TO vpopmail@localhost IDENTIFIED BY 'SsEeCcRrEeTt'" | mysql -uroot -p$MYSQLPW mysqladmin -uroot -p$MYSQLPW reload mysqladmin -uroot -p$MYSQLPW refresh

$. %nstall "aket-"aket Toaster


Sebenarnya telah tersedia script untuk installasi otomatis semua paket-paket tersebut, yaitu: current-install-script.sh Dengan menjalankan script tersebut, maka semua paket akan terinstall otomatis, namun ada kendala yaitu jika ternyata kita belum memiliki dependencies tertentu. Maka paket-paket 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 paket-paket tersebut, yaitu: zlib (kalau OS kamu menggunakan zlib lebih tua dari 1.2.2.2) daemontools-toaster ucspi-tcp-toaster qmail-toaster (w/ qmail-pop3d-toaster) courier-imap-toaster autorespond-toaster control-panel-toaster halaman 8 dari 22

http://linux2.arinet.org ezmlm-toaster (w/ ezmlm-cgi-toaster) qmailadmin-toaster qmailmrtg-toaster maildrop-toaster isoqlog-toaster vqadmin-toaster (optional) squirrelmail-toaster spamassassin-toaster clamav-toaster simscan-toaster 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 Mandrake 10.0 Linux Mandrake 10.1 Linux Mandriva 2005 Linux Mandriva 2006 Linux Mandriva 2006 x86_64 Linux Red Hat 9 Linux Fedora Core 1 Linux Fedora Core 2 Linux Fedora Core 3 Linux Fedora Core 4 Linux Fedora Core 4 x86_64 Linux CentOS 4 Linux CentOS 4 x86_64 Linux

RPM flag $ rpmbuild --rebuild --with mdk100 package.src.rpm $ rpmbuild --rebuild --with mdk101 package.src.rpm $ rpmbuild --rebuild --with mdk102 package.src.rpm $ rpmbuild --rebuild --with mdk103 package.src.rpm $ rpmbuild --rebuild --with mdk10364 package.src.rpm $ rpmbuild --rebuild --with rht90 package.src.rpm $ rpmbuild --rebuild --with fdr10 package.src.rpm $ rpmbuild --rebuild --with fdr20 package.src.rpm $ rpmbuild --rebuild --with fdr30 package.src.rpm $ rpmbuild --rebuild --with fdr40 package.src.rpm $ rpmbuild --rebuild --with fdr4064 package.src.rpm $ rpmbuild --rebuild --with cnt40 package.src.rpm $ rpmbuild --rebuild --with cnt4064 package.src.rpm

Supported YES YES YES YES YES YES YES YES YES YES YES YES YES

halaman 9 dari 22

http://linux2.arinet.org
openSuSE 10.0 Linux openSuSE 10.0 x86_64 Linux Trustix 2.0 Linux $ rpmbuild --rebuild --with sus100 package.src.rpm $ rpmbuild --rebuild --with sus10064 package.src.rpm $ rpm --rebuild --with trx20 package.src.rpm YES YES 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 squirrelmailtoaster-1.4.5-1.2.13.src.rpm Installing squirrelmail-toaster-1.4.5-1.2.13.src.rpm Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.44197 + umask 022 + cd /usr/src/redhat/BUILD + LANG=C + export LANG + unset DISPLAY + cd /usr/src/redhat/BUILD + rm -rf squirrelmail-1.4.5 .... cut .... RPM RELEASE : OS TYPE IS : BUILD DATE : Apache User : Apache Group: squirrelmail-toaster-1.4.5-1.2.13 Fedora Core 4 Linux Sun Nov 20 2005 apache apache

.... cut .... Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/squirrelmail-toaster-1.4.5-buildroot Wrote: /usr/src/redhat/RPMS/noarch/squirrelmail-toaster-1.4.51.2.13.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.71618 + umask 022 + cd /usr/src/redhat/BUILD + cd squirrelmail-1.4.5

halaman 10 dari 22

http://linux2.arinet.org
+ '[' -n /var/tmp/squirrelmail-toaster-1.4.5-buildroot ']' + rm -rf /var/tmp/squirrelmail-toaster-1.4.5-buildroot + '[' -d /usr/src/redhat/BUILD/squirrelmail-1.4.5 ']' + rm -rf /usr/src/redhat/BUILD/squirrelmail-1.4.5 + exit 0 Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.71618 + umask 022 + cd /usr/src/redhat/BUILD + rm -rf squirrelmail-1.4.5 + exit 0

&. 'erifikasi installasi "aket-"aket Toaster


Untuk meyakinkan bahwa semua paket Toaster telah terinstall, kita lakukan command ini:
[root@fc4 ~]# rpm -qa | grep toaster | sort autorespond-toaster-2.0.4-1.2.8 clamav-toaster-0.87.1-1.2.10 control-panel-toaster-0.5-1.2.8 courier-imap-toaster-3.0.8-1.2.9 daemontools-toaster-0.76-1.2.9 ezmlm-cgi-toaster-0.53.324-1.2.10 ezmlm-toaster-0.53.324-1.2.10 isoqlog-toaster-2.1-1.2.9 maildrop-toaster-1.8.1-1.2.10 maildrop-toaster-devel-1.8.1-1.2.10 qmailadmin-toaster-1.2.9-1.2.11 qmailmrtg-toaster-4.2-1.2.8 qmail-pop3d-toaster-1.03-1.2.10 qmail-toaster-1.03-1.2.10 simscan-toaster-1.1-1.2.6 spamassassin-toaster-3.1.0-1.2.11 squirrelmail-toaster-1.4.5-1.2.13 ucspi-tcp-toaster-0.88-1.2.9 vpopmail-toaster-5.4.10-1.2.10 vqadmin-toaster-2.3.4-1.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 stat clamd: up (pid 2312) 19079 seconds imap4: up (pid 2318) 19079 seconds imap4-ssl: up (pid 2321) 19079 seconds pop3: up (pid 2313) 19079 seconds pop3-ssl: up (pid 2319) 19079 seconds send: up (pid 2327) 19079 seconds smtp: up (pid 2316) 19079 seconds spamd: up (pid 2323) 19079 seconds clamd/log: up (pid 2325) 19079 seconds imap4/log: up (pid 2326) 19079 seconds imap4-ssl/log: up (pid 2322) 19079 seconds pop3/log: up (pid 2314) 19079 seconds pop3-ssl/log: up (pid 2320) 19079 seconds send/log: up (pid 2315) 19079 seconds smtp/log: up (pid 2317) 19079 seconds spamd/log: up (pid 2324) 19080 seconds

Pastikan bahwa semua service itu telah berjalan di atas 1 detik.

(. Masuk ke web administration Qmailtoaster


Buka browser di komputer kamu, dan masuk ke dalam url: http://localhost/admin-toaster/ 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

). Setu" 'irtual Domain dan *mailnya


Setelah mengganti password admin Qmailtoaster, kita kemudian dapat mulai membuat domain-domain 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 email-email 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

Illustration 5: Masukkan username: postmaster, nama domain dan passwordnya

Illustration 6: Klik menu New Email Account untuk mulai membuat email account

halaman 17 dari 22

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.

+. Melihat mail server kita in action


Untuk melihatnya dapat dengan cara memonitor file-file 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
2006-01-10 17:00:14.543950500 info msg 2152193: bytes 96235 from <> qp 4763 uid 7796 2006-01-10 17:00:14.550818500 starting delivery 3501: msg 2152193 to local domainku.com-fajar@domainku.com 2006-01-10 17:00:14.550825500 status: local 1/10 remote 0/100 2006-01-10 17:00:14.604341500 delivery 3501: success: did_0+0+1/ ==> /var/log/qmail/spamd/current <== 2006-01-10 16:36:50.737922500 [5614] info: spamd: connection from mail.domainku.com [127.0.0.1] at port 39714 2006-01-10 16:36:50.747319500 [5614] info: spamd: processing message <002501c615c9$4883ba00$61699eca@David> for clamav:89 2006-01-10 16:36:50.842523500 [5614] info: spamd: clean message (0.6/5.0) for clamav:89 in 0.1 seconds, 1314 bytes. 2006-01-10 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.dom ainku.com,raddr=127.0.0.1,rport=39714,mid=<002501c615c9$4883ba00$61699eca@D avid>,bayes=0,autolearn=no ==> /var/log/maildrop/maildrop.log <== From: ">>Bossku<<" <bossku@hotmail.com> Subj: Fw: Isu Penting !Err: |/var/qmail/bin/bouncesaying 'siapasih@domainku.com is over quota (1086) Jan 10 17:00:14 - BOUNCED: bouncesaying 'siapasih@domainku.com is over quota' Date: Tue Jan 10 17:00:14 2006 ==> /var/log/maillog <== Jan 10 16:43:49 adsl vpopmail[4279]: vchkpw-pop3: (PLAIN) login success fajar@domainku.com:202.158.105.97

,. -ewat menu .dmin Qmailtoaster kita /uga da"at melihat statistik mail server kita
Yaitu 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

Penutu"
Demikianlah 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 perusahaan-perusahaan bahwa untuk memiliki mail server yang handal tidak perlu menggunakan produk-produk 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? :)

0redits
Terima kasih yang sebesar-besarnya 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) UCSPI-TCP is a D. J. Bernstein software (http://cr.yp.to/ucspi-tcp.html) halaman 21 dari 22

http://linux2.arinet.org EZMLM is from http://www.ezmlm.org VPOPMAIL 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) COURIER-IMAP 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 Priyanto Bukit Sentul, 10 January 2006. Email: fajarpri at arinet dot org Penulis adalah Microsoft Certified Professional, yang jatuh cinta kepada Linux. Bekerja di sebuah group otomotif di Jakarta.

halaman 22 dari 22