Konfigurasi Email Server dan Web Mail pada Ubuntu Server


Ilustrasi pengiriman email

Seperti biasa, langkah awal pada setiap tutorial adalah membuat ubuntu server terhubung ke internet, yang bisa anda lihat pada laman Menghubungkan Ubuntu Server ke Internet, hal ini diperlukan untuk menginstal paket aplikasi yang akan kita gunakan nantinya.

Secara garis besar, dalam pembuatan email server dan web mail ini ada 3 langkah :
1. Konfigurasi Awal Web Mail
2. Konfigurasi Email Server
3. Konfigurasi Akhir Web Mail 

Langsung saja kita masuk ke langkah-langkah konfigurasinya

Konfigurasi Awal Web Mail 

1. Karena kita akan membuat sebuah web, maka kita harus menginstall aplikasi Apache2 dan Bind9 terlebih dahulu. Gunakan perintah apt-get install apache2  dan apt-get install bind9, lalu tunggu hingga proses instalasi selesai

2.  masuk ke direktori /etc/bind, lalu buka file named.conf.local dengan perintah nano named.conf.local. Lalu ketikkan script konfigurasi seperti pada gambar
Isi file named.conf.local
Keterangan :
- Kotak kuning = Nama domain yang akan digunakan sebagai web mail
- Kotak merah = Letak file tempat konfigurasi forward dari domain

3. Copy file forward default dengan nama db.mail ( lihat kotak merah ). Perintahnya : cp db.local db.mail

4. Lalu, kita masuk ke file db.mail dengan perintah nano db.mail. Ketikkan script konfigurasi seperti pada gambar..
Isi file db.mail
 Keterangan :
- Kotak kuning : Nama domain web.
- Kotak hijau : IP Address dari ubuntu server

5. Mauk ke direktori /etc, lalu buka file resolv.conf dengan perintah nano resolv.conf. Masukkan script seperti pada gambar, seesuaikan dengan IP Address anda
Isi file resolv.conf
Catatan :
Lewati bagian ini terlebih dahulu jika anda belum memliki paket aplikasi yang diperlukan seperti postfix, courier-imap, courier-pop dan squirrelmail. Jika paket tersebut sudah diinstal, maka langkah keenam ini bisa anda ilakukan
 
6. Jangan lupa utk merestart bind9 ketika ada perubahan konfigurasi dengan perintah /etc/init.d/bind9 restart
 
7.Cek konfigurasi apakah konfigurasi domain server kita sudah benar atau belum, dengan perintah nslookup tekhnikjarkom.net ( sesuaikan dengan domain milik anda )  Jika sudah benar, maka akan muncul keterangan seperti pada gambar
nslookup ke domain

Konfigurasi Email Server

Jika konfigurasi awal web mail telah berhasil, kita lanjutkan ke bagian selanjutnya yaitu konfigurasi email server.

1. Dalam email server, kita membutuhkan SMTP Server. Pada kali ini aplikasi yang kita gunakan utk SMTP Server ini adalah Postfix. Install postfix dengan perintah apt-get install postfix. Lalu tunggu hingga proses instalasi selesai

2. Bila postfix telah selesai diinstal, maka akan muncul tampilan berikut
Pilih OK

 Pilih Internet Site



Isi dengan Nama Domain Anda

3.Selain itu, kita juga membutuhkan IMAP dan POP3 untuk menjalankan Email Server ini, maka kita harus menginstal 2 aplikasi tersebut. Perintahnya apt-get install courier-imap courier-pop. Apabila muncul tampilan seperti pada gambar, pilih NO

4. Selanjutnya, kita akan membuat mail direktori. Mail direktori ini berfungsi untuk direktori INBOX, pada setiap user yang terdaftar. Pesan yang masuk nantinya akan disimpan sementara dalam direktori tersebut. Agar direktori ini otomatis dibuat pada direktori home setiap user, maka kita harus membuat direktori Maildir dengan perintah : postconf -e "home_mailbox = Maildir/"

5. Selanjutnya, kita akan menambahkan 2 user baru. User ini digunakan untuk pengujian mail server yang sudah dibuat.
user1

user2

6. Setelah itu, kita konfigurasikan postfix yang filenya berada pada /etc/postfix/main.cf. Buka file tersebut dengan perintah nano /etc/postfix/main.cf

7. Ketikkan script home_mailbox = Maildir/  di bagian paling bawah isi file. Lebih jelasnya lihat gambar
Konfigurasi file main.cf

8. Selanjutnya, kita harus mengkonfigurasi ulang postfix. ketikkan perintah dpkg-reconfigure postfix. Maka akan muncul tampilan seperti berikut
Pilih OK

Pilih Internet Site

Isi sesuai nama domain anda
Pilih OK

Tambahkan Nama Domain anda

Pilih NO

Tambahkan 0.0.0.0/0

