• Tidak ada hasil yang ditemukan

Implementasi server e-mail dengan mail client berbasis web.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi server e-mail dengan mail client berbasis web."

Copied!
146
0
0

Teks penuh

(1)

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.

(2)

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.

(3)

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

(4)
(5)
(6)

HALAMAN PERSEMBAHAN

Kupersembahkan Tugas Akhir ini buat orangtuaku yang telah

membiayai kuliahku sampe selesai, buat kakak & adikku beserta

(7)

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

(8)

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.

(9)

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.

(10)

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.

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)
(21)

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.

(22)

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.

(23)

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

(24)

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

(25)

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.

(26)

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

(27)

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

(28)

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.

(29)

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 iw4n@yahoo.com.

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

(30)

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 :

(31)

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 :

(32)

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.

(33)

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 e-mail tidak dapat bekerja, karena DNS tidak dapat mencari e-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

(34)

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.

(35)

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.

(36)

• 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

(37)

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 server-side 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

(38)

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

(39)

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/ucspi-tcp/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 di-download di alamat http://cr.yp/daemontools/daemontools-0.76.tar.gz.

Ezmlm, digunakan untuk program mailing list, yang bisa

di-download di http://cr.yp/software/ezmlm-053.tar.gz.

Autoresponder, digunakan untuk merespon e-mail yang masuk secara

(40)

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 mail, baik penambahan, penghapusan alamat e-mail, 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

(41)

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://qmail-scanner.sourceforge.net.

Spamassassin, merupakan program untuk mendeteksi e-mail yang

(42)

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 di-download di alamat http://www.inter7.com/sqwebmail.

2.14.2 Paket Patch

(43)

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

(44)

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

(45)

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

(46)

¾ /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

(47)

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

(48)

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:

Langkah berikutnya pindahkan perintah di direktori /daemontools/command/ ke direktori /command yang berada di root

dengan perintah :

(49)

[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]# patch -p1 <

../ucspi-tcp-0.88.errno.patch

(50)

