Sunday, October 05, 2008

Sistem Email Open Source yang Lengkap

Baru-baru ini aku mengalami masalah dengan server email yang berbasis Qmail (menggunakan tutorial qmailrocks+updates). Masalah yang terjadi berkaitan dengan qmail scanner yang berfungsi untuk menscan email dari virus dan juga spam yang menjengkelkan itu. 

Walaupun server email sudah kembali berjalan, aku masih mempertimbangkan untuk melakukan migrasi ke server email yang baru. Pertimbangan mengapa aku ingin melakukan migrasi adalah, instalasi qmail yang aku lakukan sudah tidak update lagi, sudah terlalu banyak bug dan juga patch-patch yang harus ditambahkan di instalasi qmail ini. 

Belum lagi webmail yang tidak terintegrasi langsung ke sistem yang berjalan. Squirrelmail walaupun berjalan dengan baik selama ini, membutuhkan banyak plugin untuk berbagai fungsi. Tampilan Squirremail ini juga sudah kelihatan ketinggalan zaman. 



Walaupun ada berbagai alternatif webmail yang lain, seperti Horde yang proses instalasinya cukup sulit itu dan juga Roundcubemail, webmail client yang menggunakan AJAX sebagai keunggulan utamanya. Tapi kembali lagi ke masalah awal, semua webmail client ini tidak terintegrasi langsung ke dalam sistem. 

Ketika ada masalah dengan mail server yang menggunakan qmail ini, akupun mulai mencari alternatif mail server yang lain. Dan syarat yang aku inginkan adalah Mail Server dengan Sistem yang terintegrasi. Yang dimaksudkan dengan terintegrasi disini adalah Mail Server ini haruslah mempunyai tampilan administrasi user, webmail client, anti virus dan anti spam yang dapat langsung diakses dari satu control panel yang web based tentunya. 

Hmm... hal di atas sepertinya sesuatu yang istimewa sekali dibandingkan dengan instalasi qmail yang aku punya sekarang ini. Walaupun untuk administrasi domain dapat menggunakan Vqadmin dan administrasi user menggunakan Qmailadmin tetapi tetap saja belum dapat memuaskan aku. 

Akupun mulai mencari sebuah sistem email yang terpadu yang dapat diandalkan dan syarat utamanya adalah open source dan mempunyai dukungan komunitas yang luas. Sehingga bila ada masalah yang dialami nantinya diharapkan dapat mudah diatasi. 

Kemudian akupun menemukan deepOfix Mail Server, sebuah distribusi linux yang sudah terintegrasi dengan Mail Server dan tampilan administrasi yang cukup impresif. Aku sudah mencoba untuk menginstallnya di VMWare dan dapat berjalan dengan baik, namun deepOfix ini sepertinya masih dalam tahap pengembangan karena tidak adanya manual untuk administrasi dan juga dukungan forum (ini yang paling penting). 


Selanjutnya dalam pencarianku, aku menemukan Zimbra sebuah platform Collaboration Suite yang sangat mengejutkanku. Aku tidak menyangka bahwa ada platform mail server yang lengkap dengan tampilan dan fitur yang cukup hebat untuk sebuah mail server yang bersifat open source. 





Setelah melihat fitur-fiturnya. Akupun mulai "sangat" mempertimbangkan untuk pindah ke platform baru ini. Apalagi Zimbra didukung oleh komunitas yang cukup kuat. Walaupun demikian permasalahan utama untuk Zimbra ini adalah, Zimbra membutuhkan resources sistem yang cukup besar. Memory minimal untuk produksi adalah 2GB dan yang direkomendasikan 4GB. Wah, berarti aku harus menggunakan sistem 64bit karena 32bit hanya support sampai 3GB saja. 

Kemudian aku harus melakukan migrasi account user dan email-emailnya bila ingin menggunakan sistem email yang baru ini. Pekerjaan yang cukup berat tapi menjanjikan kepuasan bila dapat berhasil dilakukan... hehehe...

Aku juga berencana untuk mendokumentasikan proses instalasi yang aku lakukan nantinya. Aku sudah berhasil untuk melakukan instalasi di VMWare dan tinggal menunggu untuk melakukan instalasi di mesin produksi dengan memory 3GB. 