Pilih OK

Pilih OK

Pilih ipv4
9. Kali ini, kita akan melakukan pengujian SMTP dan POP3 server menggunakan mode text. Dengan
bantuan telnet, yang kita arahkan pada port SMTP ataupun POP3, kita dapat menjalankan perintah mail
server melalui terminal langsung, tanpa menggunakan mail client ataupun semacamnya. Perhatikan gambar berikut.Perintahnya telnet mail.tekhnikjarkom.net 25
Telnet SMTP
Keterangan :
- Kotak merah = menentukan pengirim, gambar diatas berarti pengirim emailnya adalah user1
- Kotak kuning = menentukan penerima, gambar diatas berarti penerima emailnya adalah user2
- Kotak hijau = perintah untuk menuliskan isi email
- Kotak biru = isi pesan / email. Tanda titik dibawahnya memiliki arti bahwa email tsb telah selesai dituslis
- Kotak coklat = perintah untuk keluar

Pengujian pop3, perintahnya telnet mail.tekhnikjarkom.net 110
Telnet POP3
Keterangan :
- Kotak merah = username untuk login pop3
- Kotak kuning = password user
- Kotak hijau = perintah untuk melihat inbox
- Kotak biru = perintah untuk membuka pesan 1 di dalam inbox
- Kotak pink = informasi pengiriman email
- Kotak coklat = pesan / isi email

Jika pengujian diatas telah berhasilnya, sekarang kita beranjak ke langkah selanjutnya

Konfigurasi Akhir Web Mail

1. Untuk membuat web mail, maka kita membutuhkan aplikasi webmail untuk ubuntu server. Yang akan kita gunakan kali ini adalah Squirrelmail. Ketikkan perintah apt-get install squirrelmail  untuk menginstal squirrelmail

2. Buka file konfigurasi apache dengan perintah nano /etc/apache2/apache2.conf. Lalu tambahkan script Include “/etc/squirrelmail/apache.conf” di baris paling bawah
Script apache2.conf
3. Selanjutnya buka konfigurasi virtual host milik squirrel mail dengan perintah nano /etc/squirrelmail/apache.conf.
Konfigurasi virtual host squirrelmail
 Ubah script sehingga sama seperti dgn gambar diatas. Sesuaikan nama domain dgn nama domain yang anda gunakan

4. Restart apache2 dengan perintah /etc/init.d/apache2 restart

5. Lakukan pengujian lewat komputer client, isi dns server client dengan ip address ubuntu server

6. Akses web mail yang kita sudah buat lewat browser client. Jika konfigurasi sudah benar, maka akan muncul halaman login squirrelmail
Halaman login squirrelmail

7. Login dengan account user2 untuk mengecek apakah email yang dikirim dari user1 lewat telnet tadi ada atau tidak.
Laman awal ketika sukses login

Mail dari user1
8. Coba kita kirim reply email ini lewat squirrelmail ke user1.
Tampilan untuk menulis email

9. Ketika saya log out account user2 dan login dgn account user1, ternyata di account user1 ada email masuk yg berupa balasan dari email yg tadi dikirim
Laman home user1

Email balasan dari user2

Jika anda berhasil sampai ke langkah ini, maka selamat karna mail server dan web mail anda sudah siap digunakan

Konfigurasi Filtering & Transparent Proxy pada Proxy Server

Postingan ini adalah lanjutan dari postingan konfigurasi proxy server yang bisa anda lihat di Konfigurasi Proxy Server.



Filtering

 
Request yang ditolak oleh proxy server



Filtering yang dimaksud disini adalah 'penyaringan' yang dimana diperbolehkan atau tidaknya suatu arus lalu lintas data melewati proxy server. Pada tutorial kali ini, filter yang kita lakukan adalah
- Bloking situs
- Bloking kata
Fitur ini sangatlah berguna dengan filtering ini kita dapat mencegah komputer di jaringan untuk tidak melakukan searching dengan kata-kata yang dilarang dan tidak membuka situs yang tidak diperbolehlan.

Blocking Situs

Pada dasarnya, blocking situs disini berguna agar proxy server menolak request suatu situs tertentu. Langkah-langkah konfigurasinya :
1. Masuk ke direktori squid dengan perintah : cd  /etc/squid3 

2. Buatlah nama file berisi daftar situs yang akan diblock. Pada contoh kali ini saya beri nama file tersebut blok-situs. ketikkan perintah : nano blok-situs

3. Tuliskan daftar situs yang akan di blockir, pisahkan setiap situs dengan enter
Contoh situs yang akan diblokir
Simpan dan keluar dari file blok-situs. Fitur ini BELUM AKTIF, jadi belum bisa dicoba langsung. Untuk langkah pengaktifannya bisa dilihat di bawah

Blocking kata

