Building Mail Server in FreeBSD

Post on 03-Sep-2014

1.417 views 2 download

Tags:

description

How to building Mail server in OPerating system FreeBSD

Transcript of Building Mail Server in FreeBSD

Perancangan dan Implementasi

• Aplikasi-Aplikasi yang Diperlukan.

Komponen-komponen yang akan kita install untuk membangun suatu mailserver di FreeBSD

adalah sebagai berikut:

• Apache HTTP Server 2.2.8

• PHP 5.2.5

• Postfix SMTP Server 2.5.1

• Courier-IMAP Server 4.3.0

• Squirrelmail.

Sebelum memulai melakukan langkah instalasi pastikan terlebih dahulu hal-hal berikut ini:

• FreeBSD telah terinstal dengan benar beserta ports collectionnya (penulis menggunakan

freeBSD 8.2)

• FreeBSD kita telah terhubung/terkoneksi ke internet (penulis terhubung ke jaringan ITB

dan mendapat IP 167.205.3.53)

• Kita memakai domain yang dikenali oleh server tempat kita terkoneksi (domain dari

FreeBSD yang dipakai adalah 11.arc.itb.ac.id)

• Instalasi Apache.

Jalankan command berikut :

# cd /usr/ports/www/apache22

# make config ; make install clean

# rehash

Setelah apache selesai terinstal jalankan untuk mengecek terjadi error saat instalasi.

# apachectl configtest

Jika muncul Syntax OK, maka installasi berhasil dan lanjutkan ke command berikut :

# ee /etc/rc.conf

Tambahkan baris berikut di /etc/rc.conf:

apache22_enable=”YES”

apache22_http_accept_enable=”YES”

Kemudian jalankan Apache dengan command berikut :

# /usr/local/etc/rc.d/apache22 start