Squid ZPH HTB-Tools Ubuntu 8.04

Pada post sebelumnya saya mencoba untuk menjelaskan pilihan-pilihan yang ada untuk bandwidth manajemen dengan menggunakan squid. Kemudian saya memilih untuk menggunakan kombinasi antara Squid ZPH dan HTB-Tools. 

Di bawah ini saya mencoba untuk menjelaskan bagaimana saya dapat menjalankan fungsi Squid ZPH di Ubuntu Server 8.04. 

Kebutuhan instalasi:
  • HTB-Tools yang sudah berfungsi normal
  • Squid 2.6.x yang sudah di patch ZPH atau Squid 2.7.x 
Sistem yang ditest berjalan dengan:
  • Ubuntu 8.04.1 Server 
  • HTB-Tools 0.3.0a
  • Squid 2.7.STABLE 3

KONFIGURASI SQUID

Tambahkan baris berikut di squid.conf

zph_mode tos
zph_local 0x30
zph_parent 0
zph_option 136

Restart konfigurasi squid

# squid -k reconfigure

KONFIGURASI HTB-TOOLS

Pertama generate konfigurasi HTB dengan q_parser, dengan perintah: 

# q_parser [interface yang digunakan] 10000 10000 [lokasi file/eth1-qos.cfg] > [direktori tujuan]/eth1-qos.sh

Contoh:

# q_parser eth1 10000 10000 /etc/htb/eth1-qos.cfg > /home/admin/eth1-qos.sh

Selanjutnya buka direktori tujuan:

# cd /home/admin 

Selanjutnya buka file eth1-qos.sh

# vi eth1-qos.sh

Kemudian cari baris berikut:

$TC qdisc add dev $DEV parent 1:0x10 handle 0x10: pfifo limit 5

Tambahkan baris berikut di bawahnya:

$TC class add dev $DEV parent 1:1 classid 1:0x15 htb rate 10Mbit
$TC filter add dev $DEV parent 1:0 protocol ip prio 1 u32 match ip protocol 0x6 0xff match ip tos 0x30 0xff flowid 1:15

Sehingga menjadi:

$TC qdisc add dev $DEV parent 1:0x10 handle 0x10: pfifo limit 5
$TC class add dev $DEV parent 1:1 classid 1:0x15 htb rate 10Mbit
$TC filter add dev $DEV parent 1:0 protocol ip prio 1 u32 match ip protocol 0x6 0xff match ip tos 0x30 0xff flowid 1:15

Setelah menyimpan file eth1-qos.sh, selanjutnya buat file tersebut dapat dieksekusi oleh sistem:

# chmod +x eth1-qos.sh

Kemudian eksekusi file tersebut dengan perintah:

# ./eth1-qos.sh

Terimakasih untuk:


Solusi Bandwidth Management

Optimalisasi penggunaan bandwidth adalah salah satu kewajiban dari administrator jaringan di suatu institusi atau kantor. Penggunaan bandwidth haruslah diusahakan seoptimal mungkin, sehingga pemakaian internet oleh user dapat dikontrol dengan baik. 

Bandwidth management dapat dilakukan dengan berbagai cara,  mulai dari squid dengan delay_poolsnya yang cukup efektif untuk membatasi akses melalui http (port 80) dan kemudian penggunaan HTB yang dapat digunakan untuk mengontrol traffic untuk semua port. 

Squid, selain berfungsi untuk bandwidth manajemen memungkinkan penggunanya untuk menghemat bandwidth internet. Squid berfungsi sebagai proxy server, sehingga halaman/file yang sudah diakses oleh pengguna yang menggunakan proxy server yang sama akan disimpan di dalam memory/harddisk. Sehingga ketika pengguna lain ingin mengakses halaman website/file yang sama. Proxy server tinggal memberikan data yang ada di dalam cachenya, sehingga tidak menggunakan koneksi internet lagi. Hal ini menguntungkan kedua belah pihak, karena pengguna akan mendapatkan halaman/file yang diinginkan lebih cepat (karena menggunakan koneksi lokal) dan bandwidth internet secara keseluruhan akan dihemat karena proxy server tidak lagi mengunduh data yang diinginkan pengguna dari internet. 