Fitur ini berguna untuk menolak request ketika kita melakukan searching dengan kata" tertentu. Langkah-langkah konfigurasinya :
1. Masuk kembali ke direktori squid3, perintahnya : cd  /etc/squid3
2. Buatlah nama file berisi daftar kata yang akan diblock. Pada contoh kali ini saya beri nama file tersebut blok-kata. Ketikkan perintah : nano blok-kata
Contoh kata yang akan diblokir
 Simpan dan keluar dari file blok-kata

Pengaktifan fitur blocking

Setelah file-file diatas dibuat, ada beberapa hal yang harus diatur lagi untuk mengaktifkan file-file diatas agar bisa bekerja di proxy server. Langkah-langkah konfigurasinya :
1. Buka file konfigurasi squid dengan perintah nano /etc/squid3/squid.conf

2. Cari baris yang bertuliskan http_access deny, dan tambahkan beberapa script seperti pada gambar
Keterangan :
- Kotak merah merupakan script untuk mengaktifkan fitur blocking situs pada file blok-situs
- Kotak kuning merupakan script untuk mengaktifkan fitur blocking kata pada file blok-kata
Simpan dan keluar dari file konfigurasi squid.

3. Restart squid3 agar script baru diatas dapat bekerja, dengan perintah : /etc/init.d/squid3 restart

4. Selanjutnya kita coba melakukan request dengan menggunakan situs dan kata yang ada pada file yang telah dibuat sebelumnya. Jika konfigurasi sudah benar, maka proxy server akan menolak request tersebut dan menampilkan laman keterangan error
Request ke situs kaskus.com

Request ke situs olx.com

Searching dengan keyword nasi

Searching dengan keyword pecel
Jika semua kata atau situs yang ada pada file yang telah dibuat sebelumnya tidak bisa diakses, maka filtering telah berhasil diaktifkan

Transparent Proxy

Transparent proxy adalah konfigurasi proxy dimana client yang terhubung ke proxy akan langsung menjalankan fitur yang ada pada proxy tanpa harus melakukan konfigurasi pada browser terlebih dahulu. Hal ini memudahkan kita apabila client yang terhubung ke proxy server ada banyak, karena client akan langsung terhubung ke proxy server tanpa harus mengkonfigurasikannya 1 per 1. Langkah-langkah konfigurasinya :
1. Buka kembali file konfigurasi squid dengan perintah : nano /etc/squid3/squid.conf

2. Cari baris yang bertuliskan http_port 3128. Hal yang harus dilakukan adalah dengan menambahkan kata Trasnparent dibelakang angka port.

Simpan dan keluar dari file konfigurasi squid.

3. Setelah itu, kita perlu mengatur iptables. Ketikkan perintah seperti pada gambar.
Pada dasarnya, perintah tersebut berarti setiap client pada jaringan dengan network 192.168.111.0, akan dipaksa masuk ke squid3 yang ada pada 192.168.111.1 dengan port squid yaitu 3128

4. Langkah terakhir, browser yang ada pada client harus diatur dengan tanpa proxy
a. Pada mozilla firefox, klik tab Alat  dan pilih Pengaturan


b. Klik Canggih, klik tab  Jaringanlalu pada bagian Sambungan, klik Pengaturan
c, Pilih Tanpa Proxy, lalu oke.
Test kembali dengan mengunjungi situs-situs diatas. Jika akses ditolak, maka konfigurasi Transparent proxy telah berhasil.

Konfigurasi Proxy Server pada Linux Ubuntu Server

Ilustrasi Proxy Server
Sebelum kita masuk ke konfigurasinya, silahkan anda pahami pengertian fungsi dari proxy server terlebih dahulu. Klik Proxy Server untuk membuka laman posting tentang proxy server
Langkah-langkah konfigurasinya :
1. Setting Ubuntu server agar bisa terhubung ke internet. Caranya bisa anda klik link Menghubungkan ubuntu server ke internet
2. Lakukan konfigurasi IP pada komputer client. Komputer client disini bisa berupa komputer yang kita gunakan atau komputer virtual. Namun dalam tutorial kali ini, saya menggunakan komputer virtual ber-OS Windows XP. Konfigurasikan seperti pada gambar berikut

Keterangan :
- IP Address harus berada pada network ID yang sama dengan IP eth2 di Ubuntu Server
- Default gateway yang digunakan adalah eth2
- DNS Server diisi dengan IP default gateway pada ubuntu server

4.Cek konektivitas client ke IP default gateway.
Hasil ping ke default gateway

Konfigurasi NAT

Lihat pengertian  NAT dan juga fungsinya melalui link Network Address Translation. Langkah-langkah konfigurasinya :
1. Buka file konfigurasi sysctl dengan mengetikkan perintah nano /etc/sysctl.conf, lalu cari baris yang bertuliskan #net/ipv4/ip_forward=1, lalu hilangkan tanda pagarnya.
Simpan dan keluar dari file konfigurasinya.