Buka IP address kita pada browser (http://167.205.3.53) akan muncul notifikas “It, Works)

yang artinya apache22 sudah terinstal dengan baik pada FreeBSD.

lokasi direktori : /usr/local/www/apache22/data

nama file: index.html

lihat konfigurasi :

/usr/local/www/apache22/data

hends# ls

index.html

• Instalasi PHP5.

Jalankan command berikut :

# cd /usr/ports/lang/php5

# make config ; make install clean

Kemudian menu pengaturan php5 akan muncul, scroll ke APACHE dan tekan spacebar

untuk menginstall Apache Modul. Biarkan settingan lain, kemudian tekan tab (OK) dan

enter.

Proses instalasi akan berlangsung dan tunggu selama beberapa saat.

Konfigurasi PHP5-Apache.

Sekarang kita akan mengkonfigurasi file httpd.conf agar apache bekerja dengan modul PHP.

Buka file httpd.conf.

# ee /usr/local/etc/apache22/httpd.conf

Scroll ke DirectoryIndex dan masukan index.php ke index.html seperti ini :

<IfModule dir_module>

DirectoryIndex index.php index.html

</IfModule>

Scroll httpd.conf ke bawah dan tambahkan baris berikut:

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

Save file konfigurasi ini.

Copy file php.ini-development ke php.ini pada /usr/local/etc.

# cd /usr/local/etc

# cp php.ini-development php.ini

Buka php.ini :

# ee /usr/local/etc/php.ini

Scroll ke session.save_path declaration (~1050) dan hapus titik komanya. Kemudian akan

menjadi seperti ini setelah diedit :

session.save_path = “/tmp”

Save file konfigurasi ini.

Restart Apache

# /usr/local/etc/rc.d/apache22 restart

Untuk mengetes php, buat phpinfo.php pada direktori default Apache.

# ee /usr/local/www/apache22/data/phpinfo.php

dan tambahkan baris ini :

<?php phpinfo(); ?>

Save file ini.

Tes php dengan membuka http://11.arc.itb.ac.id/phpinfo.php pada browser.

Jika konfigurasi berhasil, maka akan terlihat beberapa tabel informasi.

• Instalasi Postfix.

Untuk memulai instalasi jalankan perintah berikut :

# cd /usr/ports/mail/postfix

# make config ; make install clean

Konfigurasi biarkan dalam keadaan default.

Instalasi akan berjalan dan tunggu selama beberapa saat.

Di tengah proses installasi kita akan diminta untuk menambah user postfix ke group mail.

Enter Y untuk melanjutkan instalasi.

Ketika anda ditanya apakah ingin mengaktifkan Postfix pada /etc/mail/mailer.conf, enter Y.

Postfix-specific mailer.conf akan dibuat pada /etc/mail

# rehash

Konfigurasi Postfix

Edit file main.cf pada /usr/local/etc/postfix. Pertama, bukan main.cf dengan Easy Editor.

# ee /usr/local/etc/postfix/main.cf

Scroll kebawah pada bagian “mydestination” dan hilangkan komentar yang kedua dari tiga

mydestination statements dengan menghilangkan tanda pagar. Sehingga menjadi :

mydestination = $myhostname, localhost.$mydomain, localhost,

$mydomain

Scroll kebawah bagian “home_mailbox” dan hilangkan komentar home_mailbox declaration

untuk mengaktifkan mail delivery ke Maildir. Baris tersebut akan terlihat seperti ini :

home_mailbox = Maildir/

Untuk meneruskan email yang dialamatkan ke root user, anda perlu mengedit file bernama

aliases yang berada di direktori /etc/mail . Buka file ini dengan Easy Editor :

# ee /etc/mail/aliases

Scroll kebawah, pada baris “root:….”, dan masukkan email adress dari system

administrator. Akun email root akan diteruskan ke email adress ini. Baris tersebut akan

muncul seperti berikut, dengan mengganti username@example.com dengan email adress

yang benar.

root: username@example.com ( admin@11.arc.itb.ac.id )

Save file konfigurasi ini.

Untuk mengupdate aliases.db, masukkan command berikut :

# newaliases

Testing Postfix

Buka rc.conf :

# ee /etc/rc.conf

dan tambahkan baris berikut untuk menjalankan Postfix secara otomatis saat booting :

postfix_enable=”YES”

sendmail_enable=”NO”

sendmail_submit_enable=”NO”

sendmail_outbound_enable=”NO”

sendmail_msp_queue_enable=”NO”

Save dan exit.

Buat dan buka file /etc/periodic.conf :

# ee /etc/periodic.conf

dan tambahkan baris berikut ke file kosong (seperti pada gambar di bawah) :

daily_clean_hoststat_enable=”NO”

daily_status_mail_rejects_enable=”NO”

daily_status_include_submit_mailq=”NO”

daily_submit_queuerun=”NO”

Save dan exit.

Enter dan masukan command berikut untuk menghentikan Sendmail dan memulai Postfix

untuk testing:

# killall sendmail

# /usr/local/etc/rc.d/postfix start

Mengirim Mail

Masukkan command berikut untuk memulai koneksi dengan Postfix menggunakan telnet:

# telnet localhost 25

Sebelum mengirim email, kita perlu membuat user, dengan cara

# adduser

dengan username : admin, fullname : administrator, shell : tcsh, pass : admin

sedangkan yang lain biarkan default.

Kemudian tes dengan mengirim email, dengan cara seperti pada gambar berikut (email akan

dikirim oleh user lainnya (bukan admin yang baru dibuat), yaitu “lukman”):

Email yang telah dikirim kita cek dengan browser dan ternyata sudah diterima dengan baik.

• Instalasi Courier Authlib.

Jalankan command berikut untuk memulai installasi :

# cd /usr/ports/security/courier-authlib

# make config ; make install clean

Biarkan konfigurasi default.

Proses instalasi akan berlangsung dan tunggu selama beberapa saat.

Selanjutnya, buka authdaemonrc:

# ee /usr/local/etc/authlib/authdaemonrc

Hilangkan nama dari semua authentication modules pada authmodulelist declaration kecuali

untuk authpam. Authmodulelist akan terlihat seperi ini

authmodulelist=”authpam”

Save dan exit.

Testing

Buka rc.conf:

# ee /etc/rc.conf

Tambahkan baris berikut :

courier_authdaemond_enable=”YES”

Jalankan courier authdaemond dan lihat statusnya (seperti pada gambar berikut):

# /usr/local/etc/rc.d/courier-authdaemond start

# /usr/local/etc/rc.d/courier-authdaemond status

• Instalasi Courier IMAP.

Courier-imap adalah program server IMAP (Internet Message Access Protocol) open-source

yang berfungsi dengan bergabung dengan MTA (Mail Transfer Agent) semacam Postfix.

Untuk menginstal courier-imap:

# cd /usr/ports/mail/courier-imap

# make config ; make install clean

Tunggu proses instalasi yang sedang berlangsung.

Konfigurasi Courier-Imap bagian Imapd.

Setelah proses penginstalan selesai maka kita akan menyeting courier-imap. Untuk

menyetingnya ketikkan perintah :

# ee /etc/rc.conf

Lalu tambahkan line berikut pada file tersebut

courier_imap_imapd_enable=”YES”

courier_imap_pop3d_enable=”YES”

Save konfigurasi ini.

Karena program courier-imap belum terjalankan, kita perlu menjalankannya dengan

mengetik perintah :

# /usr/local/etc/rc.d/courier-imap-imapd start

cd /home/user

Ganti user dengan user Anda sendiri

Mkdir Maildir/

Chown –R Maildir/

add direktori di Maildir

cur

new

tem

lalu : Chown –R Maildir/

hasil :

.Drafts courierimapkeywords cur

.Sent courierimapsubscribed new

.Trash courierimapuiddb tmp

Testing Courier-Imap bagian Imapd

Setelah imap berjalan, kita perlu mengecek apakah imap tersebut berjalan dengan baik.

Ketikkan perintah :

# telnet localhost 143

Setelah terhubung, maka kita perlu login dengan nama dan password salah satu user selain

root. Dalam percobaan ini kita akan login menggunakan nama admin dan pasword admin.

Ketik perintah :

aa login username password

Setelah login, kita bisa melihat inbox dari user tersebut dengan cara mengetik perintah :

ab select inb

jika program berhasil berjalan dengan baik maka login dan pengecekan akan berhasil

sehingga akan muncul tulisan yang menunjukkan inbox kita, setelah selesai mengecek,

logout dengan menggunakan perintah

ac logout

Setelah itu, sama dengan imap, untuk menjalankan pop3 ketikkan perintah :

# /usr/local/etc/rc.d/courier-imap-pop3d start

Testing Courier-Imap bagian POP3

Lalu untuk mengecek berjalannya pop3 maka ketikkan perintah ;

# telnet localhost 110

Setelah terkoneksi, login dengan username dan password yang ada selain root, dengan

perintah :

user username

pass password

Seperti contoh sebelumnya, dalam contoh kali ini kita juga menggunakan user admin

dengan password admin.

Untuk mengecek status pop3 maka ketikkan persintah „stat‟. jika pop3 berjalan dengan baik

maka akan keluar tulisan OK. Setelah selesai, ketikkan perintah „quit‟ untuk keluar.

• Instalasi Squirrelmail.

Ports squirrelmail pada:

# cd /usr/ports/mail/squirrelmail

# make config ; make install clean

Biarkan konfigurasi default dan tunggu sampai proses instalasi selesai.

Konfigurasi SquirrelMail

Setelah proses instalasi selesai, kita akan mengkonfigurasi squirelmail, pertama

meningkatkan kapasitas file yang bisa diupload menjadi 8 Mb dengan cara membuka file

php ini di /usr/local/etc/php.ini dengan easy editor. ketik perintah ;

# ee /usr/local/etc/php.ini

Langkah selanjutnya:

# cd /usr/local/www/squirrelmail

#./configure

Pastikkan konfigurasi dibawah ini di setting dengan benar

[2] Server Settings

[1] Domain

Pada prompt, ganti example.com dengan nama domain

[2] Server Settings

[A] Update IMAP Settings

[8] Server Software

Pada prompt, ganti other dengan courier

keluar dan simpan

Kemudian, buatlah file squirrelmail.conf di direktori berikut:

# ee /usr/local/etc/apache22/Includes/squirrelmail.conf

Lalu tambahkan konfigurasi berikut:

Alias /squirrelmail “/usr/local/www/squirrelmail/”

<Directory "/usr/local/www/squirrelmail/">

Options None

AllowOverride None

Order allow,deny

Allow from all

</Directory>

Save dan exit.

Untuk membiarkan squirrelmail berkerja, kita perlu merestart apache22 dengan perintah:

# /usr/local/etc/rc.d/apache22 restart

Selesai dan squirrelmail pun telah terinstal dengan benar

• Testing Squirrelmail.

Squirrelmail merupakan webmail. Jadi kita bisa mengaksesnya melalui web browser. Pada

browser, masukkan alamat http://167.205.3.53/squirrelmail/

Kemudian kita tinggal login dengan username dan password yang kita miliki (user:admin

pass:admin). Halaman depan squirrelmail seperti pada gambar berikut:

Kemudian kita akan mengirim dan menerima email dengan squirrelmail ini.

Bab IV

Pengujian Sistem

Pada pengujian mail server, dicoba proses pengiriman email oleh user dengan alamat

admin@11.arc.itb.ac.id ke fikri_alg17@rocketmail.com. Dan diuji untuk menerima email dari

lukmanfsiregar@gmail.com.

Pada gambar di bawah ini email dari Gmail berhasil diterima oleh Squirrelmail.

Pada gambar di bawah ini Yahoo Mail berhasil menerima email dari squirrelmail

(admin@11.arc.itb.ac.id).