(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

(51)

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 nofiles -d /var/qmail/alias alias -s /bin/false

[root@jellyfish iwan]# /usr/sbin/useradd -g nofiles -d /var/qmail qmail -s /bin/false

[root@jellyfish iwan]# /usr/sbin/useradd -g nofiles -d /var/qmail qmaild -s /bin/false

[root@jellyfish iwan]# /usr/sbin/useradd -g nofiles -d /var/qmail qmaill -s /bin/false

[root@jellyfish iwan]# /usr/sbin/useradd -g nofiles -d /var/qmail qmailp -s /bin/false

[root@jellyfish iwan]# /usr/sbin/groupadd qmail

[root@jellyfish iwan]# /usr/sbin/useradd -g qmail -d /var/qmail qmailq -s /bin/false

[root@jellyfish iwan]# /usr/sbin/useradd -g qmail -d /var/qmail qmailr -s /bin/false

[root@jellyfish iwan]# /usr/sbin/useradd -g qmail -d /var/qmail qmails -s /bin/false

(52)

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

(53)

patching file qmail.c

[root@jellyfish qmail-1.03]# patch < ../tarpit.patch patching file qmail-smtpd.c

[root@jellyfish qmail-1.03]# patch < ../qmail-bouncecontrol-1.03.patch

patching file control.c patching file control.h patching file qmail-send.c

[root@jellyfish qmail-1.03]# patch < ../qmail-date-localtime.patch.txt

patching file date822fmt.c

[root@jellyfish qmail-1.03]# patch < ../qmail-maildir++.patch patching file Makefile

Setelah menambahkan patch ke dalam program qmail, tahap selanjutnya adalah melakukn kompilasi.

(54)

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.

(55)

¾ 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 log-nya.

[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]# echo ./Maildir/ >/var/qmail/control/defaultdelivery

¾ Langkah berikutnya membuat script yang 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.

(56)

¾ Agar qmail dapat berjalan saat system operasi djalankan maka perlu dibuat link qmailctl.

[root@jellyfish iwan]# ln -s /var/qmail/bin/qmailctl /etc/rc.d/init.d/qmail

[root@jellyfish iwan]# ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc0.d/K30qmail

[root@jellyfish iwan]# ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc1.d/K30qmail

[root@jellyfish iwan]# ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc2.d/S80qmail

[root@jellyfish iwan]# ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc3.d/S80qmail

[root@jellyfish iwan]# ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc4.d/S80qmail

[root@jellyfish iwan]# ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc5.d/S80qmail

[root@jellyfish iwan]# ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc6.d/K30qmail

¾ 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/qmail-send/log

[root@jellyfish iwan]# mkdir -p /var/qmail/supervise/qmail-smtpd [root@jellyfish iwan]# mkdir -p /var/qmail/supervise/qmail-smtpd/log

[root@jellyfish iwan]# mkdir /var/qmail/supervise/qmail-pop3d [root@jellyfish iwan]# mkdir /var/qmail/supervise/qmail-pop3d/log

[root@jellyfish iwan]# mkdir /var/qmail/supervise/qmail-pop3ds [root@jellyfish iwan]# mkdir /var/qmail/supervise/qmail-pop3ds/log

(57)

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/qmail-smtpd/log/run

[root@jellyfish iwan]# vi /var/qmail/supervise/qmail-pop3d/run [root@jellyfish iwan]# vi /var/qmail/supervise/qmail-pop3d/log/run

[root@jellyfish iwan]# vi /var/qmail/supervise/qmail-pop3ds/run [root@jellyfish iwan]# vi /var/qmail/supervise/qmail-pop3ds/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/qmail-send/run

[root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmail-send/log/run

[root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmail-smtpd/run

[root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

[root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmail-pop3d/run

[root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

[root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmail-pop3ds/run

[root@jellyfish iwan]# chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run

(58)

[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 iwan]# ln -s /var/qmail/supervise/qmail-send /service

[root@jellyfish iwan]# ln -s /var/qmail/supervise/qmail-smtpd /service

[root@jellyfish iwan]# ln -s /var/qmail/supervise/qmail-pop3d /service

[root@jellyfish iwan]# ln -s /var/qmail/supervise/qmail-pop3ds /service

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

(59)

/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 :

(60)

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]# echo ‘192.10.10.:allow,RELAYCLIENT=””’ >>/etc/tcp.smtp

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 e-mail dari luar namun tidak ada alamat tersebut pada server kita atau

atau dikenal dengan e-mail bouce.

[root@jellyfish /]# echo iwan@jellyfish.co.id > /var/qmail/alias/.qmail-mailer-daemon

[root@jellyfish /]# echo iwan@jellyfish.co.id > /var/qmail/alias/.qmail-postmaster

[root@jellyfish /]# echo iwan@jellyfish.co.id > /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-mailer-daemon

Mengecek apakah supervise sudah berjalan dengan baik : [root@jellyfish /]# ps ax | grep qmail

(61)

17404 ? S 0:00 supervise qmail-send 19975 ? S 0:00 supervise qmail-smtpd 21969 ? S 0:00 supervise qmail-pop3d 23492 ? S 0:00 supervise qmail-pop3ds 13286 pts/2 S 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

(62)

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.

(63)

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.

(64)

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

qmail-pop3d, file .qmail atau program Maildir lainnya.

(65)

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

e-mail 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

(66)

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

(67)

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

(68)

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

(69)

--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

Gambar

Gambar 2.3 proses pengiriman e-mail
Tabel 2.1 perbandingan antara qmail dan Unix MTA yang lain
Tabel perbandingan antara qmail dan Unix MTA yang lain
Gambar 3.1 Tampilan menu login
+7

Referensi

Dokumen terkait

Dikarenakan yang dimaksud relaps adalah keadaan proteinuria ≥2+ (proteinuria &gt;40 mg/m 2 LPB/jam) 3 hari berturut-turut dalam 1 minggu setelah pemberian

1. Air di muka bumi jumlahnya tidak berkurang tetapi persebarannya dapat berubah-ubah, hal ini sesuai dengan prinsip.... Hujan dalam istilah hidrologi dikenal

Berdasarkan hasil tersebut dapat disimpulkan bahwa sharia compliance yang diproksikan oleh variabel Islamic Investment Ratio tidak berpengaruh terhadap fraud pada

Alhamdulillahi Rabbil 'Alamin, dengan menyebut nama Allah Yang Maha Pengasih dan Maha Penyayang segala puji dan syukur kami panjatkan kehadirat Allah SWT yang

Sekertaris Daerah(sekcla) sebagai pimpinan eksekutif tertinggi clalam menjalankan peran strategis pemerintahan daerah, dengan tugas fungsi (tupoksi) sebagaimana

Permasalahan ini terutama bisa dipecahkan dengan mengurangi waktu tunggu (delay) dan bahan yang menunggu untuk segera diproses. 7) Proses manufacturing yang lebih

dimaksud pada ayat (1) dilakukan oleh pendiri atas nama Perseroan yang belum memperoleh status badan hukum, perbuatan hukum tersebut menjadi tanggung jawab pendiri yang

Importance Performance Analysis atau analisis tingkat kepentingan dan kinerja/kepuasan pelanggan merupakan metode analisis tingkat kepuasan konsumen terhadap suatu