Berikut ini sedikit catatan pengalaman saya yang mungkin bermanfaat sewaktu memigrasikan sejumlah account email (350+) dari vpopmail ke Zimbra beberapa waktu yang lalu. Dalam catatan ini saya akan bahas secara garis besarnya aja.
Sebelumnya perlu diingat bahwa memigrasikan sebuah sistem ke sistem lain itu lebih rumit dari pada membuat sistem baru. Maka dari itu persiapkanlah jauh-jauh hari apa yang bisa dikerjakan terlebih dahulu, meskipun itu hal yang kecil (misalnya dokumentasi) sehingga dalam proses migrasi nanti berjalan smooth dan Anda tidak jatuh dalam DRY/DIE. Jangan lupa catat semua yang dilakukan agar mempermudah tracking jika ada sesuatu yang tidak berjalan.
Beberapa hal yang perlu dipersiapkan sebelum migrasi dari sistem lama adalah :
- Daftar account dan informasi pendukung yang dibutuhkan seperti password, nama lengkap dan quota
- Daftar mailing-list
- Daftar alias (forward .qmail)
- Data address book webmail (jika ada)
Kemudian pada sistem baru sebaiknya :
- Zimbra diinstall pada partisi yang cukup (paling) besar, lebih baik partisi /opt dipisahkan
- Mengaktifkan clear-text login pada servis IMAP (digunakan untuk sinkronisasi mailbox)
- Mensetting IMAP agar menerima mail dengan ukuran besar (misalnya 50MB) untuk mengantisipasi email ukuran besar dari sistem lama (zimbraMtaMaxMessageSize dan zimbraMailContentMaxSize)
Account
Data user (account) yang akan dimigrasikan bisa diambil dari vpasswd. Data tersebut meliputi account, password (yang dienkripsi), clear password (kecuali jika vpopmail dikompile dengan –-disable-clear-passwd), nama lengkap dan quota. Sebagian penjelasan struktur field vpasswd adalah seperti ini (seperti yang dijelaskan oleh pak Ken Jones disini) :
Dengan memanfaatkan perintah zmprov, maka account yang telah ada tersebut bisa dibuat di server baru dengan melakukan looping pada file tersebut. Contoh perintah untuk membuat [email protected] (nama lengkap Asfihani) dengan password rahasia adalah :
zmprov ca [email protected] rahasia displayName 'Asfihani'
Password
Di Zimbra selain bisa menerima argumen clear-password pada saat membuat account, bisa dimungkinkan untuk mengganti account yang telah ada dengan cara memodifikasi atribut userPassword account ybs. Yang sudah saya coba adalah algoritma enkripsi CRYPT. Cara ini sangat berguna untuk memigrasikan sebuah sistem lama ke sistem yang baru tanpa mengganti password user lama. Sehingga dari sisi pengguna, migrasi ini berjalan secara transparan tanpa ada proses reset password.
Quota
Informasi quota di vpopmail bisa diambil dari file vpasswd. Dengan mengubah attribut zimbraMailQuota kita dapat menerapkan quota tersebut. Contoh untuk menerapkan quota 20MB (20971520 bytes) pada account [email protected] dengan zmprov adalah :
zmprov ma [email protected] zimbraMailQuota 20971520
Mailbox
Data paling penting yang harus dipindahkan tentunya adalah email-email account atau kita sebut saja mailbox. Untuk memindahkan data tersebut kita manfaatkan tool imapsync yang berfungsi untuk menyalin data dari sistem lama ke sistem baru menggunakan protokol IMAP. Contoh untuk memigrasikan account [email protected] dari server lama (10.126.10.10) ke localhost (Zimbra) dengan password rahasia menggunakan imapsync adalah sebagai berikut :
imapsync --buffersize 8192000 --nosyncacls --subscribe --syncinternaldates --noauthmd5 \
--host1 10.126.10.10 --user1 [email protected] --password1 rahasia \
--host2 127.0.0.1 --user2 [email protected] --password2 rahasia
Proses ini memakan waktu cukup lama. Pengalaman saya memindahkan 350 mailbox secara sekuensial dengan ukuran total 20 GB memakan waktu +- 5 jam! Mungkin jika Anda mempunya sumber daya perangkat yang memadai hal ini bisa dicoba dilakukan secara pararel :)
Alias
Alias (atau dot-forward) di vpopmail bisa dilihat pada direktori domain ybs dengan memperhatikan file .qmail-* atau menggunakan tool qmailadmin. Contoh untuk menambahkan alias [email protected] ke account [email protected] :
zmprov aaa [email protected] [email protected]
Mailing-list
Memindahkan mailing-list dari sistem vpopmail (tepatnya ezmlm) ke Zimbra memang sedikit tricky. Hal ini disebabkan karena Zimbra belum ada fitur mailing list seperti ezmlm. Memang sudah ada Distribution List yang sudah cukup untuk sekedar meneruskan email ke beberapa orang, namun fitur-fitur sebuah mailing-list seperti proteksi posting hanya dari member masih belum bisa dilakukan.
Untuk mengatasi hal ini kita gunakan GNU Mailman dengan Apache dan Postfix yang listen di port yang lain (karena port default sudah digunakan oleh Zimbra). Kemudian pada Zimbra kita buat seluruh email alias dari Mailman tersebut (admin, bounces, confirm, join, leave, owner, request, subscribe, unsubscribe) untuk diredirect ke Postfix pada port alternatif tersebut dengan cara mengubah atribut zimbraMailTransport. Kalau digambarkan flow email yang mengarah ke mailing list kira-kira seperti ini:
Untuk melihat mailing-list yang ada di sistem lama bisa menggunakan tool qmailadmin atau beberapa perintah berikut ini yang mungkin bisa membantu:
Daftar moderator:
$ezmlm-list DIR/mod/
Daftar member:
$ezmlm-list DIR/
Prefix subject mailing list :
$cat DIR/prefix
Footer (jika ada) :
$cat DIR/text/trailer
Dimana DIR adalah direktori mailing-list, misalnya: /home/vpopmail/domains/domain.tld/list-name
Update: jika Anda tidak ingin menginstall Postfix dan Apache tambahan bisa mengikuti tutorial ini (Thanks Mas Dudi).
Address Book
Jika sistem lama menggunakan Squirrelmail sebagai webmailnya, maka data address book masing-masing user bisa dikonversi menjadi format CSV. Di Zimbra, import address book (Contact) menerima file CSV dengan format sebagai berikut :
"First Name","Last Name","E-mail Address","E-mail Display Name"
Untuk mengimport file address book di Zimbra bisa memanfaatkan perintah zmmailbox, misalnya perintah untuk mengimport file asfik_domain_tld.csv yang berisi address book ke account [email protected] :
zmmailbox -z -m [email protected] pru /Contacts asfik_domain_tld.csv
—
Demikian sedikit catatan yang mungkin berguna. Tertarik melakukan migrasi atau punya pengalaman yang bisa dishare? Silakan menulis komentar dibawah ini :)
itu bikin bagannya bagus, pake apa ya? dia?
tantangan terberat migrasi mail server itu ada 2 hal kalau menurut saya. yang pertama adalah downtime yang minimal dan yang kedua adalah tidak adanya perubahan preferensi apapun disisi end user.
kalau memigrasi dari lama ke baru dengan system yang sama mungkin tidak ada masalah, tapi kalau berbeda baru jadi masalah. khususnya masalah enkripsi password yang belum tentu disupport.
saya pernah punya masalah memindahkan password user di /etc/shadow pada opensuse untuk dipindahkan ke courier-authlib. karena courier-authlib tidak mendukung blowfish, sedangkan opensuse default passwordnya menggunakan blowfish. tapi akhirnya bisa diatasi dengan menggunakan library yang support blowfish untuk courier-nya.
kelupaan. untuk mailman bukannya udah bisa di integrasikan dengan zimbra? jadi gak perlu install postfix lagi.
ini panduannya:
http://www.zimbra.com/forums/administrators/1380-solved-zimbra-mailman-howto.html
@ryosaeba: gambarnya masih pakai edraw di windows mas ryosaeba :)
@dudi: terima kasih infonya mas dudi, sudah saya update tulisannya diatas, alternatif tersebut bagus sekali, tapi pengalaman saya kalau upgrade zimbra (walaupun sudah modifikasi di localconfig), file main.cf selalu direset jadi bawaannya zimbra :), tapi sekali lagi thans info dan sharenya.
bukmak ah,
sementara masih betah sama postfix+fetchmail+ghosted, entah nanti kalo emang perlu migrasi, sebenernya gatel juga pengen nyoba zimbra tapi berhubung saya sendiri penganut “if it ain’t broken, don’t fix it” jadi mungkin nunggu crash dulu :D
@asfik: kalau gak mau direset oleh zimba. settingnya letak-kan di main.cf.in. jadi nanti setiap zimbra direstart tidak akan mengalami perubahan
@idban: daripada pake zimbra mending pake iredmail (iredmail.org) ban. lebih enteng dan simpel :). *tendang idban balik ke kampung*
Thanks buat share-nya, informasi yang sangat bermanfaat.
@dudi: thanks om tipsnya, nanti dicoba lagi, pengalaman yang ude2, modif disitu juga kalau upgrade zimbra pada ilang semua…
@idban: nah itu namanya idealis ban hahaha, orang sudah enak-enak ngga usah dipindah bikin capek aja, btw sudah nyobain Afterlogic webmail belum? http://www.afterlogic.com/community-editions/webmail-lite
@vavai: sip sip, kalau mau share juga silakan
thanks for share!