Permasalahan selanjutnya adalah apabila proxy server dan bandwidth manajemen (HTB)berada dalam satu server yang sama. HTB yang dijalankan dalam satu server dengan proxy akan membatasi semua jenis koneksi yang berasal dari server,  tidak perduli apakah traffic itu berasal dari internet atau berasal dari cache proxy. Konfigurasi seperti ini tidak efisien, karena seharusnya pengguna dapat mengunduh data yang terdapat di cache proxy dengan kecepatan penuh. Tanpa dibatasi oleh HTB. 

Contoh: 

Apabila bandwidth yang tersedia sebesar 512kbps dan dibagi untuk 4 client, masing-masing 128kbps. (Pembatasan dilakukan dengan menggunakan HTB) 

Maka bandwidth maksimum yang didapatkan oleh client (pengguna) adalah 128kbps, ketika koneksi penuh. Tidak perduli apakah data yang diakses itu sudah berada di cache proxy atau tidak. 

Yang kita inginkan adalah apabila data yang ingin diakes sudah berada di cache proxy, maka client tersebut harus dapat mengunduhnya dengan kecepatan LAN biasa (100mbps). 

Solusi:

Ada beberapa macam solusi yang saya temukan untuk permasalahan ini. 

1. Menggunakan Mikrotik <--> Squid with Tproxy  (2 Box)
2. Menggunakan Squid with ZPH <--> Mikrotik (2 Box)

3. Menggunakan Squid with ZPH+HTB (1 Box)

Dari berbagai solusi yang ada, akhirnya aku memutuskan untuk menggunakan pilihan yang ketiga. Tapi biar post ini gak terlalu panjang, jadi nanti aku post lagi khusus untuk konfigurasi Squid ZPH+HTB-Tools. 

Forum linux.or.id lagi down sih, tadinya mau ikutan diskusi disana juga. Mau berbagi pengalaman juga ama yang lain. Siapa tau ada yang menghadapi masalah yang sama.
 

How to Disable Qmail Queue Scanner?

Recently I have problem with qmail, it can't send or receive email because qmail-scanner error problem.  

(/var/log/maillog) 
Requeuing: Insecure directory in $ENV{PATH} while running with -T switch at /var/qmail/bin/qmail-scanner-queue.pl line 1351,line 51.

So I remove qmail-scanner-queue for temporary. 

#vi /var/qmail/supervise/qmail-smtpd/run

Search this line below and remove it

QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" ; export QMAILQUEUE 

Before 

#!/bin/sh
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" ; export QMAILQUEUE
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
...
...
...

After

#!/bin/sh
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
...
...
...

Then, qmail working without qmail queue scanner.

Friday, October 03, 2008

Mail Server Error! Siap-siap migrasi ke Mail Server Baru

Seminggu ini aku berusaha agar mail server yang telah berjalan selama 2 tahun lebih itu dapat berfungsi dengan normal kembali. Berbagai jenis forum sudah aku kunjungi, berbagai jenis kata kunci sudah aku gunakan di google dan juga yahoo search. Beratus-ratus halaman sudah aku baca tapi tetap saja aku tidak menemukan solusi yang tepat untuk permasalahan di mail server ini. 

Apa yang harus aku lakukan dengan error di bawah ini? (*diambil dari /var/log/maillog server email) 

Requeuing: Insecure directory in $ENV{PATH} while running with -T switch at /var/qmail/bin/qmail-scanner-queue.pl line 1351, line 51.

Mungkin ada yang tahu solusi dari masalah ini? Aku sudah tidak tahu harus berbuat apa lagi. Mail Server ini tadinya berjalan dengan "baik" selama kurang lebih dua tahun.  

Adapun mail server ini menggunakan : 
  • OS: Fedora Core 4 (Iya, aku tau udah versi lama... tapi masih stabil lho..) 
  • Qmailrocks (Ini sumber dari semua masalah itu ) 
Mungkin memang sudah saatnya aku membangun server email yang baru, yang lebih stabil dan mudah manajemennya. 

Sekarang aku lagi menjajaki untuk membangun server email dengan menggunakan: 
  • Ubuntu 8.04 
  • Zimbra Collaboration Suite
Siap Berjuang!!! Where there is a will. There is a way.