2. Aktifkan konfigurasi sysctl dengan perintah : sysctl –p
Perintah sysctl -p dan outputnya
3.Selanjutnya, kita akan membuat komputer client bisa terhubung dengan internet, maka sesuai dengan penjelasan NAT, kita harus melakukan masquerading. untuk melakukan masquerading, ketikkan perintah : iptables –t nat –A POSTROUTING -s 192.168.111.0/24 -j MASQUERADE. maksud dari perintah ini adalah setiap paket-paket data yang berasal (-s) dari alamat jaringan 192.168.111.0/24 setelah melalui router (POSTROUTING) IP addressnya akan diganti (MASQUERADE) menjadi IP Address pada sisi luar dari router.
Perintah untuk masquerading


4. Setelah itu, kita lihat konfigurasi masquerade-nya dengan perintah : iptables –t nat –L.

Output iptables -t nat -L. Jika konfigurasinya benar, maka akan muncul output seperti pada kotak merah.
 5. Setelah masquerading selesai, maka seharusnya client sudah terhubung ke internet. cek konektivitas dengan ping ke DNS Server, 8.8.8.8 dan google .com
Ping ke DNS Server

Ping ke 8.8.8.8

Ping ke google.com

Konfigurasi Proxy Server

Untuk membuat proxy server, kita harus menggunakan suatu paket aplikasi yang bernama Squid3. Langkah-langkah konfigurasinya :
1. Install Squid3 dengan perintah : apt-get install squid3
 \
2. Jika squid3 sudah berhasil diinstal, selanjutnya kita masuk ke file konfigurasinya, ketikkan perintah : nano /etc/squid3/squid.conf

3. Cari baris yang bertuliskan #cache_mem MB, baris ini adalah jumlah memori yang dialokasikan untuk menjalankan squid3. Ganti kata MB menjadi angka & juga hapus tanda # nya menjadi Cache_mem 64 ( untuk angkanya diambil sebanyak 1/4 dari RAM )

4. Cari baris yang bertuliskan #Cache_dir ufs .. Konfigurasikan sehingga menjadi seperti pada gambar berikut
Keterangan gambar :
- /var/spool/squid3 adalah direktori tempat cache dibuat.
- 1000 adalah space alokasi untuk memori cache yaitu sebesar 1000 Mb
- 16 adalah jumlah direktori L1 cache
- 256 adalah jumlah direktori L2 cache
Setelah itu simpan dan keluar dari file konfigurasi tersebut.

5. Restart squid3 dengan perintah : /etc/init.d/squid3 restart.

6. Selanjutnya kita harus membuat direktori cache-nya. Namun sebelum itu, kita harus memberhentikan process dari squid3. Gunakan perintah : /etc/init.d/squid3 stop

7. Lalu, buat direktori cachenya dengan perintah : squid3 -z
Output dari perintah squid3 -z

 8. Lalu jalankan kembali squid3 dengan perintah : /etc/init.d/squid3 start

9. Selanjutnya, kita coba proxy dari client. Supaya http request direspon oleh proxy server, maka harus ada beberapa  hal yang harus di setting pada web browser client. Dalam contoh kali ini, saya gunakan mozilla firefox.

a. Pada mozilla firefox, klik tab Alat  dan pilih Pengaturan

b. Klik Canggih, klik tab  Jaringanlalu pada bagian Sambungan, klik Pengaturan

c. Pilih konfigurasi proxy secara manual, lalu isi IP dan port seperti pada gambar, lalu oke.

10. Selanjutnya, coba kunjungi salah satu situs lewat browser yang baru saja di setting proxy-nya. contohnya google.com, maka akan muncul tampilan seperti pada gambar
Muncul tampilan error dikarenakan squid3 secara default akan menolak semua akses ke internet, supaya dapat mengakses Internet, kita harus membuat konfigurasi lagi agar client bisa mengakses ke Internet

Konfigurasi agar client dapat mengakses internet melalui proxy server

1. Buka kembali file konfigurasi squid3 dengan perintah : nano /etc/squid3/squid.conf
2. Cari baris yang bertuliskan http_access deny all, lalu hapus tanda pagarnya.

3. Tambahkan network yang diperbolehkan / diallowed oleh proxy server, diatas baris http_access deny all. Lalu tambahkan script http_access allow lan. Lebih jelasnya bisa dilihat di gambar berikut :
Simpan dan keluar dari file konfigurasinya

6. Agar perubahan file konfigurasi bisa berjalan, restart squid3 terlebih dahulu dengan perintah : /etc/init.d/squid3 restart.

7. Kembali ke komputer client dan coba akses kembali google.co.id. Jika konfigurasi diatas sudah benar, maka client sudah bisa terhubung ke internet