PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
IMPLEMENTASI SERVER E-MAIL DENGAN MAIL CLIENT BERBASIS WEB
TUGAS AKHIR
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains Program Studi Ilmu Komputer
Disusun oleh : Nama
: Iwan Hariyanto
NIM
: 003124109
FAKULTAS MIPA PROGRAM STUDI ILMU KOMPUTER UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN
Kupersembahkan Tugas Akhir ini buat orangtuaku yang telah membiayai kuliahku sampe selesai, buat kakak & adikku beserta keluarganya, buat yayangku Jelly Shinta, dan temen – temen ku semua
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 15 September 2007 Penulis
Iwan Hariyanto
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK
Perkembangan teknologi informasi yang begitu pesat khususnya internet telah memberikan perubahan cara manusia berkomunikasi. Salah satu aplikasi internet yang popular saat ini adalah electronic mail ( e-mail ). Adanya aplikasi internet yang satu ini, seseorang dapat berkomunikasi dengan orang lain tanpa adanya lintas batas ruang dan waktu serta dengan biaya yang murah. Salah satu komponen e-mail yang boleh dikatakan sangat signifikan adalah server e-mail. server e-mail inilah yang sehari – hari bertugas menangani e-mail yang masuk dan keluar. Dalam Tugas Akhir ini penulis ingin memaparkan mengenai cara – cara dan konfigurasi yang digunakan untuk membangun sebuah server e-mail dengan media pengaksesan ( mail client ) berbasis web.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
The fastly growth of information technology especially internet has given a change the way of human to communicate. Recently, one of the popular internet application is electronic mail (e-mail). The exist of this one internet application, someone can communicate by the other without any limit of place and time also a cheap cost. One of the e-mail component which may be said very significant is server e-mail. This server e-mail usually handle up e-mail in and out. Writer wants to describe about the way and configuration which is used to build a server e-mail with mail client based of the web in this final report.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Segala puji bagi Alloh Swt, yang telah memberikan kekuatan, jalan, petunjuk, dan tenaga sehingga penyusunan dan penulisan Tugas akhir dengan judul Membangun E-Mail Server dengan Mail Client Berbasis Web dapat dislesaikan penulis sebagai prasyarat kurikulum sarjana ( S-1 ) yang ada pada Fakultas MIPA Program Studi Ilmu Komputer Universitas Sanata Dharma. Penulis mengucapkan terimakasih kepada pihak – pihak yang telah membantu, memberikan petunjuk dan bimbingan serta memberikan dukungan baik secara langsung dan tidak langsung, antara lain : 1. Bapak dan Ibu tercinta yang telah memberikan dukungan, baik material dan spiritual yang tak ternilai harganya kepada penulis. 2. Bapak Drs. Haris Sriwindono M.Komp. Selaku pembimbing I dalam penulisan Tugas Akhir ini. 3. Ibu PH Prima Rosa S.Si., M.Sc. Selaku Kaprodi Ilmu Komputer, trimakasih atas nasehat – nasehatnya. 4. Bapak Drs. Haris Sriwindono M.Komp. dan Bapak Iwan Binanto S.Si. Selaku team penguji. 5. Bapak dan Ibu dosen dan staf karyawan Fakultas MIPA Universitas Sanata Dharma, terimakasih atas ilmu yang telah diberikan dan fasilitas yang disediakan. 6. Kakak-ku dan adik-ku serta keluarganya. Mas Bambang, Tri, Triwik, and Barend Efensio, yang telah memberikan dukungan moral.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7. Jelly Shinta Sulandari, thanks atas cinta yang tulus dan dukungannya. 8. My best friend, Yosep and Rinto ( sukses selalu ). 9. Teman – teman kost-ku : Sebayang, Feri, Agus, Deny, Yoyok, Putra, dan Heru serta Ibu kost dan keluarganya. 10. Teman – teman civitas dan teman – taman maen Thomas ( thanks atas segala bantuannya ), sita, nyit-nyit, yulia, nisa, devi, pitri, diah, dan yang lainnya yang ga bisa disebut satu –satu.
Yogyakarta, 15 Septmber 2007 Penulis
Iwan Hariyanto
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
HALAMAN JUDUL.............................................................................................. i HALAMAN PERSETUJUAN PEMBIMBING..................................................... ii HALAMAN PENGESAHAN.............................................................................. iii HALAMAN PERSEMBAHAN............................................................................ iv PERNYATAAN KEASLIAN KARYA................................................................ v ABSTRAK............................................................................................................ vi ABSTRACT.......................................................................................................... vii KATA PENGANTAR......................................................................................... viii DAFTAR ISI.......................................................................................................... x DAFTAR TABEL................................................................................................ xv DAFTAR GAMBAR.......................................................................................... xvi BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ............................................................................ 1 1.2 Tujuan ....................................................................................................... 2 1.3 Batasan Masalah ........................................................................................ 2 1.4 Spesifikasi Sistem ..................................................................................... 3 1.5 Metode Penelitian ...................................................................................... 3 1.6 Sistematika Penulisan ................................................................................ 3 BAB II DASAR TEORI 2.1 Server E-mail ............................................................................................ 5 2.2 E-mail di Dalam LAN .............................................................................. 6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.3 E-mail Dalam Jaringan Internet ................................................................ 7 2.4 Protokol Layanan E-mail .......................................................................... 8 2.5 Simple Mail Transfer Protocol ( SMTP ) ................................................. 8 2.6 Post Office Protocol version 3 ( POP3 ) ................................................. 10 2.7 Internet Mail Access Protocol version 4 ( IMAP4 ) ............................... 11 2.8 Peranan DNS Server dalam Layanan E-mail ......................................... 12 2.9 Proses Pengiriman E-mail ...................................................................... 13 2.10 Qmail .................................................................................................... 15 2.11 Web Server Apache ............................................................................... 17 2.12 PHP ........................................................................................................ 17 2.13 MySQL ................................................................................................. 18 2.14 Paket Pendukung Instalasi Qmail .......................................................... 19 2.14.1 Paket Utama .............................................................................. 19 2.14.2 Paket Patch ................................................................................ 22 BAB III PEMBAHASAN 3.1 Persiapan Instalasi................................................................................... 24 3.1.1 Konfigurasi Linux Fedora Core 2................................................... 24 3.1.1.a Apache................................................................................ 24 3.1.1.b MySQL............................................................................... 25 3.1.1.c Struktur Direktori.............................................................. 25 3.2 Instalasi dan Konfigurasi......................................................................... 27 3.2.1 Instalasi Daemontools..................................................................... 27 3.2.2 Instalasi UCSPI – TCP………………………………………….. 29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.2.3 Instalasi dan Konfigurasi Qmail………………………………… 30 3.2.3.a Instalasi…………………………………………………. 30 3.2.3.b Konfigurasi……………………………………………... 34 3.2.4 Instalasi Checkpassword Untuk Otentikasi POP3……………... 41 3.2.5 Pemilihan Format Mailbox…………………………………….. 42 3.2.6 Konfigurasi dan Instalasi Virtual Domain……………………... 43 3.2.6.a Keistimewaan dan Keunggulan Vpopmail ……………. 44 3.2.6.b Struktur Direktori……………………………………… 45 3.2.6.c Konfigurasi Vpopmail…………………………………. 46 3.2.6.d Installasi Vpopmail…………………………………….. 50 3.2.6.e Administrasi Mail Server dengan Vpopmail…………… 52 3.2.7 Instalasi Mailing List…………………………………………… 55 3.2.7.a Instalasi Ezmlm………………………………………... 56 3.2.7.b Administrasi Mailing List……………………………… 56 3.2.8 Autorespond……………………………………………………. 58 3.2.8.a Instalasi Autorespond………………………………….. 58 3.2.8.b Administrasi Autorespond…………………………….. 58 3.2.9 Qmailadmin……………………………………………………. 59 3.2.9.a Konfigurasi Qmailadmin………………………………. 59 3.2.9.b Instalasi Qmailadmin…………………………………... 61 3.2.9.c Administrasi Qmailadmin……………………………… 61 3.2.10 Sqwebmail…………………………………………………….. 66 3.2.10.a Konfigurasi Sqwebmail…………………………….. 66
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.2.10.b Instalasi Sqwebmail………………………………….. 71 3.2.10.c Menggunakan Sqwebmail…………………………… 74 3.3 Persyaratan Membangun Server E-mail dengan Qmail………………... 78 3.3.1 Operating System………………………………………………... 78 3.3.2 Jaringan Komputer……………………………………………….. 79 3.3.2.a LAN……………………………………………………... 79 3.3.2.b MAN…………………………………………………….. 80 3.3.2.c WAN…………………………………………………….. 80 3.3.3 Peralatan Jaringan……………………………………………….. 80 3.3.3.a Server……………………………………………………. 81 3.3.3.b Workstation……………………………………………... 81 3.3.3.c NIC ( Network Interface Card )………………………… 81 3.3.3.d HUB……………………………………………………... 82 3.3.3.e Switch…………………………………………………… 84 3.3.3.f WAP ( Wireles Access Point )…………………………… 85 3.3.3.g Bridge………………………………………………….... 86 3.3.3.h Router………………………………………………….... 87 3.3.4 Topologi Jaringan………………………………………………... 88 3.3.4.a Topologi Bus Linier……………………………………… 89 3.3.4.b Topologi Ring…………………………………………… 90 3.3.4.c Topologi Star……………………………………………. 91 3.3.4.d Topologi Tree…………………………………………… 92 3.3.5 Alamat IP……………………………………………………….. 93
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.3.5.a Kelas Alamat IP…………………………………………. 94 3.3.5.b Alamat IP Privat ( Non Routed )………………………… 98 3.3.6 Subnetting……………………………………………………….. 98 3.3.7 Router…………………………………………………………… 101 3.3.8 Firewall………………………………………………………… 103 3.3.9 Konfigurasi Jaringan…………………………………………… 105 3.3.10 Server DNS……………………………………………………..107 3.3.10.a Cara Kerja DNS……………………………………….. 108 3.3.10.b Konfigurasi DNS……………………………………….110 BAB IV PENUTUP 4.1 Kesimpulan............................................................................................ 118 4.2 Saran...................................................................................................... 118 DAFTAR PUSTAKA LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 2.1 Perbandingan Antara Qmail dan Unix MTA Yang Lain……………. 16 Tabel 3.1 Kelas Alamat IP…………………………………………………….. 97 Table 3.2 Alamat IP Privat…………………………………………………….. 98 Table 3.3 Pembagian Subnet………………………………………………….. 101
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Gambar 2.1 Routing e-mail dalam LAN ............................................................... 6 Gambar 2.2 routing e-mail di Internet ................................................................... 8 Gambar 2.3 proses pengiriman e-mail ................................................................ 14 Gambar 3.1 Tampilan menu login....................................................................... 62 Gambar 3.2 Tampilan Main Menu....................................................................... 63 Gamabar 3.3 Tampilan New Email Account....................................................... 64 Gambar 3.4 Tampilan New Forward.................................................................. 65 Gambar 3.5 Tampilan New Mail Robot............................................................... 66 Gambar 3.6 Tampilan Menu Login...................................................................... 74 Gambar 3.7 Menu Folder...................................................................................... 75 Gambar 3.8 Menu Create Message....................................................................... 76 Gambar 3.9 Menu Preference............................................................................... 77 Gambar 3.9 Address Book.................................................................................... 78 Gambar 3.11 Kartu Ethernet................................................................................. 82 Gambar 3.11 Hub standalone dan Jaringan Dengan Hub Stanalone Yang Terhubung Dengan Kabel Koaksial...................................... 83 Gambar 3.12 Hub Stackable dan Jaringan yang Terhubung Menggunakan Port Stack............................................................... 84 Gambar 3.13 Switch dan Penggunaannya............................................................ 85 Gambar 3.14 WAP dan Jaringan Dengan WAP.................................................. 86 Gambar 3.15 Bridge dan Penggunaanya............................................................... 87
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.16 Router Buatan Pabrik dan Penggunaan Router............................... 88 Gambar 3.17 Topologi Bus Linier........................................................................ 90 Gambar 3.18 Toplogi Ring................................................................................... 91 Gambar 3.19 Topologi Star................................................................................... 92 Gambar 3.20 Topologi Tree................................................................................. 93 Gambar 3.21 Jaringan Komputer dengan Router.................................................102 Gambar 3.22 Proses Pada Paket Yang Melewati Firewall.................................. 104 Gambar 3.23 Jaringan dengan Satu Server Linux Untuk Melayani semua Service Internet........................................ 106 Gambar 3.24 Proses DNS....................................................................................109
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PENDAHULUAN
1.1 Latar Belakang Masalah Perkembangan teknologi informasi saat ini makin pesat, khususnya dalam bidang teknologi komputer yang terhubung dalam jaringan Internasional atau sering disebut Internet. Adanya Internet tersebut memungkinkan pemakai untuk melakukan komunikasi yaitu berupa pertukaran data atau informasi secara cepat antar komputer yang saling terkoneksi. E-mail atau Electronic Mail merupakan salah satu jenis layanan pada jaringan Internet yang mengalami perkembangan paling pesat. Pengiriman pesan dengan e-mail memberikan nilai tambah yang efisien dibandingkan jika menggunakan jasa kantor pos untuk pengiriman pesan. E-mail menampilkan teknik pengiriman pesan dengan mudah dalam era perdagangan dan bisnis modern. E-mail merupakan salah satu layanan di Internet yang dapat dikatakan lalu – lintasnya tersibuk kedua setelah web, bisa dilihat hampir semua domain di Internet menyediakan service e-mail, saat ini layanan e-mail sudah menjadi kebutuhan pokok dan penting bagi setiap pengguna Internet. Salah satu komponen e-mail yang boleh dikatakan sangat signifikan dan penting adalah server e-mail, server e-mail inilah yang sehari – hari bertugas menangani pesan e-mail yang masuk dan keluar. Dalam penulisan tugas akhir ini penulis akan membahas mengenai e-mail tersebut khususnya dalam pembangunan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
server e-mail, dalam makalah ini akan dibahas langkah – langkah dalam membangun server e-mail berbasis web di Internet. Komponen yang paling utama dalam membangun sebuah mail server adalah Mail Transfer Agent ( MTA ), dalam makalah tugas akhir ini akan menggunakan Qmail sebagai komponen MTA, Qmail merupakan MTA modern dan memiliki kinerja yang lebih baik saat ini dibanding dengan MTA yang lain.
1.2 Tujuan Adapun tujuan penulisan tugas akhir ini adalah : o Membangun sebuah server e-mail berbasis web. o Mengimplementasikan sebuah program e-mail untuk pengiriman dan penerimaan pesan.
1.3 Batasan Masalah Penulisan tugas akhir ini memiliki batasan – batasan masalah sebagai berikut : o Web yang akan dibuat hanya berupa service e-mail untuk pengiriman dan penerimaan pesan. o Mail Transfer Agent yang dipakai adalah Qmail. o Penjelasan berupa tahap – tahap instalasi, konfigurasi dan administrasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1.4 Spesifikasi Sistem Spesifikasi sistem dari tugas akhir ini sebagai berikut : o Sistem operasi yang dipakai Linux Fedora Core 2. o Database server menggunakan MySQL. o SMTP server menggunakan Qmail. o Implementasi mail client menggunakan sqwebmail. o Protocol layanan e-mail menggunakan POP3.
1.5 Metode Penelitian Adapun metode penelitian dalam tugas akhir ini adalah : 1. Literatur, yaitu pengumpulan sumber penulisan serta mempelajari referensi yang berhubungan dengan server e-mail. 2. Internet, yaitu menggunakan referensi – referensi yang berasal dari Internet sebagai penunjang penulisan Tugas Akhir ini.
1.6 Sistematika Penulisan Sistematika penulisan tugas akhir ini sebagai berikut : BAB I. Pendahuluan Bab pertama ini meliputi latar belakang, tujuan, batasan masalah, spesifikasi system, metodologi penulisan, dan sistematika penulisan tugas akhir ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II. Dasar Teori Bab ini berisi tentang pengertian – pengertian yang berkaitan dengan pembangunan server e-mail. BAB III. Pembahasan Pada bab ini akan dijelaskan tahap – tahap instalasi, konfigurasi server dan administrasinya. BAB IV. Penutup Bab ini berisi kesimpulan dan saran dalam penulisan tugas akhir.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II DASAR TEORI
2.1 Server E-mail Sebuah server adalah komputer yang dikhususkan untuk melayani komputer – komputer lain dalam jaringan seperti internet, dengan layanan – layanan tertentu. E-mail atau electronic-mail adalah suatu bentuk komunikasi dengan menggunakan perangkat elektronik, terutama komputer. E-mail server adalah komputer server yang mengurus segala keperluan dalam kotak pos ( mail box ) untuk semua pengguna / clients yang telah terdaftar. Server e-mail menjalankan sebuah aplikasi yang ditujukan untuk proses pengiriman dan penerimaan e-mail, aplikasi tersebut biasa disebut MTA ( Mail Transfer Agent ). Sedang aplikasi yang digunakan user untuk mengambil atau menerima e-mail disebut Mail Client. Mail Client hanya dapat berkomunikasi dengan Mail Transfer Agent, sedangkan Mail Transfer Agent dapat berkomunikasi dengan Mail Transfer Agent lain. Proses pengiriman dan penerimaan e-mail dapat dilakukan dengan Mail Client yang banyak tersebar di internet, seperti : mailyahoo, hottmail, bolehmail, eudoramail, sqwebmail, squirrrelmail, dan masih banyak lagi Mail Client yang bisa digunakan baik secara gratis maupun dengan membayar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.2 E-mail di Dalam LAN Penyediaan layanan e-mail di lingkungan LAN umumnya bertujuan untuk memudahkan koordinasi antar bagian dalam suatu organisasi. Lingkup LAN tersebut sebenarnya bisa diperluas dalam skala MAN maupun WAN, selama jaringan itu masih bersifat privat bagi organisasi tersebut. Penerapan e-mail di lingkungan ini sering disebut sebagai e-mail internal, karena tidak menggunakan jaringan Internet. Untuk memahami routing e-mail di lingkungan LAN, dimisalkan seorang user yang akan mengirim e-mail ke user lain yang masih berada dalam satu jaringan, e-mail tersebut akan dikirim ke mail server di jaringan tersebut. User di alamat tujuan mendownload e-mail dengan menghubungkan diri ke mail server. Peranan mail server dalam LAN dapat diandaikan sebagai ISP bagi para user-nya. Mail server tersebut berfungsi sebagai SMTP dan POP3 bagi para user jaringan.
Gambar 2.1 Routing e-mail dalam LAN
Jenis aplikasi yang digunakan di sisi client dan server umumnya sama dengan penyediaan e-mail di Internet. Perbedaannya terletak pada jaringan yang digunakan, penyediaan e-mail dalam LAN tidak memerlukan ISP sebagai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
penyedia koneksi Internet, karena ruang lingkup layanan ini bersifat internal maka tidak perlu memiliki domain yang terdaftar resmi di Internet. Layanan e-mail internal dapat pula dihubungkan dengan layanan e-mail eksternal. Dengan demikian pengguna jaringan internal dapat berhubungan dengan pengguna di Internet, untuk menyediakan layanan ini harus menggunakan domain yang terdaftar resmi di Internet.
2.3 E-mail Dalam Jaringan Internet Penyampaian e-mail di Internet menggunakan jaringan public atau jaringan internet. E-mail akan melalui beberapa server sebelum akhirnya diterima di alamat tujuan. Perjalanan sebuah pesan dimulai ketika pengirim menggunakan client e-mail, client e-mail akan menghubungkan dengan server SMTP yang telah ditentukan. Server SMTP tersebut dapat berupa mail server di jaringan internal atau sebuah server di Internet. Selanjutnya server SMTP akan memeriksa nama domain alamat tujuan, mail server menghubungi server DNS yang ditetapkan untuk mencari alamat host tujuan sebagai mana tertulis pada entri MX record di server DNS. Apabila MX record alamat tujuan terdapat di server DNS tersebut, e-mail segera dikirimkan ke host tujuan, apabila MX record tidak terdapat di server DNS, maka server tersebut akan menghubungi server DNS lain untuk mendapatkan MX record alamat yang dituju. Proses ini berjalan sampai informasi alamat host tujuan didapat di salah satu server DNS, aturan routing antar server DNS tersebut ditetapkan oleh ISP dan badan lain yang berwenang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 2.2 routing e-mail di Internet
2.4 Protokol Layanan E-mail Secara umum layanan e-mail berjalan pada protokol TCP/IP yang telah menjadi standar komunikasi di Internet dan jaringan komputer saat ini. Protokol TCP/IP sebenarnya merupakan kumpulan berbagai macam protokol dan kemudian terangkum dalam satu set seperti yang dikenal saat ini. Terdapat dua protokol utama yang sering digunakan dalam layanan e-mail : •
Simple Mail Transfer Protocol ( SMTP )
•
Post Office Protocol Version 3 ( POP3 )
Selain kedua protokol tersebut juga dikenal Internet Mail Access Protocol ( IMAP ) yang fungsinya mirip POP3 dengan beberapa kelebihan.
2.5 Simple Mail Transfer Protocol ( SMTP ) Protokol SMTP merupakan metode standar yang digunakan untuk pengiriman e-mail dalam jaringan berbasis TCP/IP. Fungsi utama SMTP adalah menyampaikan e-mail dari suatu host ke host lain dalam jaringan. Protokol ini tidak memiliki kemampuan untuk melakukan penyimpanan dan pengambilan e-mail dari suatu mailbox. Service SMTP berjalan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
pada protokol TCP port 25, yang merupakan port standar service SMTP. Karena SMTP tidak memiliki kemampuan menyimpan e-mail dalam mailbox, maka diperlukan protokol lain untuk menjalankan fungsi tersebut yaitu POP3 dan IMAP. Ketika e-mail dikirim ke suatu alamat maka server DNS akan mencari host tujuan berdasarkan informasi MX record yang telah didaftarkan. Host tujuan tersebut merupakan server SMTP yang siap menerima koneksi dari host lain. Setelah koneksi berhasil dilakukan maka e-mail akan didownload ke host tujuan kemudian disimpan dalam mailbox pengguna untuk diambil menggunakan protokol POP3. Berikut beberapa perintah yang digunakan dalam proses pengiriman e-mail : •
Mail fr
: memberitahukan identitas host pengirim kepada host penerima.
•
Rcpt to
: memberitahukan identitas pengirim ke host tujuan, misal
[email protected].
•
Data
: merupakan pesan yang dikirim dalam e-mail berupa text ASCII.
•
Quit
: perintah penutup koneksi SMTP.
Dari sisi client e-mail, server SMTP merupakan sarana untuk melakukan outgoing connection atau mengirimkan pesan. Sedangkan untuk incoming connection digunakan protokol POP3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.6 Post Office Protocol version 3 ( POP3 ) Protokol POP yang banyak digunakan saat ini adalah versi 3 atau lebih dikenal sebagai POP3. peran protokol ini adalah untuk mengambil e-mail yang tersimpan dalam mailbox tiap user di mail server, yang biasanya sekaligus sebagai SMTP server, telah dijelaskan sebelumnya bahwa SMTP tidak memiliki mekanisme penyimpanan e-mail ke mailbox dan mendistribusikannya tiap user sehingga protokol POP3 mengambil peran tersebut. Server POP3 menyimpan sementara e-mail tiap user di dalam mailbox-nya masing – masing sebelum akhirnya didownload oleh user bersangkutan menggunakan client e-mail seperti Outlook atau yang lainnya. Dalam proses pengambilan tersebut client e-mail terhubung ke mail server menggunakan protokol POP3 yang berjalan pada TCP port 110. Skenario pengambilan e-mail dengan POP3 ini dapat juga digunakan oleh suatu mail server untuk mengambil e-mail dari mail server lain, jadi tidak terbatas digunakan oleh client e-mail saja. Untuk berhubungan dengan server, client POP3 menggunakan beberapa perintah sebagai berikut : •
Stat
: meminta informasi jumlah pesan yang tersedia.
•
List
: menentukan ukuran setiap pesan yang akan diambil.
•
Retr
: mengambil pesan yang terdapat dalam server.
•
Quit
: mengakhiri session POP3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.7 Internet Mail Access Protocol version 4 ( IMAP4 ) IMAP4 adalah standar protokol Internet yang digunakan dalam penyimpanan dan pengambilan e-mail dari host SMTP. Pearanan IMAP4 hampir sama dengan POP3 dengan beberapa kelebihan yang dimiliki. Sebuah server IMAP4 menyimpan e-mail tiap user yang diterima oleh server SMTP, dan mengirimkannya kepada client e-mail ketika user mendownload pesan tersebut dengan client IMAP4. Protokol IMAP4 memiliki beberapa fasilitas yang tidak dimiliki oleh POP3 yaitu : •
Akses terhadap beberapa folder sekaligus, termasuk public folder.
•
Penyimpanan pesan di server setelah dibaca oleh pengguna sehingga seorang pengguna dapat membaca kembali e-mail tersebut pada waktu maupun lokasi lain.
•
Fasilitas pencarian pesan tertentu untuk didownload.
•
Pembuatan hierarki folder untuk penyimpanan pesan di server.
•
Pemilihan download suatu pesan sekaligus bersama lampiran ( attachment ) atau hanya mengambil lampirannya saja. Untuk mengambil pesan dari server IMAP4, sebuah client IMAP4
menghubungkan diri ke server dan membentuk session TCP pada port 143. Client tersebut menyampaikan beberapa perintah ke server untuk mengambil e-mail, perintah tersebut diantaranya : •
List
•
Select : memilih folder tertentu untuk mengakses pesan di dalamnya.
: mengambil daftar folder yang terdapat dalam mailbox.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Fetch : mengambil pesan tertentu untuk didownload.
•
Logout : mengakhiri session IMAP4.
2.8 Peranan DNS Server dalam Layanan E-mail Dalam jaringan Internet yang berbasis TCP/IP, server DNS ( Domain Name Service ) memegang peranan sangat penting. Tugas utamanya adalah menterjemahkan host name menjadi IP address yang dapat dimengerti oleh komputer dan sebaliknya dari alamat IP ke host name yang disebut dengan reverse-mapping. Komputer mengenalai komputer lain dalam jaringan berdasarkan IP address yang dimilikinya, sedangkan manusia terlalu susah menghafal IP address tersebut. Karena manusia lebih mudah manghafalkan nama sutau domain maka diperlukan server DNS sebagai penerjemahnya. Dalam layanan e-mail server DNS berperan sebagai penunjuk jalan routing suatu e-mail. Apabila terdapat suatu e-mail maka server DNS akan mengecek nama domain yang terdapat pada alamat tujuan. Berdasarkan domain tujuan tersebut maka server DNS menunjukkan informasi mail exchanger ( MX ) record suatu domain. Selanjutnya pesan akan diteruskan ke host tujuan berdasarkan nama host yang terdapat dalam MX record, di mana host tersebut adalah server SMTP dari alamat tujuan. Pesan tersebut disimpan di mail server tujuan sampai pengguna mendownload e-mail. Suatu domain yang memiliki alamat e-mail harus didefinisikan server SMTP-nya. Informasi tersebut disimpan di dalam server DNS berupa entri MX record. Misalkan untuk alamat
[email protected] maka domain yahoo.com harus
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
didefinisikan MX record-nya sehingga server DNS dapat mencari mail server untuk menyampaikan e-mail. Di dalam server DNS dibuat entri MX record yang menunjukkan apabila terdapat e-mail yang ditujukan kepada suatu alamat di yahoo.com maka pesan tersebut diteruskan kesuatu host bernama mail.yahoo.com, yang merupakan server SMTP sekaligus mail server untuk yahoo.com. Jadi DNS tidak hanya berfungsi untuk menterjemahkan IP address ke host name saja, juga berfungsi mendefinisikan server SMTP suatu alamat e-mail dalam sebuah domain yang akan disimpan di MX record DNS. Sehingga jika tidak ada DNS maka email tidak dapat bekerja, karena DNS tidak dapat mencari mail server alamat tujuan. Sebuah domain dapat memiliki beberapa MX record sekaligus yang masing – masing didefinisikan prioritasnya. Dengan demikian apabila server utama mengalami gangguan maka dapat dikirim ke server berikutnya dengan prioritas dibawahnya. Apabila mendaftarkan domain untuk organisasi dan mendapatkan fasilitas layanan e-mail maka domain tersebut akan didaftarkan MX record-nya ke server DNS. Pengisian entri MX record tersebut menjadi tanggung jawab pengelola domain tempat mendaftar, perlu dipastikan entri MX record serta alamat server SMTP dan POP3 untuk domain, supaya apabila terjadi gangguan akan lebih mudah melakukan perbaikan dan penelusuran sumber gangguan.
2.9 Proses Pengiriman E-mail Proses pengiriman e-mail dimulai dengan melakukan koneksi ke protokol TCP/IP dan koneksi ini akan dimulai ketika tombol send pada program client
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ditekan dan pada saat itu juga program client akan melakukan koneksi ke SMTP server. SMTP server akan mendistribusikan e-mail. Setelah menerima e-mail, SMTP server akan memasukkan e-mail dalam antrian pengiriman e-mail. SMTP server akan mengirimkan pesan jika e-mail masih berada di dalam antrian. SMTP server akan berusaha mengirimkan e-mail tersebut sampai batas waktu maksimal. Namun jika sudah berada dalam batas waktu yang ditentukan e-mail masih berada di dalam antrian, SMTP server akan mengirimkan pesan kesalahan. Jika tidak ada kesalahan, SMTP server akan langsung mengirimkan e-mail ke POP3 server penerima. Setelah e-mail sampai ke POP3 server penerima maka dapat diartikan bahwa proses pengiriman e-mail sudah selesai.
Gambar 2.3 proses pengiriman e-mail
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.10 Qmail Aplikasi qmail adalah salah satu aplikasi server e-mail yang berjalan pada platform Unix / Linux. Qmail diciptakan oleh Dan J. Bernstein seorang profesor departemen matematika, statistik dan ilmu komputer Universitas Illinois, Chicago. Qmail merupakan MTA yang lebih modern sangat cocok untuk menggantikan peran Sendmail. Sendmail merupakan MTA yang banyak mempunyai masalah keamanan, di sendmail banyak sekali hole atau ekploitasi keamanan yang sangat rawan terhadap penyerangan karena seorang penyerang dapat dengan mudah mendapatkan akses root. MTA dengan menggunakan sendmail juga kurang baik untuk menangani e-mail dalam jumlah besar, apalagi untuk layanan Mailing List. Ada beberapa alasan mengapa harus menggunakan qmail : •
Security : salah satu alasan qmail dibuat adalah karena pembuatnya merasa jengkel akan lubang keamanan pada sendmail. Qmail merupakan MTA dengan tingkat security yang tinggi, hal ini didukung dengan hadiah uang US$1000 dari para pendukung qmail bagi yang bisa menemukan lubang keamanan qmail, pembuatnya juga menyediakan hadiah uang US$500 bagi yang menemukan lubang keamanan pada qmail.
•
Performa yang baik : qmail berkemampuan untuk menangani jutaan pengiriman pesan e-mail dalam satu harinya. Bahkan hanya menggunakan komputer 486 saja dapat menangani pengiriman pesan e-mail sebanyak 100.000 pesan dalam satu harinya. Selain itu qmail juga dapat melakukan pengiriman banyak pesan secara bersama – sama dalam satu waktu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Kecil dan sederhana : dikatakan sederhana dan kecil karena qmail memisahkan mekanisme untuk forwarding, aliasing, dan mailing list. Selain itu MTA lain mempunyai beberapa mode pengiriman yaitu fast+unsafe dan slow+queued, sedang qmail hanya mempunyai satu mode pengiriman yaitu fast+queued, dimana pada mode ini program untuk mengirimkan mail dipicu oleh adanya antrian baru.
•
Pengganti sendmail : qmail mendukung user dan host masquerading, Full Host Hidding, Virtual Domain, Null Clients, List Owner Rewriting, Relay Control,
Double
Bounce
Recording,
Penjadwalan
pesan
secara
independent, dan lain sebagainya. •
Administrasi yang mudah : di internet banyak program – program yang digunakan untuk mengadministrasikan Mail Server yang menggunakan qmail, misal yang berbais web dan menggunakan otomasi script.
Tabel 2.1 perbandingan antara qmail dan Unix MTA yang lain MTA
Maturity
Security
Feature
Qmail
Medium
High
High
Sendmail
High
Low
High
Postfix
Medium
High
Medium
Exim
Medium
Low
High
Courier
Low
Medium
High
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MTA
Performa
Sendmailish
Modular
Qmail
High
Add-ons
Ya
Sendmail
Low
X
Tidak
Postfix
High
Ya
Ya
Exim
Medium
Ya
Tidak
Courier
Medium
Tidak
Ya
Tabel perbandingan antara qmail dan Unix MTA yang lain
2.11 Web Server Apache Apache adalah paket aplikasi yang digunakan untuk web server yang handal dan stabil. Apache masih menjadi andalan para webmaster jika dibandingkan dengan web server yang lain. Perkembangan server ini sangat pesat sehingga semua server web menggunakan Apache. Aplikasi ini dapat didownload di http://www.apache.org. Aplikasi Apache dikenal dengan nama httpd. Di dalam Linux aplikasi ini sudah tersedia dalam bentuk .RPM.
2.12 PHP PHP ( Hypertext PreProcessor ) merupakan salah satu teknologi serverside programming yang digunakan dalam pembuatan web dinamis di Internet. Dengan PHP bisa dibuat halaman web yang lebih menarik, lebih dinamis, dan lebih interaktif jika dibanding dengan hanya menggunakan HTML. Didalam sebuah web mail, PHP mempunyai peran penting, yakni digunakan sebagai interface dalam menjembatani antara user dengan mail server ( Imap server atau POP3 server ). PHP mempunyai feature yang dapat digunakan untuk mengakses
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
IMAP server. Dalam PHP terdapat modul Imap untuk melakukan operasi – operasi manipulasi e-mail seperti membaca e-mail, mengirim pesan, menghapus e-mail, melihat header pesan dan lain sebagainya. Untuk mengaktifkan modul ini, PHP membutuhkan file pendukung lain, diantaranya c-client, rfc822.h, mail.h. file – file pendukung tersebut digunakan untuk berkomunikasi dengan Imap server. Semua paket tersebut tersedia dalam paket Imap 200xx.tar.Z.
2.13 MySQL MySQL adalah Relational Database Management System ( RDBMS ) yang didistribusikan secara gratis dibawah lisensi GPL ( General Public License ). MySQL merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL ( Structured Query Language ). SQL sendiri merupakan sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Sebagai database server, MySQL lebih unggul dibandingkan dengan database server lainnya dalam query data, terbukti untuk query yang dilakukan oleh single user kecepatan query MySQL sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dari interbase. Untuk menginstal MySQL, pihak MySQL menyarankan untuk memakai versi binary yang bisa didapat di http://www.mysql.com yang telah dites untuk berbagai macam kondisi dan disesuaikan dengan kebutuhan umum server.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.14 Paket Pendukung Instalasi Qmail Untuk menginstal qmail, diperlukan beberapa paket yang harus dipersiapkan terlebih dahulu. Paket – paket tersebut dintaranya adalah : 2.14.1 Paket Utama •
Qmail, merupakan paket inti dari mail server dan merupakan aplikasi untuk pengiriman mail ( MTA ). Paket ini dapat di-download di http://www.qmail.org.
•
Ucspi-tcp, adalah aplikasi untuk tcpserver, paket yang digunakan sebagai utility untuk koneksi client server yang menggunakan protokol TCP. Paket ini bisa diperoleh di alamat http://cr.yp.to/ucspitcp/ucspi-tcp-0.88.tar.gz.
•
Daemon-tool, adalah daemon untuk mengelola aplikasi – aplikasi pendukung utility yang digunakan oleh sistem operasi untuk mengatur segala proses yang berjalan seperti qmail dan paket tambahan yang lain. Daemon akan melakukan starting service dan me-restart apabila service ada yang mati. Daemon-tool bisa didownload
di
alamat
http://cr.yp/daemontools/daemontools-
0.76.tar.gz. •
Ezmlm, digunakan untuk program mailing list, yang bisa didownload di http://cr.yp/software/ezmlm-053.tar.gz.
•
Autoresponder, digunakan untuk merespon e-mail yang masuk secara otomatis. Paket ini bisa di-download di alamat http://untroubled.org.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Qmailanalog, paket ini digunakan untuk menganalisa proses pengiriman dan penerimaan e-mail dan digunakan juga untuk melihat e-mail yang tidak masuk dan yang tidak bisa keluar.
•
Vpopmail, adalah POP3 server, yaitu paket tambahan dari qmail untuk menangani virtual e-mail domain dalam satu mail server, hal ini untuk memudahkan dalam penanganan atau administrasi sistem yang baik dan juga memiliki keamanan yang handal serta sangat efisien karena tidak harus menggunakan server dalam beberapa domain. Cukup satu instalasi untuk beberapa domain maupun subdomain. Perintah – perintah di vpopmail akan otomatis melakukan proses ke dalam file – file di qmail sehingga tidak perlu lagi menggunakan perintah manual di qmail. Paket ini dapat di-download di alamat www.inter7.com/vpopmail.
•
Vqadmin, adalah domain manager berbasis web yang digunakan untuk mengelola e-mail, baik penambahan, penghapusan alamat email, penambahan maupun penghapusan mailing list, dan juga penambahan
maupun
penghapusan
domain.
Vqadmin
juga
memberikan informasi tentang user untuk diizinkan untuk mengelola suatu
domain.
Paket
ini
dapat
diperoleh
di
alamat
www.inter7.com/vqadmin. •
Maildrop, digunakan untuk memfilter e-mail yang masuk. Program ini dugunakan secara bersamaan pada qmailscanner. Paketnya bisa didownload di alamat http://www.courier-mta.org.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Qmailadmin, merupakan aplikasi berbasis web yang digunakan untuk mengelola user pada tiap domain. Paket ini dapa didownload di alamat http://flow.dl.sourceforge.net/sourceforge/qmailadmin.
•
Courier-Imap, adalah program yang membantu pengaksesan IMAP ke maildir. Maildir adalah format mail yang dimiliki qmail. Dalam instalasi ini, yang menggunakan Courier-imap adalah Squirrelmail. Program ini dapat di-download di alamat http://www.courier-mta.org.
•
Squirrelmail, merupakan webmail client, yaitu aplikasi yang digunakan untuk mengakses mail server. Web mail yang fungsinya membantu user untuk mengelola e-mail user berbasis web. Pengelolaan ini berupa mengirim e-mail, baik yang menggunakan attachment maupun tidak, serta melihat kiriman e-mail dari seseorang.
Paket
ini
dapat
di-download
di
alamat
http://www.squirrelmail.org/ •
Qmail-scanner, adalah program tambahan qmail yang digunakan untuk melakukan scanning e-mail menggunakan karakteristik tertentu, khususnya digunakan untuk scanning virus atau proteksi antivirus. Program ini juga digunakan untuk scanning header atau file attachment. Paket program ini dapat diperoleh di alamat http://qmailscanner.sourceforge.net.
•
Spamassassin, merupakan program untuk mendeteksi e-mail yang masuk, apakah mail tersebut termasuk spam atau bukan. Program ini dapat di-download di alamat http://www.spamassassin.org.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Clamav Antivirus, merupakan aplikasi untuk mendeteksi e-mail yang masuk, apakah mail tersebut mengandung virus atau tidak. Program ini dapat diperoleh di alamat http://www.openantivirus.org.
•
Qtrap, digunakan untuk mendeteksi e-mail yang masuk, dalam aplikasi ini yang akan dideteksi adalah kata – kata dalam e-mail tersebut.
•
Isoqlog, digunakan untuk melihat aktivitas e-mail secara detail ( log mail ). Paket program ini dapat di-download pada alamat http://www.enderunix.org/isoqlog/.
•
Qmailmrtg, aplikasi ini digunakan untuk melihat aktivitas e-mail dalam bentuk grafis. Paket ini dapat di-download pada alamat http://www.inter7.com/qmailmrtg7/qmailmrtg7-3.4.tar.gz.
•
Sqwebmail, merupakan fasilitas tambahan berbasis web untuk mengakses mail dari qmail dan vpopmail. Sqwebmail merupakan program CGI sehingga dalam pengaksesan menggunakan direktori cgi-bin. Program ini hanya digunakan untuk format maildir dan tidak dapat digunakan untuk format mailbox. Program ini dapat didownload di alamat http://www.inter7.com/sqwebmail.
2.14.2 Paket Patch Selain paket – paket di atas juga masih terdapat beberapa paket tambahan yang dikenal dengan patch untuk mengembangkan mail server sesuai dengan kebutuhan masing – masing, paket – paket tersebut diantaranya adalah :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Qmailqueue-patch, patch ini digunakan supaya dapat ditambahkan aplikasi lain ke dalam aplikasi ini.
•
Qmail-maildir++.patch, patch ini akan membuat qmail-local dan qmail-pop3d kompatibel dengan maildir++ quota. Sistem ini akan menggunakan vpopmail dan courier-imap.
•
Qmail-date-localtime.patch, digunakan untuk local timestamp, ini akan membuat localtime tertulis di header e-mail.
•
Qmail-badmailfrom-badrcptto.patch, patch ini digunakan untuk dukungan “badmailfrom logging” dan untuk dukungan fungsi badrcptto dan login.
•
Qmail-limit-bounce-size.patch, digunakan untuk membatasi bounce message yang dilakukan oleh server. Patch ini akan membatasi ukuran file yang akan di-bounce, ukuran tersebut dapat diatur dengan mengubah nilai di file/var/qmail/control/bouncemaxbyte.
•
Qmail-smtpd-esmtp-size.diff, patch ini akan menambahkan ukuran ESMTP agar dapat mendukung qmail-smtpd, ini akan membantu server untuk melakukan penolakan untuk ukuran yang besar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III PEMBAHASAN
3.1 Persiapan Instlasi Dalam implementasi server e-mail ini, penulis menggunakan sistem operasi Linux Fedora Core 2. 3.1.1 Konfigurasi Linux Fedora Core 2 3.1.1.a Apache Program yang akan diinstal akan menggunakan web sebagai interface, tentunya server yang akan diinstal harus memiliki service web. Biasanya apache sudah terinstal dalam Linux dalam bentuk .RPM, untuk mengecek apakah aplikasi ini sudah terinstal gunakan perintah berikut : [root@jellyfishfish iwan]# rpm -qa | grep httpd Jika web server sudah terinstal maka minimal akan muncul hasil sebagai berikut : system-config-httpd-1.2.0-3 httpd-manual-2.0.49-4 httpd-2.0.49-4 Dari perintah di atas terlihat bahwa aplikasi apache sudah terinstal dan konfigurasinya menggunakan httpd versi 2.0.49-4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.1.1.b MySQL Paket program yang berikutnya harus diinstal adalah MySQL, sebuah server SQL yang nantinya akan digunakan untuk menyimpan autentifikasi dari user – user yang menggunakan server e-mail tersebut, linux Fedora Core 2 biasanya sudah mendukung paket MySQL. Untuk mengecek apakah aplikasi ini sudah terinstal gunakan perintah : [root@jellyfishfish iwan]# rpm -qa | grep mysql Jika paket sudah terinstal akan nampak hasil sebagai berikut : mysql-server-3.23.58-9 mysql-bench-3.23.58-9 php-mysql-4.3.4-11 mysql-3.23.58-9 3.1.1.c Struktur Direktori Untuk instalasi server e-mail dengan Qmail dan beberapa paket pendukungnya, ada beberapa direktori khusus yang akan digunakan digunakan untuk instalasi paket – paket Qmail. Direktori – direktori tersebut adalah : ¾ /usr/local/src Digunakan untuk meletakkan semua paket – paket .tar.gz yang telah di-download. Jadi semua instalasi akan dilakukan dalam direktori ini. ¾ /usr/local/bin Direktori ini digunakan untuk instalasi Autorespond. ¾ /var/qmail Direktori ini oleh Qmail setelah kita menginstal paketnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
¾ /home Digunakan untuk instalasi vpopmail, di mana vpopmail iniakan digunakan untuk menampung alamt e-mail dan yang diterima oleh user. ¾ /var/www/cgi-bin/ Direktori ini digunakan untuk instalasi qmailadmin dan sqwebmail. ¾ /usr/local/src/qmailadmin, /www/cgi-bin, /www/html Digunakan sebagai ruang konfigurasi sistem qmailadmin. Setelah paket – paket dasar di atas sudah terinstal dan direktori – direktori yang dibutuhkan sudah tersedia, langkah selanjutnya hapuslah paket yang tidak digunakan dalam instalasi Qmail. Biasanya sistem operasi RedHat dan Fedora masih menggunakan Sendmail sebagai standar mail saat instalasi sistem operasi, sehingga perlu menonaktifkan paket tersebut atau menghapusnya. Untuk menghapus paket Sendmail gunakan perintah ; [root@jellyfishfish iwan]# rpm -e --nodeps sendmail-8.12.11-4.6 Sendmail memiliki dependensasi atau ketergantungan dengan beberapa file, antara lain mdadm-1.5.0-3, fetchmail-6.2.5-2, dan mutt-1.4.1-6 sehingga ketika menghapus paket tersebut perlu ditambahkan perintah --nodeps agar sendmail tersebut dapat terhapus.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.2 Instalasi dan Konfigurasi Sebelum melakukan instalasi paket – paket utama, pastikan terlebih dahulu semua paket pendukung instalasi sudah tersedia, dan semua paket source code yang berhubungan dengan instalasi Qmail disimpan di direktori /usr/local/src sehingga semua instalasi dilakukan di direktori tersebut. Dianjurkan saat melakukan perintah – perintah penginstalan ini berjalan sebagai root. Instalasi pada sistem operasi Linux yang menggunakan compiler libc.2-3 memiliki konfigurasi yang berbeda sehingga membutuhkan paket ( patch ) tambahan.
3.2.1 Instalasi Daemontools Daemontools merupakan paket yang berisi utility yang digunakan untuk mengatur dan memonitor service yang akan digunakan oleh Qmail. Daemontools akan melakukan starting service dan melakukan restart apabila ada service yang mati. Instalasi Demontools sangat berbeda dengan paket yang lain, paket ini tidak dapat dikonfigurasi ulang atau di-make ulang. Jika paket ini sudah terinstal maka selamanya akan tetap terinstal, direktorinya dibuat oleh root dan semua file bekerja pada direktori tersebut. Berikut langkah – langkah penginstalannya : Pertama masuk ke direktori Daemontools [root@jellyfishfish src]# cd daemontools-0.76 Selanjutnya melakukan penambahan patch [root@jellyfishfish daemontools-0.76]# ../../daemontools-0.76.errno.patch
patch
-p1
<
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Hasil dari perintah diatas sebagai berikut : (Stripping trailing CRs from patch.) patching file src/error.h Untuk menginstal Daemontools gunakan perintah berikut : [root@jellyfishfish daemontools-0.76]# ./package/install Instalasi akan membuat direktori /command, /service, dan service scscanboot yang digunakan untuk starting. Potongan hasil instalasi terlihat seperti di bawah ini : Copying commands into ./command... Creating symlink daemontools -> daemontools-0.76... Making command links in /command... Making compatibility links in /usr/local/bin... Creating /service... Adding svscanboot to inittab... init should start svscan now. Dengan melihat potongan instalasi diatas maka proses instalasi telah berhasil. Untuk memeriksa apakah Daemontools sudah berjalan gunakan perintah ps [root@jellyfishfish daemontools-0.76]# ps ax | grep read 6820 ? S 0:00 readproctitle service errors: ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................ 6822 pts/2 S 0:00 grep read Langkah
berikutnya
pindahkan
perintah
di
direktori
/daemontools/command/ ke direktori /command yang berada di root dengan perintah : [root@jellyfishfish daemontools-0.76]# rm -rf /command/
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[root@jellyfishfish daemontools-0.76]# mv command/ / Untuk memeriksa apakah Daemontools-nya ( svscan ) sudah berjalan gunakan perintah : [root@jellyfish daemontools-0.76]# ps -ef | grep svscan Jika telah berjalan akan tampak hasil sebagai berikut : root 6817 1 0 20:50 ? 00:00:00 /bin/sh /command/svscanboot root 6819 6817 0 20:50 ? 00:00:00 svscan /service root 6826 2781 0 20:53 pts/2 00:00:00 grep svscan
3.2.2 Instalasi UCSPI – TCP Ucspi – tcp adalah paket yang digunakan sebagai utility koneksi client – server yang menggunakan protocol TCP. Layanan yang dijalankan menggunakan ucspi – tcp adalah inetd, xinetd, mconnect client, program socket, faucet, dan hose yang merupakan bagian dari netpipe. Yang dibutuhkan dalam koneksi tersebut adalah host name, alamat IP, dan port number. Langkah – langkah instalasi ucspi – tcp : Pertama masuk ke direktori ucspi [root@jellyfish src]# cd ucspi-tcp-0.88 Menambahkan patch [root@jellyfish
ucspi-tcp-0.88]#
0.88.errno.patch Akan tampak hasil sebagai berikut :
patch
-p1
<
../ucspi-tcp-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
(Stripping trailing CRs from patch.) patching file error.h Melakukan perintah make setup check untuk instalasi [root@jellyfish ucspi-tcp-0.88]# make setup check Setelah perintah make maka ucspi akan secara otomatis melakukan konfigurasi, berikut potongan hasil akhir dari perintah di atas : ./auto-str auto_home `head -1 conf-home` > auto_home.c ./compile auto_home.c ./load install hier.o auto_home.o unix.a byte.a ./compile instcheck.c ./load instcheck hier.o auto_home.o unix.a byte.a ./install ./instcheck
3.2.3 Instalasi dan Konfigurasi Qmail 3.2.3.a Instalasi Untuk melakukan instalsi qmail harus ditentukan dahulu letak direktori qmail, berikut adalah langkah – langkah instalasi qmail : Buat home direktori qmail [root@jellyfish iwan]# mkdir /var/qmail Buat group dan user yang menjalankan modul qmail. Qmail adalah program yang bersifat modular, yaitu terdiri atas beberapa program yang menjalankan fungsi yang berbeda – beda. Modul – modul yang dimiliki qmail adalah sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Qmailsmtpd, berfungsi untuk proses penerimaan / penolakan melalui SMTP.
•
Qmail.inject, berfungsi untuk memasukkan e-mail ke antrian lokal.
•
Qmail.rspawn / qmail.remote, menangani pengiriman e-mail keluar.
•
Qmail.lspawn / qmail.local, menangani pengiriman e-mail lokal.
•
Qmail.send, memproses antrian e-mail.
•
Qmail.clean, berfungsi mengosongkan antrian e-mail.
Program qmail dijalankan dengan user yang berbeda – beda, hal ini dimaksudkan agar lebih aman. Berikut cara menambahkan user dan group yang menjalankan qmail : [root@jellyfish iwan]# /usr/sbin/groupadd nofiles [root@jellyfish iwan]# /usr/sbin/useradd -g /var/qmail/alias alias -s /bin/false [root@jellyfish iwan]# /usr/sbin/useradd -g nofiles qmail -s /bin/false [root@jellyfish iwan]# /usr/sbin/useradd -g nofiles qmaild -s /bin/false [root@jellyfish iwan]# /usr/sbin/useradd -g nofiles qmaill -s /bin/false [root@jellyfish iwan]# /usr/sbin/useradd -g nofiles qmailp -s /bin/false [root@jellyfish iwan]# /usr/sbin/groupadd qmail [root@jellyfish iwan]# /usr/sbin/useradd -g qmail qmailq -s /bin/false [root@jellyfish iwan]# /usr/sbin/useradd -g qmail qmailr -s /bin/false [root@jellyfish iwan]# /usr/sbin/useradd -g qmail qmails -s /bin/false
nofiles
-d
-d /var/qmail -d /var/qmail -d /var/qmail -d /var/qmail
-d /var/qmail -d /var/qmail -d /var/qmail
Langkah selanjutnya adalah menambahkan aplikasi patch yang digunakan untuk program – program tambahan. Patch – patch tersebut diantaranya :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Qmail-1.03.errno.patch, digunakan sebagai tambahan pada qmail.
•
Qmailqueue.patch, digunakan untuk mengelola antrian mail.
•
Tarpit.patch, digunakan untuk delay untuk SMTP.
•
Qmail-bouncecontrol-1.03.patch, digunakan untuk mengontrol bounce e-mail yang tidak memiliki alamat jelas.
•
Qmail-date-localtime.patch.txt, digunakan untuk mengonversi waktu setempat.
•
Qmail-maildir++.patch, digunakan untuk mendukung sistem direktori, khususnya pembagian quota mail pada domain maupun quota mail pada tiap user.
Untuk menambahkan patch tersebut masuklah terlebih dahulu ke direktori qmail-1.03 [root@jellyfish src]# cd qmail-1.03 Berikut adalah langkah – langkah penambahan patch dan hasil dari perintah – perintah penambahan patch : [root@jellyfish qmail-1.03]# patch < ../qmail-1.03.errno.patch (Stripping trailing CRs from patch.) patching file cdb_seek.c (Stripping trailing CRs from patch.) patching file dns.c (Stripping trailing CRs from patch.) patching file error.3 (Stripping trailing CRs from patch.) patching file error.h [root@jellyfish qmail-1.03]# patch < ../qmailqueue.patch (Stripping trailing CRs from patch.) patching file Makefile (Stripping trailing CRs from patch.)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
patching file qmail.c [root@jellyfish qmail-1.03]# patch < ../tarpit.patch patching file qmail-smtpd.c [root@jellyfish qmail-1.03]# patch < ../qmail-bouncecontrol1.03.patch patching file control.c patching file control.h patching file qmail-send.c [root@jellyfish qmail-1.03]# localtime.patch.txt patching file date822fmt.c
patch
<
../qmail-date-
[root@jellyfish qmail-1.03]# patch < ../qmail-maildir++.patch patching file Makefile patching file TARGETS patching file maildirflags.c patching file maildirgetquota.c patching file maildirgetquota.h patching file maildirmisc.h patching file maildiropen.c patching file maildirparsequota.c patching file maildirquota.c patching file maildirquota.h patching file numlib.h patching file overmaildirquota.c patching file qmail-local.c patching file qmail-pop3d.c patching file strpidt.c patching file strtimet.c Setelah menambahkan patch ke dalam program qmail, tahap selanjutnya adalah melakukn kompilasi. [root@jellyfish qmail-1.03]# make setup check
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Dari perintah make di atas sistem akan melakukan konfigurasi otomatis menuju direktori – direktori masing – masing. Berikut adalah potongan akhir hasil kompilasi : nroff -man maildir.5 > maildir.0 nroff -man mbox.5 > mbox.0 nroff -man addresses.5 > addresses.0 nroff -man envelopes.5 > envelopes.0 nroff -man forgeries.7 > forgeries.0 ./install ./instcheck Tahap selanjutnya melakukan konfigurasi domain. [root@jellyfish qmail-1.03]# ./config-fast mail.jelly.co.id Nama mail.jelly.co.id adalah nama subdomain untuk mail. Biasanya satu domain dibagi menjadi beberapa subdomain, misalnya www.jelly.co.id mail.jelly.co.id
dan lain – lain.
Potongan hail konfigurasi tersebut sebagai berikut : Your fully qualified host name is mail.jellyfish.ac.id. Putting mail.jellyfish.ac.id into control/me... Putting jellyfish.ac.id into control/defaultdomain... Putting ac.id into control/plusdomain... Putting mail.jellyfish.ac.id into control/locals... Putting mail.jellyfish.ac.id into control/rcpthosts... Now qmail will refuse to accept SMTP messages except to mail.jellyfish.ac.id. Make sure to change rcpthosts if you add hosts to locals or virtualdomains! 3.2.3.b Konfigurasi Setelah melakukan proses instalasi, langkah selanjutnya adalah melakukan konfigurasi agar qmail yang diinstal tadi dapat berjalan. Langkah – langkah konfigurasi sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
¾ Membuat script yang akan digunakan untuk menjalankan qmail. Script ini digunakan untuk menjalankan smtp, send, pop3, beserta log-nya. Disarankan untuk mengurangi kegagalan akibat kesalahan penulisan script yang panjang, sebaiknya script ini didownload pada alamat URL : www.lifewithqmail.org/. ¾ Buat script /var/qmail/rc [root@jellyfish iwan]# vi var/qmail/rc ¾ Kemudian simpan dan beri izin eksekusi, juga dibuatkan direktori lognya. [root@jellyfish iwan]# chmod 755 /var/qmail/rc [root@jellyfish iwan]# mkdir -p /var/log/qmail ¾ Selanjutnya menentukan mode penyimpanan mail yang akan dipergunakan oleh qmail, di sini penulis menggunakan mode penyimpanan Maildir. [root@jellyfish iwan]# >/var/qmail/control/defaultdelivery ¾ Langkah
berikutnya
membuat
script
echo
yang
./Maildir/
digunakan
untuk
menjalankan qmail setiap kali komputer booting, script ini juga untuk mengontrol
proses
qmail,
script
dibuat
di
direktori
/var/qmail/bin/qmailctl. [root@jellyfish iwan]# vi /var/qmail/bin/qmailctl ¾ Agar file qmailctl dabat dijalankan, maka script harus dibuat executable. [root@jellyfish iwan]# chmod 755 /var/qmail/bin/qmailctl [root@jellyfish iwan]# ln –s /var/qmail/bin/qmailctl /usr/bin/
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
¾ Agar qmail dapat berjalan saat system operasi djalankan maka perlu dibuat link qmailctl. [root@jellyfish iwan]# /etc/rc.d/init.d/qmail [root@jellyfish iwan]# /etc/rc.d/rc0.d/K30qmail [root@jellyfish iwan]# /etc/rc.d/rc1.d/K30qmail [root@jellyfish iwan]# /etc/rc.d/rc2.d/S80qmail [root@jellyfish iwan]# /etc/rc.d/rc3.d/S80qmail [root@jellyfish iwan]# /etc/rc.d/rc4.d/S80qmail [root@jellyfish iwan]# /etc/rc.d/rc5.d/S80qmail [root@jellyfish iwan]# /etc/rc.d/rc6.d/K30qmail
ln
-s
/var/qmail/bin/qmailctl
ln
-s
/etc/rc.d/init.d/qmail
ln
-s
/etc/rc.d/init.d/qmail
ln
-s
/etc/rc.d/init.d/qmail
ln
-s
/etc/rc.d/init.d/qmail
ln
-s
/etc/rc.d/init.d/qmail
ln
-s
/etc/rc.d/init.d/qmail
ln
-s
/etc/rc.d/init.d/qmail
¾ Script supervise Script supervise merupakan script yang digunakan untuk menjalankan beberapa service pada qmail. Service tersebut adalah smtpd, pop3d, dan log pada qmail. Sintak untuk membuat direktori qmail di script supervise : [root@jellyfish iwan]# mkdir -p /var/qmail/supervise/qmail-send [root@jellyfish iwan]# mkdir -p /var/qmail/supervise/qmailsend/log [root@jellyfish iwan]# mkdir -p /var/qmail/supervise/qmail-smtpd [root@jellyfish iwan]# mkdir -p /var/qmail/supervise/qmailsmtpd/log [root@jellyfish iwan]# mkdir /var/qmail/supervise/qmail-pop3d [root@jellyfish iwan]# mkdir /var/qmail/supervise/qmailpop3d/log [root@jellyfish iwan]# mkdir /var/qmail/supervise/qmail-pop3ds [root@jellyfish iwan]# mkdir /var/qmail/supervise/qmailpop3ds/log Langkah berikutnya buat script untuk masing – masing direktori yang dibuat di atas.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Sintak untuk membuat script : [root@jellyfish iwan]# vi /var/qmail/supervise/qmail-send/run [root@jellyfish iwan]# vi /var/qmail/supervise/qmail-send/log/run [root@jellyfish iwan]# vi /var/qmail/supervise/qmail-smtpd/run [root@jellyfish iwan]# vi /var/qmail/supervise/qmailsmtpd/log/run [root@jellyfish iwan]# vi /var/qmail/supervise/qmail-pop3d/run [root@jellyfish iwan]# vi /var/qmail/supervise/qmailpop3d/log/run [root@jellyfish iwan]# vi /var/qmail/supervise/qmail-pop3ds/run [root@jellyfish iwan]# vi /var/qmail/supervise/qmailpop3ds/log/run Kemudian buat file kontrol concurrencyincoming [root@jellyfish iwan]# echo 100 /var/qmail/control/concurrencyincoming [root@jellyfish iwan]# cd /var/qmail/control/ [root@jellyfish iwan]# chmod 644 /var/qmail/control/concurrencyincoming File dan script yang dibuat harus executable, maka perlu ditambahkan perintah : [root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmailsend/run [root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmailsend/log/run [root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmailsmtpd/run [root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmailsmtpd/log/run [root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmailpop3d/run [root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmailpop3d/log/run [root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmailpop3ds/run [root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmailpop3ds/log/run Selanjutnya akan dibuat direktori yang akan digunakan untuk loging. [root@jellyfish iwan]# mkdir -p /var/log/qmail
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[root@jellyfish iwan]# mkdir -p /var/log/qmail/smtpd [root@jellyfish iwan]# mkdir -p /var/log/qmail/pop3d [root@jellyfish iwan]# mkdir -p /var/log/qmail/pop3ds Kemudian direktori diubah agar dimiliki user qmail. [root@jellyfish iwan]# chown qmaill /var/log/qmail [root@jellyfish iwan]# chown qmaill /var/log/qmail/smtpd [root@jellyfish iwan]# chown qmaill /var/log/qmail/pop3d [root@jellyfish iwan]# chown qmaill /var/log/qmail/pop3ds Yang terakhir membuat symbolic link dari direktori supervise ke /service. Hal ini dilakukan supaya daemontools dapat menjalankan qmail. [root@jellyfish /service [root@jellyfish /service [root@jellyfish /service [root@jellyfish /service
iwan]# ln -s /var/qmail/supervise/qmail-send iwan]# ln -s /var/qmail/supervise/qmail-smtpd iwan]# ln -s /var/qmail/supervise/qmail-pop3d iwan]# ln -s /var/qmail/supervise/qmail-pop3ds
Dari langkah – langkah di atas, qmail akan secara otomatis langsung berjalan. Apabila qmail belum akan dijalankan, lakukan perintah berikut : [root@jellyfish /]# qmailctl stop Stopping qmail... qmail-smtpd qmail-send qmail-pop3d Untuk melakukan test running menggunakan perintah : [root@jellyfish /]# qmailctl start Starting qmail [root@jellyfish /]# qmailctl stat /service/qmail-send: up (pid 23786) 3 seconds /service/qmail-send/log: up (pid 23816) 1 seconds
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
/service/qmail-smtpd: up (pid 23817) 1 seconds /service/qmail-smtpd/log: up (pid 23820) 1 seconds /service/qmail-pop3d: up (pid 23821) 1 seconds /service/qmail-pop3d/log: up (pid 23824) 1 seconds messages in queue: 0 messages in queue but not yet preprocessed: 0 Keenam proses di atas harus berstatus "up" lebih dari satu second, jika tidak maka ada beberapa masalah pada instalasi qmail. Instalasi qmail yang sukses minimal akan menghasilkan empat proses berikut : •
Qmail-send dijalankan user qmails.
•
Qmail-clean dijalankan user qmailq.
•
Qmail-rspawn dijalankan user qmailr.
•
Qmail-lspawn dijalankan user root.
Untuk melakukan pengontrolan proses yang menggunakan SMTP, perlu dibuatkan smtp access control, penambahan access ini mengizinkan localhost untukmelakukan injeksi menggunakan SMTP. Akses kontrol mengatur IP/Network mana saja yang menggunakan SMTP ini. Perlu diperhatikan bahwa penambahan banyak IP akan membahayakan keamanan server itu sendiri karena sangat mungkin dimanfaatkan pihak luar untuk mengirim e-mail ke server lain tanpa melakukan otentikasi. Proses ini disebut dengan spam. Perintah untuk mengizinkan alamat 127.0.0.1 yang notabene adalah localhost untuk melakukan open relay SMTP : [root@jellyfish iwan]# echo ‘127.0.0.1:allow,RELAYCLIENT=””’ >>/etc/tcp.smtp
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Perintah untuk mengizinkan IP 192.10.10.0 sampai 192.10.10.255 unuk melakukan open relay SMTP. IP tersebut adalah IP local ( LAN ). [root@jellyfish iwan]# ‘192.10.10.:allow,RELAYCLIENT=””’ >>/etc/tcp.smtp
echo
Me – refresh database SMTP : [root@jellyfish /]# qmailctl cdb Reloaded /etc/tcp.smtp. Untuk mengelola e-mail secara menyeluruh perlu adanya alias administrator. Alamat e-mail ini digunakan untuk mengirimkan laporan server atas kejadian – kejadian yang ada di server, misalnya adanya kesalahan penulisan alamat pengiriman, atau ada pengiriman email dari luar namun tidak ada alamat tersebut pada server kita atau atau dikenal dengan e-mail bouce. [root@jellyfish /]# echo
[email protected] > /var/qmail/alias/.qmail-mailer-daemon [root@jellyfish /]# echo
[email protected] > /var/qmail/alias/.qmail-postmaster [root@jellyfish /]# echo
[email protected] > /var/qmail/alias/.qmail-root Mengubah hak akses administrator : [root@jellyfish /]# chmod 644 /var/qmail/alias/.qmail-postmaster [root@jellyfish /]# chmod 644 /var/qmail/alias/.qmail-root [root@jellyfish /]# chmod 644 /var/qmail/alias/.qmail-mailerdaemon Mengecek apakah supervise sudah berjalan dengan baik : [root@jellyfish /]# ps ax | grep qmail Hasil dari perintah di atas jika supervise sudah berjalan dengan baik :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17404 ? 19975 ? 21969 ? 23492 ? 13286 pts/2
S S S S S
0:00 supervise qmail-send 0:00 supervise qmail-smtpd 0:00 supervise qmail-pop3d 0:00 supervise qmail-pop3ds 0:00 grep qmail
3.2.4 Instalasi Checkpassword Untuk Otentikasi POP3 Checkpassword adalah fasilitas sederhana untuk melakukan pengecekan password untuk semua aplikasi root. Program ini cocok digunakan untuk aplikasi yang menggunakan login, ftpd, dan pop3d. Tool ini mendukung alternative database password, login name yang rahasia, password yang panjang, subaccounts, waktu password, dan fasilitas lainnya. [root@jellyfish checkpassword-0.90]# patch -p1 < ../checkpassword-0.90.errno.patch patching file error.h Melakukan konfigurasi : [root@jellyfish checkpassword-0.90]# make setup check ./compile auto_home.c ./load install hier.o auto_home.o unix.a byte.a ./compile instcheck.c ./load instcheck hier.o auto_home.o unix.a byte.a ./install ./instcheck Sampai di sini proses instalasi qmail dan paket – paket standar yang dibutuhkan telah selesai, qmail sudah dapat digunkan untuk melakukan pengiriman e-mail.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.2.5 Pemilihan Format Mailbox Dalam sebuah Unix Mail Transfer Agent, secara garis besar format pemilihan Mailbox dapat dibagi menjadi dua bagian besar. Masing – masing format memiliki kelebihan dan kekurangan. ¾ Format Mbox Format ini merupakan format mailbox yang paling sering digunakan. Di dalam format Mbox sebuah e-mail disimpan dalam sebuah file besar. Sehingga apabila ada e-mail yang masuk atau e-mail yang keluar, akan ditambahkan di dalam file penyimpan. Dengan demikian, setiap kali ada penambahan e-mail, ukuran file ini akan semakin bertambah besar. Selain hal tersebut di atas, jika file mengalami corrupt, semua pesan yang ada akan rusak. Mail Transfer Agent yang menggunakan format mbox ini, file tersebut biasanya diletakkan dalam /var/spool/mail/username. Dilihat dari penempatan file-nya, mode seperti ini termasuk dalam jenis Unix Tradotional Mailbox ( format ini bias any digunkan oleh Sendmail ). File mbox yang sudah menerapkan sistem yang lebih modern file tersebut diletakkan di direktori /home/username/Mailbox. Format ini paling sering digunakan, di mana bekerja dengan hamper semua Mail Transfer Agent.
Kelemahan format mbox ini, jika pada saat download e-mail ada gangguan, pada sesi berikutnya Mail User Agent akan mencoba untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
melakukan download lagi, sesi sebelumnya dianggap mengalami kegagalan. Selain hal tersebut, kemungkinan besar format mbox akan rusak. ¾ Format Maildir Maildir adalah sebuah format Mailbox yang lebih realibel ( andal ) dan tahan crash disbanding dengan Mbox, karena tiap pesan diletakkan pada file yang berbeda. Namun masih sedikit Mail User Agent yang mendukung format ini. File pesan e-mail yang masuk maupun keluar diletakkan dalam direktori /home/username/Maildir. Direktori Maildir ini juga memiliki tiga buah subdiorektori, yaitu new, cur, dan tmp. Masing – masing pesan e-mail dipisahkan di dalam salah satu subdirektori tersebut, tergantung pada kondisi status pesan. Direktori new dipergunakan untuk pesan baru yang belum dibaca, cur untuk pesan yang sudah dibaca, sedangkan tmp untuk pesan yang sedang dikirimkan.
3.2.6 Konfigurasi dan Instalasi Virtual Domain Virtual domain adalah program yang digunakan untuk mengatur domain pada e-mail secara virtual dan user account e-mail tetapi tidak menggunakan proses authentifikasi berdasar file /etc/passwd. Dengan menggunakan virtual domain, di dalam satu mesin bisa menangani ribuan bahkan sampai jutaan alamat e-mail.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Vpopmail merupakan virtual domain yang digunakan sebagai paket tambahan untuk qmail supaya qmail dapat mendukung virtual e-mail domain dalam sebuah server. Dengan vpopmail sebuah server e-mail dapat menampung banyak nama domain untuk e-mail sekaligus. Vpopmail merupakan sekumpulan program yang melakukan outomatisasi pembuatan dan perawatan account virtual domain dan pop untuk qmail. 3.2.6.a Keistimewaan dan Keunggulan Vpopmail o Seorang administrator mailserver dapat dengan mudah dan cepat melakukan penambahan dan perawatan mail account dengan memanfaatkan
program-program
vpoopmail
tanpa
harus
mengakses langsung file-file kontrol qmail. o Tidak perlu mempunyai ratusan file .qmail untuk virtual domain. Setiap domain mempunyai direktori sendiri di bawah user vpopmail dengan file password yang terpisah untuk setiap domainnya. o Dapat menggunakan MySQL, /etc/passwd, /etc/shadow, cdb vpasswd, Ldap, Sybase, Oracle, dan PostgresSQL untuk proses penyimpanan authentifikasi user. o Hanya memerlukan 1 user dalam /etc/passwd, dan semuanya berjalan dengan menggunakan satu UID/GID. o Mengantarkan langsung ke Maildir dengan menggunakan qmailpop3d, file .qmail atau program Maildir lainnya. o Konfigurasi dasar log sesuai dengan yang diperlukan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
o Dukungan untuk named dan IP based virtual domain. o Pembuatan subdirektori yang dinamik untuk 1 sampai 23 juta user. o Secara otomatis seluruh modifikasi file qmail dalam program command line. o Semua fungsi tersedia dalam dokumen API ke C. library.3.4.12 mempunyai object library yang bisa digunakan untuk modul PHP. o Mendukung authentifikasi relay control pada Qmail Smtp server. o Bisa digunakan dengan qmailadmin, sqwebmail, dan courier-imap. o Keamanannya menggunakan tcpserver. Apabila semua alamat email menggunakan virtual domain, dapat menggunakan keamanan yang tinggi menggunakan tcpserver melalui uid / gid, yaitu vpopmail / vchkpw. 3.2.6.b Struktur Direktori Semua vpopmail mempunyai struktur direktori yang sama, biasanya vpopmail diinstal pada partisi /home. Direktori vpopmail terdiri dari : o bin yang berisi semua file binary o lib yang berisi file library libvpopmail.a o include yang berisi semua file C header file o users yang digunakan untuk backward compatibility di mana user menggunakan /etc/passwd o domain yang berisi domain local dan virtual domain
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Dalam satu direktori, vpopmail mampu membuat 100 user atau direktori. Secara default sistem akan memiliki 62 direktori dalam 3 level dan 100 user direktori tiap direktori sehingga totalnya akan berjumlah lebih dari 24 juta user direktori ( 100 + ( 62*100 ) + ( 62*62*100 ) + ( 62*62*62*100 ) ). Vpopmail
akan
secara
otomatis
membuat
direktori
dan
subdirektori. Apabila 100 user atau direktori sudah terpenuhi maka vpopmail akan secara otomatis membuat direktori dan subdirektori baru. 3.2.6.c Konfigurasi Vpopmail Pada saat menjalankan script ./configure, ada beberapa options instalasi yang dapat dilakukan untuk mengatur konfigurasi dengan program yang lain. --enable-clear-passwd=y Perintah ini akan memberikan password yang asli tanpa mengalami enkripsi. Opsi ini digunakan administrator dalam mengakses password user. Hal ini untuk membantu user apabila tidak ingat password-nya. --enable-valias=y Perintah ini akan mengaktifkan alias Vpopmail yang sebagian besar menggunakan modul MySQL. Perintah ini mengizinkan alias / forward disimpan dalam database MySQL. --enable-mysql-replication=y Opsi ini digunakan apabila terdapat dua server MySQL yang berbeda. MySQL server memiliki pusat MySQL server untuk meng-update
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
pengubahan informasi yang ada di salah satu server. Vpopmail melakukan read-only MySQL server dan akan mengirim semua transaksi yang dilakukan
seperti
penambahan
user,
pengubahan
password,
dan
penghapusan domain ke server central database MySQL. --enable-roaming-users=n|y Perintah ini mengizinkan atau menutup penggunaan open relay untuk otentifikasi POP. Setting ini secara default adalah n atau tidak mengaktifkan roaming. --enable-hardquota=#y|n Perintah ini akan memberikan izin untuk mengeset hard quota. Secara default opsi yang digunakan y maka jumlah maksimal pesan 50, apabila lebih dari itu server akan melakukan bounce. Untuk mengnonaktifkan quota tersebut gunakan opsi NOQUOTA. --enable-default-domain=nama domain Default domain name adalah null, maka diharuskan untuk mengisi default domain virtual domain sehingga user hanya dapat melakukan otentifikasi pada domain tersebut. --enable-ip-alias-domains=y|n Virtual domain akan melakukan lookup menggunakan alamat IP. --enable-relay-clear-minutes=360 Perintah ini akan memberikan izin untuk melakukan relay dengan waktu roaming user selama 360 menit. Jika opsi –enable-roaming-users=y aktif,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
maka opsi –enable-relay-clear-minutes=360 juga akan mengeset lamanya clearopensmtp. --enable-mysql=n|y Perintah ini menggunakan MySQL untuk melakukan otentifikasi, perhatikan bahwa servername atau IP address user password MySQL sudah ada dan tabel vpopmail di MySQL sudah dibuat. --enable-sqlincdir= Perintah ini menentukan di mana direktori sql include berada. Secara default direktori tersebut berada di /usr/local/mysql. --enable-sqllibdir=/usr/lib/mysql Perintah ini menentukan di mana direktori sql libs berada. Opsi ini mencari file libmysqlclient.a yang secara default berada di /usr/lib/mysql. --enable-sqllibs=mysqlclient Perintah ini menentukan library yang digunakan untuk link sql. Secara default file tersebut adalah libmysqlclient. --enable-large-site=n|y Opsi ini akan melakukan konfigurasi mengenai banyaknya user pada setiap domain-nya. Metode ini sangat efisien, karena jika sebuah server memiliki user yang sangat banyak, maka dengan mengaktifkan opsi ini dan vpopmail akan membuat tabel untuk virtual doamin. Secara standar MySQL dapat menyimapn 500.000 user, apabila opsi ini diaktifkan, maka MySQL akan menaikikan perfomanya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
--enable-ucspi-dir=dir Perintah ini akan menentukan direktori untuk instalasi paket ucspi. --enable-logging=e|y|n Opsi ini akan memberikan izin login melalui POP3. Log otentifikasi POP3 yang bermasalah akan disimpan di syslog ( /var/log/maillog ). --enable-log-name=vpopmail Opsi ini akan membuat file log/syslog. --enable-vpopuser=vpopmail Secara default, vpopmail akan menggunakan user vchkpw. --enable-vpopgroup=vchkpw: Secara default, vpopmail akan menggunakan group vchkpw. --enable-admin-email= Sintaks ini berfungsi untuk memasukkan alamat e-mail administrator, yang digunakan sebagai laporan atas kejadian yang ada di vpopmail. --enable-tcpserver-file=/etc/tcp.smtp Sintaks ini menentukan di mana file tcpserver ditempatkan, juga digunakan untuk relay. Secara default, direktori ini berada di /etc dan juga di /etc/tcprules.d. --enable-qmaildir=dir Perintah ini untuk menentukan di mana qmail terinstal, biasanya di direktori /var/qmail.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
--enable-tcprules-prog=/usr/local/bin/tcprules Sintaks ini untuk menentukan lokasi program tcprules. Biasanya di direktori /usr/local/bin. --enable-apop-file=/etc/apop-secrets Untuk menyatakan direktori di mana file apop berada. --enable-apop=y|n Otentifikasi apop. --enable-passwd=y|n Menggunakan
direktori
/etc/passwd
untuk
melakukan
otentifikasi
password. Virtual domain atau vpopmail tidak menggunakan otentifikasi password dengan /etc/passwd, namun menggunakan otentifikasi vpopmail user. 3.2.6.d Installasi Vpopmail Untuk menginstal vpopmail, ada beberapa hal yang harus dipersiapkan. •
Fungsi compiler C yang lengkap.
•
Qmail harus sudah terinstal.
Setelah hal tersebut terpenuhi, selanjutnya vpopmail dapat mulai diinstal. Mempersiapkan user dan group yang akan digunakan oleh vpopmail. [root@jellyfish vpopmail-5.4.13]# /usr/sbin/groupadd -g 89 vchkpw [root@jellyfish vpopmail-5.4.13]# /usr/sbin/useradd -g vchkpw -u 89 -d /home/vpopmail/ vpopmail. Mengkonfigurasikan vpopmail.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[root@jellyfish vpopmail-5.4.13]# ./configure --disable-roamingusers --enable-logging-p --disable-ip-alias-domains --disablepasswd --enable-clear-passwd --disable-domain-quotas --enableauth-module=mysql --disable-many-domains --enable-authlogging --enable-sql-logging --enable-valias --disable-mysql-limits
[email protected] --enablesqwebmail-pass=n --enable-vpopuser=vpopmail --enableqmaildir=/var/qmail –enable-incdir=/usr/lib/mysql. Dari perintah konfigurasi akan didapat hasil sebagai berikut : vpopmail 5.4.13 Current settings --------------------------------------vpopmail directory = /home/vpopmail/ uid = 89 gid = 89 roaming users = OFF --disable-roaming-users (default) password learning = OFF --disable-learn-passwords (default) md5 passwords = ON --enable-md5-passwords (default) file locking = ON --enable-file-locking (default) vdelivermail fsync = OFF --disable-file-sync (default) make seekable = ON --enable-make-seekable (default) clear passwd = ON --enable-clear-passwd (default) user dir hashing = ON --enable-users-big-dir (default) address extensions = OFF --disable-qmail-ext (default) ip alias = OFF --disable-ip-alias-domains (default) auth module = mysql --enable-auth-module=mysql mysql replication = OFF --disable-mysql-replication (default) sql logging = ON --enable-sql-logging mysql limits = OFF --disable-mysql-limits (default) MySQL valias = ON --enable-valias auth inc = -I/usr/lib/mysql auth lib = -L/usr/lib/mysql -lmysqlclient -lz -lm system passwords = OFF --disable-passwd (default) pop syslog = show only failed attempts --enable-logging=e (default) auth logging = ON --enable-auth-logging (default) one domain per SQL table = --disable-many-domains
Langkah selanjutnya melakukan instalasi. [root@jellyfish vpopmail-5.4.13]#make [root@jellyfish vpopmail-5.4.13]#make install-strip
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Apabila tidak ada pesan error maka proses instalasi sudah berhasil. 3.2.6.e Administrasi Mail Server dengan Vpopmail. Administrasi digunakan
untuk
mail
server
kebutuhan
dengan
administrasi
menggunakan mail
yang
vpopmail dilakukan
administrator, adapun aplikasi – aplikasi yang difungsikan yaitu : •
Menambah atau membuat virtual domain [root@jellyfish bin]#./vaddomain iwan.jellyfish.co.id Please enter password for postmaster:klaten enter password again:klaten Vaddomain akan memodifikasi file – file qmail, diantaranya : o /var/qmail/control/locals o /var/qmail/control/rcpthosts o /var/qmail/control/morercpthosts ( jika rcpthosts > lebih dari 50 baris ). o /var/qmail/users/assign o /var/qmail/users/cdb Juga akan menambahkan beberapa direktori berikut : o ~vpopmail/domains/namadomain o ~vpopmail/domains/namadomain/postmaster/Maildir o ~vpopmail/domains/namadomain/vpasswd o ~vpopmail/domains/namadomain/vpasswd.cdb
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Menambah user untuk tiap virtual domain Dalam pembuatan user dapat menggunakan opsi yang bias dilihat dengan menggunakan perintah : [root@jellyfish bin]#./vadduser Contoh penambahan user dengan opsi : [root@jellyfish bin]#./vadduser
[email protected] -n -q 10M -c mail pribadi Sintaks tersebut akan membuat user
[email protected] tanpa menggunakan password (-n) dengan kuota 10M (-q) dengan keterangan e-mail pribadi (-c). Contoh tanpa opsi : [root@jellyfish bin]#./vadduser
[email protected] Please enter password for
[email protected]:usd enter password again:usd
•
Melihat informasi domain Dalam vpopmail dapat dilihat informasi tentang virtual domain, iformasi tersebut antara lain nama domain, letak direktori virtual domain, dan jumlah user. [root@jellyfishfish bin]# ./vdominfo domain: jellyfish.co.id uid: 89 gid: 89 dir: /home/vpopmail//domains/jellyfish.co.id users: 3 domain: iwan.jellyfish.co.id uid: 89 gid: 89
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
dir: /home/vpopmail//domains/iwan.jellyfish.co.id users: 1 •
Melihat informasi user Informasi yang bias dilihat pada user antara lain penggunaan quota, nama virtual domain, direktori dari user dan lainnya. [root@jellyfishfish bin]# ./vuserinfo
[email protected] name: iwan passwd: $1$VBt3R0Yu$KZhmi.r/P0tEmlgdMdg4M0 clear passwd: usd comment/gecos: iwan uid: 1 gid: 0 flags: 0 gecos: iwan limits: No user limits set. dir: /home/vpopmail//domains/jellyfish.co.id/iwan quota: NOQUOTA usage: NOQUOTA account created: Thu Apr 6 18:49:15 2006 last auth: Never logged in
•
Menghapus virtual domain Jika ingin menghapus salah satu virtual domain, dapat digunakan perintah berikut : [root@jellyfishfish bin]# ./vdeldomain [nama domain]
•
Menghapus user Perintah yang digunakan untuk menghapus user. [root@jellyfishfish bin]# ./vdeuser [user@namadomain]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Mengganti password user [root@jellyfishfish [password baru]
•
bin]#
./vpasswd
[user@namadomain]
Memberikan quota user [root@jellyfishfish bin]# ./vsetuserquota [user@namadomain] [quota dalam byte]
•
Mengirim e-mail ke semua alamat [root@jellyfishfish bin]# ./vpopbull -f [file pesan] [virtual domain] Pengiriman e-mail dengan fasilitas vpopbull memiliki kterbatasan karena harus ditulis secara manual.
•
Membuat file e-mail [root@jellyfishfish bin]# vi [nama file pesan] Dalam menulis e-mail, perhatikan perlu diperhatikan penulisan header dari masing – masing topik, yaitu Date, Subject, From, dan Reply-to.
3.2.7 Instalasi Mailing List Mailing List adalah sekumpulan daftar e-mail yang tergabung dalam kelompok tertentu dan memiliki tujuan tertentu. Setiap alamat email dapat saling mengirimkan pesan kepada kelompok tersebut sesuai dengan fungsi kelompok tersebut. Dalam penulisan Tugas Akhir ini, program mailing list yang digunakan adalah ezmlm.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Ezmlm adalah program yang digunakan untuk mengelola mailing list yang menggunakan Mail Transfer Agent Qmail. 3.2.7.a Instalasi Ezmlm Langkah pertama untuk melakukan instalasi, terlebih dahulu source code-nya diletakkan di direktori /usr/local/src. Disarankan untuk menggunakan ezmlm-0.53-idx-0.41.tar.gz, sehingga tidak perlu melakukan patching, karena file ini gabungan dari dua file ezmlm dan ezmlm-idx. Langkah instalasi : [root@jellyfishfish ezmlm-0.53-idx-0.42]# make [root@jellyfishfish ezmlm-0.53-idx-0.42]# make setup Jika dalam instalasi tidak ada pesan error maka instalasi telah berhasil. 3.2.7.b Administrasi Mailing List •
Membuat Mailing List Untuk membuat mailing list perlu dipersiapkan: o Nama domain ( jellyfish.co.id ). o Nama mailing list ( milis-pribadi ). o Direktori
untuk
meletakkan
mailing
list
(
/home/vpopmail/domains/jellyfish.co.id/milis-pribadi ). Untuk membuatnya menggunakan perintah ezmlm-make. [root@jellyfishfish /]# /usr/local/bin/ezmlm/ezmlm-make/ [direktori milis] [direktori alias] [nama milis] [nama domain].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
•
Melakukan Subscribe Subscribe adalah proses mendaftar menjadi anggota milis, proses ini dapat dilakukan oleh administrator dan oleh user. o Dilakukan oleh administrator : [root@jellyfishfish /]# /usr/local/bin/ezmlm/ezmlm-sub/ [direktori milis] [nama e-mail] o Dilakukan oleh client : Cara ini sering digunakan oleh user untuk menjadi anggota milis, untuk mendaftar bisanya digunakan fasilitas e-mail masing – masing.
•
Melakukan Unsubscribe Unsubscribe merupakan proses pembatalan keanggotaan milis. Seperti proses subscribe, proses ini juga dapat dilakukan oleh administrator dan oleh user. o Dilakukan oleh administrator : [root@jellyfishfish /]# /usr/local/bin/ezmlm/ezmlm-unsub/ [direktori milis] [nama e-mail] o Dilakukan oleh user : Seperti pada proses subscribe, pembatalan keanggotaan milis oleh user dilakukan dengan fasilitas e-mail.
•
Melihat Anggota Mailing List Untuk melihat anggota milis, menggunakan perintah ezmlm-list. [root@jellyfishfish [direktori milis]
/]#
/usr/local/bin/ezmlm/ezmlm-list/
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.2.8 Autorespond Autorespond juga disebut sebagai mail robot, merupakan program tambahan untuk membantu qmail dalam pengelolaan mail. Yaitu untuk merespon secara otomatis segala e-mail yang masuk ke server, dengan mengirim pesan balasan ke pengirim. Autorespond juga digunakan jika ada kesalahan pengiriman sehingga server harus mengirim pesan ke pengirim tersebut. Proses ini biasa dikirim oleh mailer-daemoni, empty envelope sender, atau bulk. 3.2.8.a Instalasi Autorespond Program
autorespon
biasanya
akan
diinstal
di
direktori
/usr/local/bin. Masuk ke direktori autorespond dan melukan make dan make install. [root@jellyfish autorespond-2.0.5]# make [root@jellyfish autorespond-2.0.5]# make install Jika tidak terdapat pesan error maka proses instalasi telah berhasil. 3.2.8.b Administrasi Autorespond Untuk membuat autorespond, terlebih dahulu harus dibuat alias qmail pada masing – masing direktori domain. Membuat file alias qmail : [root@jellyfishfish domain]/[file alias]
/]#
vi
/home/vpopmail/domains/[nama
Sintaks penulisan file : Autorespond time num message dir [flag arsender] o Time
: banyaknya waktu dalam hitungan detik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
o Num
: jumlah pesan maksimum yang diizinkan dalam
waktu tersebut. o Message
: nama file yang akan dikirimkan oleh server.
o Dir
: direktori untuk menampung log pesan.
o Flag
: mengelola pesan yang akan dikirim. 9 0 adalah pesan yang asli tidak di sertakan. 9 1 adalah pesan asli yang disertakan
kecuali
attachment. o Arsender
: alamat from pengirim pesan.
9 + from akan kosong. 9 $ from akan diisi dengan alamat dari pesan.
3.2.9 Qmailadmin Qmailadmin merupakan fasilitas pendukung qmail dan vpopmail untuk mengelola domain dan user berbasis web, sehingga semua kegiatan yang berhubungan dengan vpopmail ( penambahan dan penghapusan user, mailing list dan lain – lain ) dapat dilakukan dengan mudah menggunakan qmailadmin. 3.2.9.a Konfigurasi Qmailadmin Sebelum melakukan instalasi, qmailadmin terlebih dahulu harus dikonfigurasikan. Berikut adalah opsi yang digunakan dalam konfigurasi qmailadmin :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
--enable-cgibindir={dir} Qmailadmin menggunakan HTTP server dengan direktori cgi-bin. --enable-htmllibdir={dir} Qmailadmin menggunakan HTTP server dengan direktori html. --enable-qmaildir={dir} Qmailadmin menggunakan direktori di mana qmail terinstal. --enable-cgipath={/cgi-bin/qmailadmin} Qmailadmin menggunakan path untuk qmailadmin yang biasanya terdapat di /cgi-bin/qmailadmin. --enable-vpopuser={vpopuser} Qmailadmin menggunakan user vchkpw untuk koneksi ke vpopmail. --enable-vpopgroup={vchkpw} Qmailadmin menggunakan user group vchkpw untuk koneksi ke vpopmail. --enable-autoresponder-bin={path} Qmailadmin membutuhkan path untuk mencari binary autoresponder. --enable-ezmlmdir={dir} Qmailadmin membutuhkan path direktori ezmlm. --enable-modify-spam=y Qmailadmin memberikan izin konfigurasi spam. --enable-domain-autofill Konfigurasi ini dibutuhkan apabila memiliki domain yang berbeda tetapi menggunakan qmailadmin yang sama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.2.9.b Instalasi Qmailadmin User yang digunakan saat konfigurasi dan instalasi qmailadmin haruslah sebagai root, karena vpopmail memprotreksi library yang berhubungan dengan qmailadmin dari user regular sementara qmailadmin membutuhkan library tersebut. Qmailadmin juga membutuhkan ruang untuk konfigurasi system di direktori /usr/local/src/qmailadmin, web server di direktori /www/cgi-bin, dan html di direktori /www/html. Untuk mengkompilasi source code qmailadmin, terlebih dahulu melakukan konfigurasi. [root@jellyfishfish qmailadmin-1.2.10]# ./configure --enablecgibindir=/var/www/cgi-bin/ --enable-autoresponderbin=/usr/local/bin/ --enable-ezmlmdir=/usr/local/bin/ezmlm/ -enable-vpopmaildir=/home/vpopmail/ --enablevpopuser=vpopmail --enable-htmldir=/var/www/html/ --enablemodify-spam=Y Selanjutnya melakukan kompilasi. [root@jellyfishfish qmailadmin-1.2.10]# make Setelah proses make selesai, kemudian melakukan instalasi. [root@jellyfishfish qmailadmin-1.2.10]# make install-strip 3.2.9.c Administrasi Qmailadmin Setelah instalasi berjalan dengan baik, selanjutnya bisa dilakukan administasi e-mail dengan qmailadmin. Untuk menjalankan qmailadmin pada web browser dengan menggunakan alamat http://localhost/cgi-bin/qmailadmin.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.1 Tampilan menu login
Untuk melakukan login, diharuskan untuk mengisi kolom – kolom pada menu login. User account menggunakan postmaster, domain name masukkan domain name yang di-handle oleh postmaster beserta password-nya. Account postmaster dan domain namedomain name tersebut merupakan yang dibuat dengan vpopmain saat menjalankan perintah vadddomain. Jika login diterima oleh sistem, selanjutnya akan masuk ke main menu. Fasilitas – fasilitas yang terdapat pada main menu adalah : •
Main Menu. o Email Account ( untuk melihat e-mail account ). o Forward ( untuk forward ). o Mail Robot ( menampilkan mail robot ). o Mailing List ( menampilkan mailing list ).
•
Quick Links.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
o New Email Account ( membuat alamat e-mail baru ). o New Forward ( membuat mail forward baru ). o New Mail Roboti ( membuat mail jawaban otomatis oleh system ). o New Mailing List ( membuat group / kelompok alamat email ). •
Refresh Menu.
•
Logout.
Gambar 3.2 Tampilan Main Menu
¾ Membuat user e-mail Untuk membuat alamat e-mail baru, pada Main Menu klik bagian New Email Account, maka sistem akan meminta user untuk memasukkan data – data seperti email account, password, nama user, dan lainnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Pendaftaran alamat baru ini langsung dapat sekaligus dimasukkan dalam keanggotaan mailing list.
Gamabar 3.3 Tampilan New Email Account
¾ Membuat forward Forward mail digunakan untuk meneruskan pengiriman e-mail apabila alamat e-mail yang dituju tidak ada atau salah penulisan alamat. Sebagai
contoh,
saya
memiliki
alamat
e-mail
[email protected], ada teman yang akan mengirim e-mail sedangkan dia lupa alamat e-mail yang saya miliki dan cuma ingat nama iwan, dan mengirimnya ke alamat
[email protected]. Dengan fasilitas forward, kesalahan penulisan alamat dapat diatasi, yaitu dengan memasukkan nama iwan ke dalam daftar forward maka alamat e-mail
[email protected]
[email protected].
akan
di-forward
ke
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.4 Tampilan New Forward
¾ Membuat mail robot Mail
Robot
merupakan
fasilitas
bantu
untuk
mempermudah
pengelolaan program autorespond. Fungsi mail robot yang dibuat di qmailadmin ini tidak berbeda dengan yang dibuat dalam program autorespond. Dalam qmailadmin pembutan mail robot lebih mudah, untuk membuatnya klik New Mail Robot pada Main Menu, selanjutnya tinggal mengisi form yang yang ada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.5 Tampilan New Mail Robot
3.2.10 Sqwebmail Sqwebmail merupakan program berbasis web untuk mengakses email
dari qmail dan vpopmail. Sqwemail merupakan program CGI dan
hanya digunakan untuk format maildir dan tidak dapat digunakan untuk format mailbox 3.2.10.a Konfigurasi Sqwebmail Konfigurasi sqwebmail digunakan untuk mengoptimalkan fungsi – fungsi yang terdapat dalam sqwebmail. Berikut adalah opsi – opsi yang dapat digunakan untuk konfigurasi :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
--without-module-Sintak ini berfungsi agar sistem tidak menggunakan modul tertentu untuk melakukan otentikasi. --with-libcharset Opsi ini berfungsi agar sistem menggunakan library GNU libcharset jika memang tersinstal. --disable-changepass Sintak ini menonaktifkan kemampuan untuk mengubah password login. --enable-unicode=chset,chset,… Opsi untuk menonaktifkanunicode tertentu. --with-cachedir=dir, --with-acheowner=userid Sintak ini akan membuat sqwebmail menggunakan cache dan direktori cache dapat diubah sesuai kebutuhan. --without-gzip Dengan opsi ini sistem tidak akan menggunakan program gzip untuk mengompres data sebelum dikirim. --with-db=db – Sistem akan menggunakan database, biasanya yang digunakan library GDBM atau DB. --enable-https Sistem akan menggunakan https secure.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
--enable-https=login Perintah ini akan membuat sistem mengguanakn https untuk login, secara default sistem menggunakan –enable-https=auto. --enable-hardtimeout=seconds Sistem akan menentukan batas waktu jeda ( time out ). Jika batas waktu tersebut dilewati maka user akan dibuat logout. --enable-autopurge=days Sintak ini akan membuat pesan yang ada pada direktori trash akan secara otomatis terhapus pada periode waktu tertentu. --enable-maxpurge=days Opsi ini untuk mementukan batas waktu maksimum untuk menghapus direktori trash. --with-defaultlang=en Secara default sistem akan menggunakan bahasa Inggris. --enable-cgibindir=directory Sintak ini untuk menentukan lokasi direktori cgi-bin. --enable-imagedir=directory Menentukan direktori di mana gambar akan diinstal. --enable-imageurl=URL Opsi ini menyatakan alamat URL yang mengandung image dan icon. --enable-mimetypes=filelist
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Sintak untuk menggunakan file mime.types. Saat ettachment di-upload, sistem akan melakukan pencarian ekstensi file yang dikirim oleh file mime.types. --enable-mimecharset=charset Dengan sintak ini default charset akan digunakan untuk header. --enable-lang=lang Untuk menentukan default language dari web page. --enable-bannerprog=program Perintah ini untuk memberikan path program banner sqwebmail. --with-maxargsize=n Sintak ini akan mengeset ukuran maksimum saat sqwebmail melakukan post. --with-maxformargsize=n Sintak ini mengeset ukuran file file yang di-upload ( attachment ) dengan sqwebmail. --with-maxmsgsize=n Opsi ini akan mengeset ukuran maksimum message ( termasuk file attachment ). --with-ispell=pathname Menentukan direktori yang digunakan untuk melakukan pengecekan ejaan dokumen. --without-ispell Pengecekan ejaan tidak dilakukan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
--with-fcgi Sintak ini untuk menggunakan dukungan fastcgi ( http://www.fastcgi.com ). --disable-autorenamesent Untuk menonaktifkan fasilitas penamaan ulang folder Sent untuk setiap bulanya. --with-calendarpurge=N Jika status kalender adalah enable maka purge dilakukan secara default ( 30 hari ). --with-trashquota Sintak ini untuk melakukan trash quota direktori, termasuk menghapus file. --with-syslog-DEST Sintak ini akan memilih sumber syslog. Modul – modul untuk melakukan otentifikasi : 9 Authpwd
: otentifikasi menggunakan sistem file pwd.
9 Authshadow
: menggunakan authpwd dengan fill shadow password.
9 Authpam
: menggunakan PAM library untuk otentifikasi.
9 Authuserdb
: melakukan otentifikasi menggunakan database GDBM/DB.
9 Authmysql
: melakukan otentifikasi menggunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
database MySQL. 9 Authpgsql
: melakukan otentifikasi menggunakan database PostgreSQL.
9 Authldap
: melakukan otentifikasi menggunakan database LDAP.
9 Authvchkpw
: melakukan otentifikasi menggunakan library vpopmail.
9 Authdaemon
: melakukan otentifikasi menggunakan authdaemon.
3.2.10.b Instalasi Sqwebmail Dalam proses instalasi sqwebmail, ada beberapa syarat yang harus dipenuhi dalam system, syarat tersebut adalah : ¾ Perl interpreter, dalam instalasi, sqwebmail tidak menggunakan PHP, tetapi menggunakan C untuk membangun source code-nya, akan tetapi saat dijalankan di web menggunakan CGI engine, sehingga diperlukan Perl interpreter. ¾ Library GDBM atau DB harus sudah terinstal. ¾ Gnu Make dan Gnu C compiler, paket ini untuk mengkompilasi source code sqwebmail menjadi file binary. Tahap – tahap instalasi sqwebmail: Langkah pertama melakukan konfigurasi dengan opsi – opsi yang sudah dijelaskan sebelumnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[root@jellyfishfish sqwebmail-4.0.5]# ./configure --enablelogincache --with-authvchkpw --without-authshadow --withoutauthpam --without-authuserdb --without-authldap --withoutauthdaemon --enable-webpass=vpopmail --enablecgibindir=/var/www/cgi-bin/ --enable-https=auto –enablemimetypes=/etc Jika proses konfigurasi tidak ada masalah error, dilanjutkan dengan melakukan perintah – perintah berikut : [root@jellyfishfish sqwebmail-4.0.5]# make [root@jellyfishfish sqwebmail-4.0.5]# make check [root@jellyfishfish sqwebmail-4.0.5]# make install-strip [root@jellyfishfish sqwebmail-4.0.5]# make install-configure Setelah semua proses berhasil dijalankan dan sqwebmail sudah terinstal dalam sistem, kemudian melakukan langkah – langkah berikut : ¾ Menambah hostname. Hostname digunakan sebagai nilai default untuk pesan keluar, pada saat konfigurasi sqwebmail secara otomatis membuat file hostname di direktori /usr/local/share/sqwebmail, namun kadang – kadang file ini tidak terbentuk, sehingga harus dibentuk secara manual. [root@jellyfishfish sqwebmail-4.0.5]# echo "jellyfish.co.id" > /usr/local/share/sqwebmail/hostname ¾ Mengubah file sendit.sh. [root@jellyfishfish sqwebmail-4.0.5]# vi /usr/local/share/sqwebmail/sendit.sh Mengubah baris exec /usr/sbin/sendmail -oi -t -f "$1" menjadi exec /var/qmail/bin/qmail-inject -f "$1"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
File sendit.sh digunakan untuk memanggil program qmail-inject. Secara default, file ini memanggil program sendmail, maka diharuskan untuk mengubahnya. ¾ Membuat nochanginfrom. [root@jellyfishfish sqwebmail-4.0.5]# touch /usr/local/share/sqwebmail/nochanginfrom File ini dibuat untuk menghindari perubahan header From. ¾ Menggunakan exsender. [root@jellyfishfish sqwebmail-4.0.5]# touch /usr/local/share/sqwebmail/usexsender File ini digunakan untuk menampilkan header X-sender saat mengirim pesan atau outgoing message. ¾ Membuat file logindomainlist. [root@jellyfishfish sqwebmail-4.0.5]# touch /usr/local/share/sqwebmail/logindomainlist File ini dibuat agar sqwebmail menampilkan domain-nya pada saat login. ¾ Menjalankan sqwebmail. Agar sqwebmail dapat difungsikan menggunakan web browser, maka service sqwebmaild.rc harus dijalankan. [root@jellyfishfish sqwebmail-4.0.5]# /usr/local/share/libexec/sqwebmaild.rc start Agar service dapat berjalan saat system dinyalakan, maka service start diatas perlu ditambahkan dalam file /etc/rc.local.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[root@jellyfishfish sqwebmail-4.0.5]# vi /etc/rc.local Kemudian tambahkan baris berikut : /usr/local/share/sqwebmail/libexec/sqwebmaild.rc 3.2.10.c Menggunakan Sqwebmail Sqwebmail yang sudah terinstal selanjutnya dapat digunakan / dijalankan dengan web browser. Untuk mengaksesnya menggunakan alamat http://localhost/cgi-bin/sqwebmail dan juga dibutuhkan user dan password yang sudah dibuat dengan qmailadmin. Perlu diperhatikan bahwa password yang digunakan bersifat case sensitive, artinya huruf besar dan kecil dibedakan. Jika sqwebmail berjalan dengan baik, maka akan tampak seperti gambar dibawah :
Gambar 3.6 Tampilan Menu Login
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Untuk login isikan form – form yang tersedia, yaitu User Id, dan Password,. Kemudian klik login, jika login benar maka akan tampak gambar berikut :
Gambar 3.7 Menu Folder
Pada halaman ini, terdapat beberapa menu, diantaranya Folder, Create Message, Preferences, Address Book, dan Log Out. ¾ Folder Pada menu Folder terdapat beberapa sub menu, yaitu INBOX untuk melihat e-mail yang masuk, Sent untuk laporan pengiriman e-mail, Trash sebagai tempat file – file e-mail yang dihapus dari INBOX.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
¾ Create Message Create Message digunakan untuk pengiriman e-mail, seperti fasilitas pengeriman e-mail pada umumnya, untuk proses pengiriman pesan tinggal mengisikan form yang tersedia.
Gambar 3.8 Menu Create Message
¾ Preference Pada menu preference, dapat dilakukan beberapa konfigurasi seperti message per page, sort ( mengurutkan per tanggal ), melakukan otomatisasi penghapusan dan melakukan perubahan password.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.9 Menu Preference
¾ Address Book Menu
ini
digunakan
untuk
merubah,
menghapus,
juga
menambahkan dan menyimpan beberapa alamat e-mail yang dimiliki user.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.10 Address Book
3.3 Persyaratan Membangun Server E-mail dengan Qmail 3.3.1 Operating System Qmail merupakan aplikasi untuk server e-mail yang berjalan pada platform Unix / Linux atau Unix BSD. Contoh dari sistem operasi tersebut adalah : 1
Unix / Linux : Sistem operasi yang dapat dipilih dari Unix / Linux adalah Redhat, Fedora Core, Mandrake, Suse, Slackware, Debian, dan lain – lain. Untuk menginstal Qmail pada platform Unix / Linux dapat digunakan paket – paket installer, seperti RPM untuk Redhat Linux, RPMs untuk Mandrake Linux, Debs untuk Debian Linux.
2
Unix BSD
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Pilihan sistem oprerasi dari Unix BSD antara lain FreeBSD, OpenBSD, NetBSD. Paket – paket installer yang dapat digunakan untuk menginstall pada sistem operasi Unix BSD adalah Ports.
3.3.2 Jaringan Komputer Jaringan komputer merupakan kumpulan komputer dan alat – alat yang saling dihubungkan menggunakan media komunikasi tertentu, yang memungkinkan pengguna jaringan untuk saling bertukar data atau menggunakan perangkat lunak maupun perangkat keras secara berbagi. Ada tiga tipe jaringan dalam hubungannya dengan luas daerah yang dicakup, yaitu : ¾ LAN ( Local Area Network ) ¾ MAN ( Metropolitan Area Network ) ¾ WAN ( Wide Area Network ) 3.3.2.a LAN LAN adalah jaringan yang terbatas pada daerah yang relatif kecil, biasanya terbatas pada daerah geografis tertentu, misalnya laboratorium, sekolah, kantor, atau gedung. Meskipun demikian LAN dapat berisi sampai ratusan komputer yang harus dapat digunakan oleh banyak sekali user.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Dalam konfigurasi LAN, satu komputer dirancang sebagi server, yang mana server digunakan untuk menjalankan semua perangkat lunak yang dapat dipakai bersama oleh komputer – komputer yang terhubung pada jaringan. 3.3.2.b MAN MAN meliputi area geografis yang lebih luas, seperti suatu kota. Dengan MAN suatu komputer dikantor cabang dapat berhubungan dengan server komputer yang ada pada kantor pusat melalui jaringan telepon, kabel koaksial, atau komunikasi tanpa kabel. 3.3.2.c WAN WAN meliputi are geografis yang lebih luas lagi, yang meliputi suatu negara atau dunia. WAN digunakan untuk menghubungkan banyak LAN yang secara geografis terpisah. WAN dibuat dengan cara menghubungkan LAN dengan menggunakan layanan seperti dial-up, satelit, atau layanan packet carrier.
3.3.3 Peralatan Jaringan Untuk
mengkonfigurasi
suatu
jaringan
komputer
harus
disesuaikan dengan kebutuhan dan fungsi dari jaringan tersebut, hal ini juga digunakan untuk menentukan perangkat keras yang yang digunakan. Beberapa perangkat keras tersebut antara lain adalah :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.3.3.a Server Server merupakan komputer berkecepatan tinggi dengan kapasitas memori ( RAM ) dan media penyimpana yang besar, dan dihubungkan dengan kartu jaringan yang cepat. Untuk mendukung kinerja yang tinggi, pada server dimungkinkan untuk dipasang beberapa prosesor yang simetrik, demikian juga peralatan lain seperti mainboard, sumber daya dan RAM sehingga server mampu beroperasi terus – menerus tanpa berhenti untuk melayani permintaan. 3.3.3.b Workstation Yaitu semua komputer yang terhubung ke server pada jaringan yang dikonfigurasi menggunakan kartu jaringan, perangkat lunak jaringan dan kabel – kabel yang diperlukan. Pada beberapa workstatioan tidak membutuhkan simpana lokal seperti hardisk, karena file yang diperlukan dapat disimpan pada server. 3.3.3.c NIC ( Network Interface Card ) Merupakan peralatan yang memungkinkan hubungan antara jaringan dengan komputer workstation atau jaringan dengan komputer server. NIC merupakan peralatan internal yang dipasang pada slot mainboard, baik slot ISA maupun PCI. Bahkan saat ini sudah banyak mainboard yang memasang NIC secara onboard. NIC merupakan faktor penting untuk menentukan kecepatan serta kinerja jaringan. Contoh beberapa NIC yang sering digunakan dalam jaringan :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
¾ Kartu Ethernet ¾ Kartu WLAN
Gambar 3.11 Kartu Ethernet
3.3.3.d HUB Hub merupakan pusat koneksi semua node pada jaringan. Hub bertiondak sebagai titik pengendali untuk aktifitas sistem, pengelolaan serta pengembangan jaringan. Hub adalah alat yang menyediakan titik pusat hubungan untuk kabel dari workstation, server, dan peralatan yang lain. Ada hub yang bersifat pasif, yang mana hanya melewatkan isyarat dari satu komputer ke komputer yang lain tanpa perubahan, dan ada hub yang bersifat aktif, yang mana secara elektrik memperbaiki isyarat yang melintasinya. Hub aktif dapat digunakan sebagai repreater untuk memperluas jangkauan jaringan. Antar hub dapat disusun sedemikian sehingga hub dapat melayani banyak koneksi kabel jaringan dari klien.. bentuk susunan hub dapat terdiri dari beberapa macam dan tergantung pada jenis hub yang digunakan, yaitu : ¾ Standalone hub Hub yang hanya terdiri dari satu tingkat dengan beberapa port, hub ini mendukung beberapa mode untuk menghubungkan satu hub dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
hub yang lain, ada yang menggunakan kabel koaksial yang panjang atau dengan kabel UTP antara dua port pada masing – masing hub. Biasanya dipilih untuk kantor kecil dengan pengguna kurang dari 12 tiap LAN.
Gambar 3.11 Hub standalone dan Jaringan Dengan Hub Stanalone Yang Terhubung Dengan Kabel Koaksial
¾ Stackable hub Jenis hub ini hampir sama dengan standalone hub, tetapi hub jenis ini dapat dihubungkan secara bertumpuk menggunakan kabel khusus. Pada hub stackable terdapat port tambahan untuk menyatukan antara hub satu dengan hub yang lain.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.12 Hub Stackable dan Jaringan yang Terhubung Menggunakan Port Stack
3.3.3.e Switch Adalah alat yang digunakan untuk menghubungkan beberapa LAN yang terpisah serta menyediakan filter paket antar LAN. Switch merupakan peralatan multi port yang masing – masing dapat mendukung satu workstation, jaringan ethernet atau jaringan token ring. Meskipun terhubung dengan jaringan yang berbeda pada masing – masing port, switch dapat memindahkan paket data antar jaringan, dalam hal ini switc berlaku seperti bridge multi port yang sangat cepat. Dengan switch, dimungkinkan untuk merancang jaringan yang terdiri dari beberapa segmen jaringan yang kecil. Dengan segmen yang lebih kecil, jumlah workstation yang berkompetisi berebut bandwidth makin kecil, maka jumlah tumbukan data akan dapat diminimalkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.13 Switch dan Penggunaannya
3.3.3.f WAP ( Wireles Access Point ) WAP adalah peralatan yang berfungsi sebagai pusat komunikasi data dalam jaringan WLAN ( wireless LAN ). Dalam mode operasi yang umum digunakan, semua server wireless berkomunikasi dengan workstation atau dengan server lain melalui WAP. Dalam pengoperasian ini, WAP berfungsi seperti switch atau hub pada jaringan yang menggunakan transmisi kabel.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.14 WAP dan Jaringan Dengan WAP
3.3.3.g Bridge Bridge merupakan alat yang memungkinkan untuk membagi suatu jaringan yang besar dalam dua jaringan yang lebih kecil, sehingga menjadi jaringan yang lebih efisien. Bridge dapat memonitor lalu – lintas informasi pada kedua jaringan, sehingga paket informasi dapat dilewatkan pada lkasi yang benar. Bridge dapat digunakan utnuk menghubungkan dua tipe pengkabelan atau tipe topologi jaringan yang berbedaasalkan masih menggunakan protokol yang sama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.15 Bridge dan Penggunaanya
3.3.3.h Router Router digunakan untuk mengubah informasi dari suatu jaringan ke jaringan yang lain. Router mirip dengan bridge super cerdar ( super intellegent bridge ). Router akan memilih jalur terbaik untuk melewatkan suatu pesan, berdasar pada alamat tujuan dan alamat asal. Router dapat mengarahkan lalu – lintas data untuk mencegah tumbukan dan dapat mengetahui kapan untuk mengarahkan lalu – lintas sepantang jalur utama dan jalur alternatif. Router dapat digolongkan menjadi dua jenis, yaitu router dedicated ( router buatan pabrik ), misalnya Cisco, dan 3Com. Yang kedua adalah PC router.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Sebuah PC dapat dikatakan sebagai PC router jika PC tersebut memiliki lebih dari satu network interface dan PC tersebut mempunyai kemampuan mem-forward paket IP, program yang paling sering dijalankan PC untuk mengatur routing paket adalah GateD.
Gambar 3.16 Router Buatan Pabrik dan Penggunaan Router
Yang dilakukan router adalah sebagai berikut : •
Mengarahkan lalu – lintas isyarat secara efisien.
•
Mengarahkan pesan antara dua sembarang protokol.
•
Mengarahkan pesan antar topologi jaringan yang berbeda.
•
Mengarahkan pesan melintasi tipe kabel yang berbeda.
3.3.4 Topologi Jaringan Topologi jaringan komputer mengandung dua pengertian, yaitu dilihat dari sisi pengkabelan dan dari sisi aliran data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Dilihat dari aliran data pada jaringan maka topologi tersebut adalah topologi logika ( logical topologi ), adalah gambaran bagaimana aliran data dalam suatu jaringan. Dari kenampakan fisik pengkabelan, maka topologi yang dimaksud adalah topologi fisik ( physical toplogi ), merupakan konfigurasi semua komputer baik workstation maupun server, peralatan serta kabel dalam suatu jaringan. Secara umum topoligi diartikan sebagai gambaran bagaimana komputer dan peralatan jaringan tersusun dalam suatu jaringan. 3.3.4.a Topologi Bus Linier Dlam topologi bus, semua komputer dan peralatan dihubungkan pada suatu kabel linier. Karakteristik topologi bus adalah : ¾ Node – node dihubungkan secara serial di sepanjang kabel, dan pada kedua ujung kabel ditutup dengan terminator. ¾ Sangat sederhana dalam instalasi, juga ekonomis dalam biaya. ¾ Paket – paket data saling bertumbukan pada satu kabel, sehingga jika node yang terhubung sangat banyak, maka kinerja jaringan akan turun. ¾ Tidak diperlukan hub pada jaringan ini, hanya memakai T-Connector. ¾ Jika salah satu sambungan dalam bus linier putus, maka seluruh jari9ngan akan tidak bekerja.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.17 Topologi Bus Linier
3.3.4.b Topologi Ring Dalam topologi ring, komputer dan peralatan dihubungkan pada suatu kabel utama, sehingga kabel utama membentuk suatu ring. Ujung – ujung dari kabel utama saling dihubungkan, sehingga membentuk lingkaran tak terputus. Karakteristik dari topologi ring adalah : ¾ Jika salah satu peralatan rusak, maka tidak akan mengganggu kinerja jaringan, karena tipa peralatan tidak di hubungkan langsung. ¾ Paket – paket data mengalir dalam satu arah sehingga collision dapat dihindarkan. ¾ Jika kabel rusak, maka semua peralatan tidak berfungsi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.18 Toplogi Ring
3.3.4.c Topologi Star Dalam topologi star semua komputer dan peralatan lain terhubung secara langsung pada satu pusat jaringan yang berupa hub atau consentrator. hub atau consentrator bertindakn sebagai pengelola dan pengendali semua fungsi dalam jaringan. Data yang mengalir pada topologi star selalu melintasi hub atau consentrator sebelum dilanjutkan ke tujuan akhir. Karakteristik jaringan topologi star : ¾ Mudah dalam instalasi dan pengkabelan. ¾ Jika salah satu peralatan rusak atau salah satu kabel terputus maka keseluruhan jaringan masih bisa tetap berkomunikasi. ¾ Karena setiap data yang masuk ke hub atau consentrator kemudia dibroadcast ke seluruh node yang terhubung ke hub atau consentrator, maka jika node yang terhubung sangat banyak, collision akan semakin sering terjadi sehingga kinerja jaringan menurun. Namun hal ini tidak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
akan terjadi jika hub diganti dengan switch hub, sebab switch hub mempunyai kemampuan untukmemilih satu jalur tujuan data, tidak dibroadcast ke seluruh port. ¾ Jika hub atau consentrator rusak, maka fungsi jaringan tidak akan bekerja.
Gambar 3.19 Topologi Star
3.3.4.d Topologi Tree Topologi tree menggabungkan dua toplogi sekaligus yaitu topologi bus linier dan topologi star. Topologi jaringan ini meliputi beberapa kelompok konfigurasi workstation bertopologi star yang kemudian dihubungkan dalam kabel utama sebagai bus linier. Dalam topologi tree dimungkinkan melakukan perluasan jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.20 Topologi Tree
Karakteristik topologi tree : ¾ pengkabelan point to point untuk tiap bagian jaringan. ¾ Didukung oleh banyak vendor perangkat keras dan perangkat lunak. ¾ Jumlah panjang total masing – masing bagian dibatasi oleh tipe pengkabelan yang digunakan. ¾ Jika jalur utama putus, seluruh bagian jaringan tidak bekerja. ¾ Sulit dalam konfigurasi dan pengkabelannya.
3.3.5 Alamat IP Peralatan – peralatan yang terdapat dalam sistem jaringan berbasis TCP/IP dikenali dengan alamat IP ( internet protocol ). Peralatan jaringan sperti komputer atau alat yang lain harus mempunyai alamt IP tertentu supaya dapat dikenali dalam jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Alamat IP merupakan bilangan biner 32 bit yang terbagi menjadi empat kelompok, sehingga masing – masing kelompok terdiri dari bilangan biner 8 bit, sebagai contoh : 11000000.10101000.01100100.01100111 Kebanyakan orang tidak terbiasa dengan bilangan biner, dan lebih terbiasa
dengan
bilangan
desimal,
sehingga
untuk
memudahkan
pembacaan, orang mengenal alamat IP di atas sebagai : 192.168.100.103 Masing – masing kelompok bit biner terdiri dari 8 bit, sehingga bila diubah menjadi bilangan desimal, maka bilangan yang mungkin adalah 0 ( 00000000 ) sampai 255 ( 11111111 ) yaitu ada 256 bilangan desimal. 3.3.5.a Kelas Alamat IP Untuk menentukan bagian jaringan dan bagian host suatu alamat IP digunakan pengelompokan alamat IP menjadi kelas – kelas. Dalam hal ini alamat IP dikelompokkan menjadi 5 kelas, pengelompokan ini berdasarkan pada nilai kelompok bit paling kiri dari alamat IP. Berikut adalah pembagian kelas alamat IP : 0xxxxxxx . -------- . -------- . -------- : kelas A 10xxxxxx . -------- . -------- . -------- : kelas B 110xxxxx . -------- . -------- . -------- : kelas C 1110xxxx . -------- . -------- . -------- : kelas D 11110xxx . -------- . -------- . -------- : kelas E
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Keterangan : •
Alamat IP kelas A adalah alamat IP yang mana bit pertama dari kelompok 8 bit paling kiri bernilai 0.
•
Alamat IP kelas B adalah alamat IP yang mana dua bit pertama dari kelompok 8 bit paling kiri bernilai 10.
•
Alamat IP kelas C adalah alamat IP yang mana tiga bit pertama dari kelompok 8 bit paling kiri bernilai 110.
•
Alamat IP kelas D adalah alamat IP yang mana empat bit pertama dari kelompok 8 bit paling kiri bernilai 1110.
•
Alamat IP kelas E adalah alamat IP yang mana lima bit pertama dari kelompok 8 bit paling kiri bernilai 11110. Pada alamat IP kelas A, bagian pertama ( 8 bit ) dari empat
kelompok bit merupakan bagian jaringan, sedangkan tiga bagian berikutnya ( 24 bit ) merupakan bagian host. Karena pada alamat IP kelas A dintentukan bahwa bit pertama adalah 0, maka nilai pada kelompok bit pertama hanya ditentukan 7 bit mulai dari 00000000 ( desimal = 0 ) sampai 01111111 ( desimail = 127 ). Perlu diketahui bahwa alamat jaringan 0.0.0.0 dipakai untuk default router, sedangkan alamat jaringan 127.0.0.0 dipakai untuk alamat loopback.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Dengan demikian jumlah alamat IP kelas A adalah 2 7 - 2 = 126 buah. Karena 8 bit pertama sudah digunakan untuk menentukan alamat jaringan, alamat IP kelas A menyisakan 24 bit untuk menentukan alamat host, maka jumlah alamat host yang mungkin tiap jaringan adalah 2 24 - 2 = 16777214. Kenapa dikurangi dua karena alamat IP x.0.0.0 sudah dipakai untuk alamat jaringan dan alamat IP x.255.255.255 digunakan untuk alamat broadcast. Pada alamat IP kelas B, bagian pertama dan kedua ( 16 bit ) dari empat kelompok bit merupakan bagian jaringan, sedangkan dua bagian berikutnya ( 16 bit ) merupakan bagian host. Pada alamat IP kelas B nilai pada kelompok bit pertama hanya dintentukan oleh 6 bit karena dua bit pertama sudah ditentukan 10, maka nilainya mulai dari 10000000 ( desimal = 128 ) sampai 10111111 ( desimal = 191 ). Jumlah alamat jaringan yang mungkin dalam alamat IP kelas B adalah 2 ( 6+8) = 16384. Sedangkan alamat host yang mungkin tiap jaringan adalah 2 16 - 2 = 65534. Alamat x.y.0.0 dipakai untuk alamat jaringan dan alamat IP x.y.255.255 digunakan untuk alamat broadcast. Pada alamat IP kelas C, bagian pertama, kedua, dan ketiga ( 24 bit ) dari empat kelompk bit merupakan alamat jaringan, sedangkan bagian ke empat ( 8 bit ) merupakan bagian host. Karena alamat IP kelas C ditentukan bahwa tiga bit pertama adalah 110, maka nila pada kelompok bit pertama hanya ditentukan oleh 5 bit mulai 11000000 ( desimal = 192 ) sampai 11011111 ( desimal =
223 ). Jumlah alamat jaringan yang
mungkin dalam alamat Ip kelas C adalah 2 ( 5+8+8) = 2097152, sedangkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
alamat host yang mungkin untuk tiap jaringan adalah 2 8 - 2 = 254. alamat IP x.y.z.0 dipakai untuk alamat jaringan dan alamat IP x.y.z.255 digunakan untuk alamat broadcast. Kelompok alamat IP kelas D digunakan untuk multicasting, sedangkan kelompok alamat IP kelas E dicadangkan dan belum dialokasikan. Dalam pengertian ini, tidak diizinkan untuk memberi alamat IP pada kartu jaringan dengan alamat IP yang berada pada alamat IP kelas D dan kelas E. Dengan demikian tidak diizinkan untuk membuat alamat IP dengan angka desimal yang lebih besar dari 223 pada bagian pertama. Maka nilai yang mungkin untuk masing – masing kelas alamat IP adalah sebagai berikut : Kelas IP
Bagian Pertama
Jumlah Jaringan
Jumlah Host
A
1 s/d 126
126
16777214
B
128 s/d 191
16384
65534
C
192 s/d 223
2097152
244
Tabel 3.1 Kelas Alamat IP
Alamat IP 127.x.y.z tadak dimasukkan dalam alamat IP kelas A, karena alamat IP pada kelompok ini digunakan untuk alamat loopback. Alamat loopback digunakan untuk mengirim paket bagi dirinya sendiri. Ada atau tidak kartu jaringan, alamat loopback tetap ada dalam jaringan TCP/IP.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.3.5.b Alamat IP Privat ( Non Routed ) Dari semua alamat IP yang mungkin baik untuk kelas A, B, dan C, ada alamat IP khusus yang disebut alamat IP privat. Alamat IP ini tidak terhubung dengan alamat IP publik atau tidak di-routing. Alamat IP privat digunakan membentuk jaringan yang sifatnya lokal, dalam pengertian tidak terhubung ke jaringan publik secara langsung. Ketentuan tentang alamat IP privat diatur dalam dokumen RFC 1918 ( Request for Comments : 1918 ). Isi drai dokumen tersebut adalah bahwa IANA ( Internet Assigned Number Authority ) menyediakan tiga blok alamat IP untuk alamat IP privat. Blok tersebut adalah : Kelas IP
Rentang
A
10.0.0.0 s/d 10.255.255.255
B
172.16.0.0 s/d 172.31.255.255
C
192.168.0.0 s/d 192.168.255.255
Tabel 3.2 Alamat IP Privat
3.3.6 Subnetting Teknologi subnetting merupakan teknik memecah network menjadi subnetwork yang lebih kecil dan hanya bisa dilakukan pada jaringan kelas A, B, C.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Pembentukan subnetting dilakukan dengan cara meminjam satu atau dua lebih bit pada bagian host dan memperlakukannya secara lokal sebagai bit dari bagian jaringan. Sebagai contoh, misal terdapat alamat jaringan kelas C : 192.168.100.0 netmask 255.255.255.0 Dapat dibagi menjadi dua subnet dengan cara meminjam satu bit dari bagian host menjadi bit bagian jaringan. Dengan demikian
netmask
berubah menjadi 255.255.255.128. Jaringan pertama dapat diperoleh dengan cara memberi nilai 0 pada bit yang dipinjam dari bagian host menjadi bagian jaringan. Alamat jaringan : 192.168.100.0 = 11000000 . 10101000 . 01100100 . 00000000 Netmask : 255.255.255.128 = 11111111 . 11111111 . 11111111 . 10000000 Broadcast : 192.168.100.127 = 11000000 . 10101000 . 01100100 . 01111111 Rentang host : 192.168.100.1 s/d 192.168.100.126 Jaringan kedua dapat diperoleh dengan cara memberi nilai 1 pada bit yang dipinjam dari bagian host menjadi bagian jaringan. Alamat jaringan : 192.168.100.128 = 11000000 . 10101000 . 01100100 . 10000000
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Netmask : 255.255.255.128 = 11111111 . 11111111 . 11111111 . 10000000 Broadcast : 192.168.100.255 = 11000000 . 10101000 . 01100100 . 11111111 Rentang host : 192.168.100.129 s/d 192.168.100.254 Dengan cara yang sama, jaringan dapat dibagi menjadi empat sampai delapan subnet dengan cara meminjam 2 bit ( untuk emapat subnet ) dan 3 bit ( untuk delapan subnet ) dari bagian host dan diperlakukan secara lokal sebagai bit pada jaringan. Sub 2
4
8
Netmask
Jaringan
Broadcast
Rentang Host
x.y.z.0
x.y.z.127
x.y.z.1 s/d x.y.z.126
x.y.z.128
x.y.z.255
x.y.z.0
x.y.z.63
x.y.z.64
x.y.z.127
x.y.z.128
x.y.z.191
x.y.z.192
x.y.z.255
x.y.z.0
x.y.z.31
x.y.z.32
x.y.z.63
x.y.z.64
x.y.z.95
x.y.z.96
x.y.z.127
x.y.z.128
x.y.z.159
x.y.z.160
x.y.z.191
255.255.255.126
255.255.255.192
255.255.255.224
x.y.z.129 s/d x.y.z.254 x.y.z.1 s/d x.y.z.62 x.y.z.65 s/d x.y.z.126 x.y.z.129 s/d x.y.z.190 x.y.z.193 s/d x.y.z.254 x.y.z.1 s/d x.y.z.30 x.y.z.33 s/d x.y.z.62 x.y.z.65 s/d x.y.z.94 x.y.z.97 s/d x.y.z.126 x.y.z.129 s/d x.y.z.158 x.y.z.161 s/d x.y.z.190
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x.y.z.192
x.y.z.223
x.y.z.224
x.y.z.255
x.y.z.193 s/d x.y.z.222 x.y.z.225 s/d x.y.z.254
Tabel 3.3 Pembagian Subnet
3.3.7 Router Router atau biasa disebut default gateway merupakan pintu masuk suatu jaringan ke dalam jaringan di luar jaringan tersebut. Misalnya jika kita mempunyai dua buah bentuk jaringan LAN dan jaringan yang pertama semua menggunakan IP kelas A dan satunya dengan IP kelas B, tentunya agar IP kelas A dan IP kelas B dapat berkomunikasi maka diperlukan router untuk menghubungkan jaringan tersebut. Router ada beberapa macam, ada yang disebut router dedicated ( router pabrik ), yaitu hardware yang dibuat khusus sebagai router, misal cisco, 3com, Bynetwork dan sebagainya. Sedangkan yang router yang lain dalam bentuk komputer yang disebut PC router yaitu komputer yang memiliki lebih dari satu network interface card, dan komputer tersebut mampu mem-forward paket IP, serta menjalankan software untuk mengatur routing data. Program yang dibuat untuk pengaturan routing paket antara lain GateD, Routed, dan sebagainya..
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
eth0 Eth0 = 192.168.59.1 Eth1 = 192.168.100.254 Eth2 = 192.168.200.154
192.168.50.254
eth1 eth2 router
Switch/hub
Switch/hub
Jaringan 192.168.100.0/24
Jaringan 192.168.200.0/24
Gambar 3.21 Jaringan Komputer dengan Router
Pada jaringan di atas terdapat dua alamat jaringan yaitu alamat jaringan 192.168.100.0 netmask 255.255.255.0 dan alamat jaringan 192.168.200.0 netmask 255.255.255.0. Secara fisik jaringan tersebut dilayani oleh switch yang berbeda, dan dihubungkan dengan satu router. Jika komputer pada jaringan 192.168.100.0/24 akan berkomunikasi dengan komputer pada jaringan 192.168.200.0/24 maka harus melawati router, dan juga sebaliknya. Masing – masing jaringan mempunyai alamat gateway yang berbeda. Jaringan 192.168.100.0/24 mempunyai alamat gateway pada IP 192.168.100.254 yang merupakan kartu jaringan eth1 pada router. Jaringan
192.168.200.0/24
mempunyai
alamat
gateway
pada
IP
192.168.200.254 yang merupakan kartu jaringan eth2 pada router. Router sendiri terhubung pada alamat gateway 192.168.50.254 melalui kartu jaringan eth0 yang punya alamat IP 192.168.50.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gateway ini merupakan default gateway pada masing – masing jaringan.
3.3.8 Firewall Firewall merupakan alat yang digunakan untuk melindungi jaringan privat dari jaringan publik ( internet ). Firewall melindungi jaringan privat dengan cara mengendalikan aliran paket yang melewatinya, firewall dirancang untuk mengendalikan aliran paket berdasarkan pada asal, tujuan, port, dan informasi tipe paket yang terdapat pada masing – masing paket. Firewall berisi sederet aturan yang digunakan untuk menentukan nasib paket data yang datang atau pergi dari firewall menurut kriteria dan parameter tertentu. Semua paket yang diperiksa firewall akan melalui sederetan tabel dalam
prosesnya.
Pada
firewall
terjadi
beberapa
proses
yang
memungkinkan firewall dapat melindungi jaringan, yaitu : ¾ Modifikasi header paket. ¾ Translai alamat jaringan. ¾ Filter paket. Modifikasi header paket digunakan untuk memodifikasi kualitas layanan bit paket TCP sebelum terjadi routing. Translasi alamat jaringan yang terjadi pada firewall adalah antara jaringan privat dan jaringan publik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Translasi yang terjadi dapat berupa one to one yang mana satu alamat IP privat dipetakan ke satu alamat IP publik, serta translasi many to one yaitu beberapa alamat IP privat dipetakan ke satu alamat IP publik. Forward filter IN
Prerouting mangle
Prerouting nat DNAT
Postrouting nat SNAT
OUT
Routing
Input filter
Proses lokal
OUT
Routing
Output filter
Output nat DNAT
Output mangle
Gambar 3.22 Proses Pada Paket Yang Melewati Firewall
Ketika paket datang dari suatu jaringan masuk pada firewall melalui kartu jaringan, pertama kali paket akan diperiksa oleh aturan rantai prerouting pada tabel mangle, selanjutnya paket diperiksa aturan rantai prerouting pada tabel nat, apakah paket memerlukan DNAT, kemudian paket memerlukan routing. Jika tujuan paket adalah jaringan lain, maka paket akan difilter oleh aturan rantai forward pada tabel filter, jika perlu paket akan diperiksa oleh aturan rantai postrouting pda tabel nat, apakah paket memerlukan SNAT. Jika tujuan paket adalah firewall, maka paket akan difilter oleh aturan rantai INPUT pada tabel filter, selanjutnya paket akan mengalami proses lokal. Proses lokal yang terjadi pada firewall dpat berupa pengiriman paket kembali. Paket ini akan diperiksa oleh aturan rantai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
OUTPUT pada tabel mangle, selanjutnya diperiksa oleh aturan rantai OUTPUT pada tabel nat apakah memerlukan DNAT. Sebelum routing, paket akan difilter oleh aturan rantai OUTPUT pada tabel filter.
3.3.9 Konfigurasi Jaringan Setelah dibahas beberapa kebutuhan dan perlengkapan dalam membangun sebuah jaringan, selanjutnya akan dicoba mengkonfigurasi atau menyusun sebuah jaringan sederhana yang dalam hal ini bisa digunakan sebagai proses pengiriman e-mail yang mana merupakan pokok bahasan dari penulisan TA ini. Jaringan yang akan dibangun akan menggunakan server berbasis linux sedangkan komputer client menggunakan sistem operasi windows XP, karena jaringan ini bersifat sederhana maka hanya akan menggunakan sebuah server yang mengelola semua service internet, yaitu router, firewall, DNS server, mail server, web server, database server, dan proxy server. Berikut adalah contoh desain jaringan komputer yang menggunakan sebuah server Linux.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Internet
Client 1 winXP 192.168.1.2 255.255.255.240
Server linux yang melayani semua service internet hub
Client 2 winXP 192.168.1.3 255.255.255.240
IP Address eth0 202.131.95.206 Netmask : 255.255.255.240 IP Address eth1 202.131.95.193 Netmask : 255.255.255.240 IP Lokal eth2 (Masq ) 192.168.1.1 Netmask ( masq ) : 255.255.255.240
Client 3 winXP 192.168.1.4 255.255.255.240
Gambar 3.23 Jaringan dengan Satu Server Linux Untuk Melayani semua Service Internet
Penjelasan : ¾ Jaringan terdiri dari sebuah server linux yang melayani semua service internet, tiga buah komputer client dengan system operasi windows XP. ¾ Sebuah hub digunakan sebagai consentrator. ¾ Diumpamakan jaringan tersebut mendapat alokasi IP address dari ISP dimulai dari 202.131.95.192 sampai 202.131.95.207 ( IP address 202.131.95.192 dan 202.131.95.207 tidak boleh dipakai karena
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
merupakan nomor network jaringan dan IP address broadcast jaringan ). ¾ Untuk IP address komputer client cukup diberikan IP address lokal ( 192.168.1.0/24 ) dengan pertimbangan hanya digunakan untuk browsing, membaca e-mail, dan sebagainya. ¾ Karena server ini juga merangkap sebagai router, maka dipasang tiga buah ethernet card, ethernet card pertama ( eth0 ) diberi IP address 202.131.95.206 dengan netmask 255.255.255.240, ethernet card kedua ( eth1 ) diberi IP address 202.131.95.193 dengan netmask 255.255.255.240, sedangkan ethernet card ketiga ( eth2 ) diberi IP address lokal 192.168.1.1. ¾ Pada jaringan ini diterapkan IP masquerading untuk IP address lokal 192.168.1.0/24. Hal ini dilakukan supaya komputer client yang menggunakan IP lokal dapat menjalankan aplikasi internet, seperti browsing, e-mail dan aplikasi yang lain dengan cara menopeng ( masquerading ) IP lokal komputer client tersebut dengan IP address internet yang dimiliki oleh router.
3.3.10 Server DNS Domain Name System ( DNS ) merupakan sistem berbentuk database terdistribusi yang akan memetakan / mengkonversikan nama host / mesin / domain ke alamat IP (Internet Protocol) dan sebaliknya dari alamat IP ke nama host yang disebut dengan reverse-mapping. DNS sangat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
berguna sekali dalam jaringan terutama Internet, sistem ini akan memetakan nama mesin misal jellyfish.co.id ke alamat IP misal 202.123.45.6 selain itu juga penggunaannya sangat luas misal, untuk routing e-mail, telnet, ftp, web, dan lain-lain. 3.3.10.a Cara Kerja DNS Analogi sistem IP mirip dengan telepon, setiap pemilik telepon harus memiliki nomor yang unik. Untuk menelepon seseorang haruslah kita mengetahui nomor telepon yang dituju. Demikian juga dalam internet, untuk mengunjungi host atau server tertentu kita harus mengetahui IP address dari host / server tersebut. Tetapi manusia memiliki kesulitan untuk menghafal deretan angka IP address suatu host / server, karena itulah diciptakan sistem DNS yang dapat membantu manusia untuk mengingat IP address suatu host / server dengan memetakan nama host / server ke IP address host / server tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Web browser
Server DNS lokal 1 2
5 3
cache 4 Root DNS server
Server DNS Jellyfish.co.id
Gambar 3.24 Proses DNS
Keterangan : 1. Browser mengontak server DNS lokal ( terletak pada jaringan ISP ) untuk mencari IP address www.jellyfish.co.id. 2. Server DNS lokal kemudian mencari IP address pada data cache yang dimilikinya. 3. Jika server DNS lokal tersebut belum pernah menyimpan IP address www.jellyfish.co.id pada data cache-nya, maka server DNS lokal tersebut akan mengontak server DNS lainnya ( root DNS server ) untuk mengetahui IP address dari server DNS yang mengelola domain jellyfish.co.id. 4. Jika domain jellyfish.co.id didapatkan, maka root DNS server akan memeberi tahu IP address server DNS yang merupakan DNS
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
authoruty dari domain jellyfish.co.id. kemudian server DNS lokal akan mengontak server DNS yang mengelola domain jellyfish.co.id tersebut untuk menanyakan IP address dari www.jellyfish.co.id. 5. Karena server www.jellyfish.co.id benar didapatkan, maka server DNS jellyfish.co.id akan memberitahu IP address dari www.jellyfish.co.id tersebut. Server DNS lokal kemudian akan memberitahu IP address www.jellyfish.co.id tersebut kepada web browser yang digunakan dan IP address tersebut akan disimpan oleh server DNS lokal pada data cache-nya untuk pemakaian diwaktu yang lain. 3.3.10.b Konfigurasi DNS File
konfigurasi
utama
BIND
adalah
file
named
yaitu
/etc/named.conf. Saat program BIND mulai berjalan, maka server akan membaca file /etc/named.conf untuk mengetahui bagaimana server DNS tersebut dikonfigurasikan. A. Konfigurasi file /etc/named.conf File named.conf merupakan file utama dan yang pertama kali diload oleh sistem yang akan digunakan oleh named ( bind ). Dalam file tersebut berisi konfigurasi dan option – option yang digunakan oleh bind tersebut. Format file /etc/named.conf :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
¾ Option Directory Berisi informasi letak direktori yang menyimpan file domain atau zone-file. options { directory "/var/named"; Option di atas merupakan path ke direktori dimana file – file konfigurasi dari bind diletakkan. Secara default path ke derektori tersebut adalah /var/named. ¾ Pengaturan zone domain Untuk menjalankan server DNS yang mengelola domain internet, maka harus mengkonfigurasi zone domain pada file /etc/named.conf. Terdapat tiga zone statement yang sering digunakan, yaitu : Zone “nama.domain” in { type master; file “nama_file_database_domain”; }; Zone “nama.domain” in { type slave; master { ip_addr ; }; }; Zone “.” in { type hint; file “named.ca”; }; Statement pertama digunakan untuk master zone, sebagai contoh : zone "jellyfish.co.id" IN { type master; file "db.jellyfish.co.id"; }; Pada contoh di atas, server DNS dikonfigurasi sebagai primary name server untuk domain jellyfish.co.id.sedang file db.jellyfish.co.id adalah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
nama file yang merupakan zone-file untuk domain jellyfish.co.id tersebut. Jika DNS server tersebut berfungsi sebagai slave DNS, maka perlu melakukan pengubahan sebagi berikut : zone "jellyfish.co.id" IN { type slave; master {202.123.456.789}; }; Pada konfigurasi diatas, primary name server adalah server DNS dengan IP address 202.123.456.789, saat berjalan, server ini akan meminta zone-file dari primary name server dan kemudian menyimpan file tersebut dengan nama jellyfish.co.id. Zone statement yang lain adalah zone yang digunkan untuk menghubungi sekumpulan root name server. Saat server berjalan, server akan menggunakan daftar ini ( hint ) untuk menemukan root name server dalam melakukan catching terhdap suatu nama host. Konfigurasinya sebagai berikut : zone "." IN { type hint; file "named.ca"; };
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Konfigurasi lengkap dari file named.conf : // generated by named-bootconf.pl options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // // a caching only nameserver config // controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; zone "jellyfish.co.id" IN { type master; file "db.jellyfish.co.id"; }; zone "10.10.192.in-addr.arpa" IN { type master; file "db.192.10.10";
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
}; include "/etc/rndc.key"; B. Konfigurasi file zone File zone adalah file yang berisi informasi tentang domain yang dikelola server DNS, seperti IP address, nama alias dari suatu host / domain, nama server DNS yang bertanggung jawab terhadap domain tersebut, dan yang lainnya. ¾ SOA ( Start Of Authority ) : digunakan untuk mendefinisikan awal dari suatu zone. @ (
IN
SOA
name_server
email_admin
Serial_number ; Serial Refresh_nuber ; Refresh Retry_number ; Retry Expire_number ; Expire Minimum_number ) ; Minimum Name_server mendeklarasikan hostname yang menjadi primary name server untuk suatu domain. Email_admin mendeklarasikan email administrator yang bertanggung jawab terhadap domain tersebut. Serial_number merupkan nomor seri dari zone file.
Refresh_number mendeklarasikan selang waktu ( dalam detik ) yang diperlukan oleh secondary name server untuk memeriksa perubahan zonefile pada primary name server.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Retry_number mendeklarasikan berapa lama ( dalam detik ) secondary name server menunggu untuk mengulang pengecekan terhadap primary name server apabila primary name server tidak memberi respon pada saat proses refresh. Expire_number mendeklarasikan berapa lama ( dalam detik ) zone-file dipertahankan pada secondary name server apabila secondary name server tidak dapat melakukan zone refresh. Minimum_number mendeklaraikan nilai default time to live ( TTL ) untuk semua resource record pada zone file. ¾ NS ( Name Server ) : digunakan untuk mendeklarasikan authoritative name server yang mengelola suatu domain. authoritative name server sebaiknya lebih dari satu, supaya jika primary name server tidak bisa diakses, masih ada secondary name server yang dapat menggantikan sementara. ¾ A ( Address ) : digunakan untuk memetakan suatu nama host ke suatu IP address. ¾ PTR ( Domain Name POINTER ) : digunakan untuk memetakan IP address ke nama host. ¾ CNAME ( Canonical name ) : untuk mendeklarasikan sebuah alias atau nickname dari suatu host. ¾ MX ( Mail Exchange ) : untuk mengarahkan e-mail untuk suatu host ataupun domain ke host yang berfungsi sebagai mail server. Konfigurasi lengkap dari file /var/named/db.jellyfish.co.id :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
$TTL 86400 @ IN (
IN IN IN IN
SOA
iwan.jellyfish.co.id.
admin.jellyfish.co.id
200607271334 ; Serial 86400 ; Refresh (1 day) 21600 ; Retry (6 hours) 36000 ; Expire (10 hours) 3600 ) ; Minimum (1 hour) NS iwan.jellyfish.co.id. NS nawi.jellyfish.co.id. MX 10 mx1.jellyfish.co.id. MX 20 mx2.jellyfish.co.id.
iwan IN A 202.123.100.194 nawi IN A 202.123.100.195 mx1 IN A 202.123.100.196 mx2 IN A 202.123.100.18 mail IN CNAME mx1.jellyfish.co.id. C. Konfigurasi file reverse database File ini berfungsi untuk memetakan nomor IP ke alamat host. Jadi hal ini merupakan kebalikan dari file database domain. Berikut isi file /var/named/db.192.10.10 : $TTL 86400 @ IN SOA iwan.jellyfish.co.id. nawi.jellyfish.co.id ( 200607271334 ; Serial 86400 ; Refresh (1 day) 21600 ; Retry (6 hours) 36000 ; Expire (10 hours) 3600 ) ; Minimum (1 hour) IN NS iwan.jellyfish.co.id. IN NS nawi.jellyfish.co.id. IN MX 10 mx1.jellyfish.co.id. IN MX 20 mx2.jellyfish.co.id. 202.123.100.194 IN PTR iwan 202.123.100.195 IN PTR nawi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Setelah semua proses komfigurasi di atas selesai, selanjutnya periksa DNS server yang dipasang apakah sudah berjalan dengan baik dengan perintah # ping iwan.jellyfish.co.id Jika benar maka akan muncul tampilan berikut : PING jellyfish.co.id (202.123.100.194) 56(84) bytes of data. 64 bytes from jellyfish.co.id (202.123.100.194): icmp_seq=0 ttl=64 time=0.064 ms 64 bytes from jellyfish.co.id (202.123.100.194): icmp_seq=1 ttl=64 time=0.063 ms --- jellyfish.co.id ping statistics --48 packets transmitted, 48 received, 0% packet loss, time 47008ms rtt min/avg/max/mdev = 0.058/0.062/0.067/0.005 ms, pipe 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV PENUTUP
4.1 Kesimpulan Beberapa kesimpulan yang dapat diambil dari pembuatan mail server berbasis web ini adalah : 1. Sistem
yang
dibangun
adalah
berbasis
web,
sehingga
untuk
menggunakannya, cukup hanya dengan web browser. 2. Sistem ini sudah diuji coba dan dapat bejalan dengan baik untuk mengelola e-mail ( membaca, mengirim, dan menghapus ). 3. Sistem ini memberikan fasilitas dan kemudahan bagi administrator untuk mengatur ( manajemen ) user.
3.2 Saran Beberapa saran yang dapat digunakan untuk pengembangan mail server ini adalah : 1. Filtering alamat e-mail. Fasilitas ini untuk mencegah masuknya alamat – alamat e-mail yang tidak diinginkan, seperti spam. 2. Anti virus. Dalam sistem ini perlu adanya anti virus untuk mencegah virus – virus komputer yang dapat merusak pesan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA
Albertus Dwiyoga W, 2005, Membangun Mail Server Andal dengan Fedora dan Qmail. Jakarta : Elek Media Komputindo. Choirul Amri, 2003, Mengelola Mail Server dengan MdaemonI. Jakarta : Elek Media Komputindo. Reza Iskandar Ahmad, 2002, Mail Server dengan Qmail, Virtual Domain dengan Vpopmail. Samuel Prakoso, Tomy, Onno W. Putro, 2003, Panduan Praktis Menggunakan Email Server Qmail. Jakarta : Elek Media Komputindo. Setiawan Suryatmoko, 2003, Membangun Server Email Berbasis Web. Jakarta : Elek Media Komputindo. Tommi Poltak Mario, 2006, Tuntunan Praktis Menguasai Jaringan Komputer. Yogyakarta : Ardana Media. Wagito, 2005, Jaringan Komputer Teori dan Implementasi Berbasis Linux. Yogyakarta : Gava Media. www.ilmukomputer.com www.lifewithqmail.org www.courier-mta.org
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[root@jelly iwan]# vi /var/qmail/bin/qmailctl #!/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 svok /service/qmail-pop3d ; then svc -u /service/qmail-pop3d else echo qmail-pop3d 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-pop3d" svc -d /service/qmail-pop3d echo " qmail-send" svc -d /service/qmail-send if [ -f /var/lock/subsys/qmail ]; then
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 svstat /service/qmail-pop3d svstat /service/qmail-pop3d/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 echo "Pausing qmail-pop3d" svc -p /service/qmail-pop3d ;; cont) echo "Continuing qmail-send" svc -c /service/qmail-send echo "Continuing qmail-smtpd" svc -c /service/qmail-smtpd echo "Continuing qmail-pop3d" svc -c /service/qmail-pop3d ;; restart) echo "Restarting qmail:" echo "* Stopping qmail-smtpd." svc -d /service/qmail-smtpd echo "* Stopping qmail-pop3d."
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
svc -d /service/qmail-pop3d echo "* Sending qmail-send SIGTERM and restarting." svc -t /service/qmail-send echo "* Restarting qmail-smtpd." svc -u /service/qmail-smtpd echo "* Restarting qmail-pop3d." svc -u /service/qmail-pop3d ;; cdb) tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp chmod 644 /etc/tcp.smtp.cdb echo "Reloaded /etc/tcp.smtp.cdb" ;; help) cat <
[root@jelly iwan]# vi /var/qmail/supervise/qmail-send/run #!/bin/sh exec /var/qmail/rc
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[root@jelly iwan]# vi /var/qmail/supervise/qmail-send/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail
[root@jelly iwan]# vi /var/qmail/supervise/qmail-smtpd/run #!/bin/sh QMAILDUID=`id -u qmaild` NOFILESGID=`id -g qmaild` MAXSMTPD=`cat /var/qmail/control/concurrencyincoming` LOCAL=`head -1 /var/qmail/control/me` if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in echo /var/qmail/supervise/qmail-smtpd/run exit 1 fi if [ ! -f /var/qmail/control/rcpthosts ]; then echo "No /var/qmail/control/rcpthosts!" echo "Refusing to start SMTP listener because it'll create an open relay" exit 1 fi exec /usr/local/bin/softlimit -m 2000000 \ /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
[root@jelly iwan]# vi /var/qmail/supervise/qmail-smtpd/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd [root@jelly iwan]# vi /var/qmail/supervise/qmail-pop3d/run #!/bin/sh exec /usr/local/bin/softlimit -m 2000000 \ /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup \ mail.jellyfish.co.id /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[root@jelly iwan]# vi /var/qmail/supervise/qmail-pop3d/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s1048576 /var/log/qmail/pop3d [root@jelly iwan]# vi /var/qmail/supervise/qmail-pop3ds/run #!/bin/sh PMAILUID=`id -u vpopmail` VPOPMAILGID=`id -g vpopmail` exec /usr/local/bin/tcpserver -l 0 -R -H -v \ -u"$VPOPMAILUID" -g"$VPOPMAILGID" 0 995 \ /usr/sbin/stunnel -f -p /var/qmail/control/servercert.pem\ -l /var/qmail/bin/qmail-popup -- qmail-popup mail.jellyfish.co.id \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1
[root@jelly iwan]# vi /var/qmail/supervise/qmail-pop3ds/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s1048576 /var/log/qmail/pop3ds
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI