03 Mei 2009

Roundcube dengan share domain

Sebenernya masih ada satu server lagi yang bakal kita ganti. Yaitu mail server. Masih pake Redhat 7.3. Betul sekali! Redhat 7.3 yang kuno abis :-D Wah gemana lagi. Karena udah Linux dan udah gue tambahin beberapa fasilitas antivirus, antispam, greylisting, filtering dan banyak lagi lainnya ternyata berjalan baek, akhirnya dimasukkan prioritas rendah untuk upgrade. Rencananya setelah Netware di shutdown, mail server akan diganti dengan Ubuntu Server 8.04 LTS Edition yang tentunya lebih modern.

Gue dulu terbiasa pake Redhat lalu Fedora. Jadi tentunya Sendmail adalah makanan gue sehari-hari. Tapi situasi berubah. Sejak pake Ubuntu Server, menunya udah pake postfix. Mau nggak mau yah harus belajar lagi. Dan udah sejak awal minggu ini Ubuntu Server udah running dan udah gue pake untuk kirim email saja. Rencananya minggu depan MIS juga bakal ikutan nyoba juga. Bisa dikatakan tahap beta deh.

Suprise juga. Ternyata postfix gampang banget configurenya :-D Ini hasil setelah 2 minggu belajar. Dan yang lebih suprice lagi, banyak sekali features yang tidak bisa dilakukan Sendmail (alias harus pake milter), ternyata semuanya bisa dilakukan postfix tanpa tambahan software. Dan juga dengan cara yang sangat simple.

Mail server ini harus menghandle multi domain. Karena emang ada 5 company di sini. Dan karena mereka sejak pake Sendmail menggunakan share domain, postfixnya juga kita arahin share domain saja. Kalo pengen tau share domain, ini contohnya:
  • user20@domain1.com
  • user20@domain1.co.th
Keduanya akan masuk ke mailbox user20. Juga disini user kadang pindah company. Jadi biar nggak ribet, cara ini lebih simple.

Kalo bertahun-tahun mereka pake Squirrelmail untuk webmailnya, sekarang giliran Roundcube akan gantikan posisinya. Roundcube lebih modern dan lebih mudah. Jadi disini gue akan bahas gemana gunakan Roundcube dengan multi domain (share domain).

Disini ada 5 company. Dan tiap company bisa saja ada 1-2 domain (contoh domain di atas tadi). Karena mail servernya cuman satu, tiap-tiap company dikasih hostname yang beda. Misal untuk domain "company1.com" mail servernya "mail.company1.com". Demikian juga untuk company yang laen.

Roundcube secara default cuman munculin pertanyaan "username" dan "password". Dan kita akan tambahain dengan pilihan domain. Cuman untuk lebih memudahkan user, pilihan domainnya harus otomatis. Bisa dengan deteksi hostnamenya. Kalo user menuju "mail.company1.com" maka default domain adalah "company1.com".

Tambahkan ini di atas baris "$rcmail_config = array();" pada file /etc/roundcube/main.inc.php

//deteksi hostname
$server_url = $_SERVER['SERVER_NAME'];

//deteksi domain name (defaultnya company1.com)
$arrayURL = explode('.',$server_url);
if (count($arrayURL)==4){
        $domain_url = $arrayURL[1].'.'.$arrayURL[2].'.'.$arrayURL[3];
} else {
        $domain_url="company1.com";
};

//bentuk array untuk pilihan domain
$host_url = array(
        $server_url       => $domain_url,
        'mail.company1.com' => 'company1.com',
        'mail.company2.com' => 'company2.com',
        'mail.company3.com' => 'company3.com',
        'mail.company4.com' => 'company4.com',
        'mail.company5.com' => 'company5.com'
);

Lalu bagian bawahnya sesuaikan ke 2 variabel ini:

$rcmail_config['default_host'] = $host_url;
$rcmail_config['mail_domain'] = $domain_url;

It' done. Sekarang Roundcube akan muncul pilah "username", 'password" dan "server". Di mana servernya ini akan melakukan deteksi domain yang digunakan user. Hmm ... opensource paling gampang kan kalo di modif.

Well done :-D


Tidak ada komentar: