Skip to main content

Migrasi Mail Account Zimbra

Untuk melakukan migrasi mail Zimbra, kesulitan pertama adalah memindahkan user ke server baru tanpa harus merubah password.  Masalahnya adalah kita tidak bisa langsung mengekstrak password dari sistem Zimbra.  Artinya untuk menampilkan userPassword dengan getAccount (ga) tidak akan kita dapatkan password yang bisa kita simpan untuk kita install di server baru.


zimbra@mail:~#zmprov ga sidoel@domain.co.id userPassword
# name sidoel@domain.co.id
userPassword:  VALUE-BLOCKED


Zimba, secara default, menggunakan internal LDAP untuk menjalan fungsi authentication.  Dan oleh karena itu, Zimbra menyediakan alternatif untuk berinteraksi dengan LDAP saat menggunakan zmprov dengan option 'l' yang disebutkan dalam 'help' nya sebagai 'provision via LDAP instead of SOAP'.
Baiklah, kita coba untuk menggunakan option '-l' untuk menggunakan LDAP.

zimbra@mail:~#zmprov -l ga sidoel@domain.co.id userPassword
# name sidoel@domain.co.id
userPassword:  {SSHA}QASTbMtzKr4fmlIytyOr28p4wBSieYmo

Sippp!
Sekarang bagaimana untuk mendapatkan seluruh account dan password?
zmaccts adalah internal tools dari zimbra yang digunakan untuk menampiklan seluruh account yang terdaftar di mail system zimbra baik yang aktif maupun tidak dalam urutan ke samping account,status,created, dan last logon. Karena informasi yang ditampilkan bercampur dengan informasi lain, kita bisa grep untuk yang hanya mengandung '@'.  Sementara karena account ditampilkan pada urutan pertama kita bisa menggunakan 'awk' untuk hanyak mencetak kolom pertama saja dengan awk '{print $1}'.  Perintah lengkapnya:

zimbra@mail:~#zmaccts

account                                    status          created                   last logon
--------------------------------------     ------------    ---------------------     --------------------------
tolo@domain.co.id                          active          11/01/13 14:00            11/20/13 18:00
tole@domain.co.id                          active          11/01/13 14:21            11/18/13  07:01
tono@domain.co.id                          closed          12/01/13 12:02            11/15/13  08:19
toni@domain.co.id                          active          12/01/13 12:15            never
dst....
zimbra@mail:~#zmaccts | grep @ | awk '{print $1}'
tolo@domain.co.id
tole@domain.co.id
tono@domain.co.id
toni@domain.co.id

dst....
Sipp lagi....
Nah, sekarang, untuk memigrasi account, cara yang paling mudah adalah membentuk batch file pembentukan account berdasar informasi dari server lama untuk kemudian dijalankan di server baru.
Pembentukan account masih menggunakan zmprov.  Oleh, karena kita menghendaki bahwa semua account mempunyai password yang sama maka setelah kita mengekstrak password dengan menggunakan LDAP, maka dalam menginstall account ke server baru juga harus menggunakan LDAP. 

zimbra@mail:~#zmprov -l ca sidoel@domain.co.id {SSHA}QASTbMtzKr4fmlIytyOr28p4wBSieYmo

Perintah di atas bisa dilengkapi dengan option-option tambahan

zimbra@mail:~#zmprov -l ca sidoel@domain.co.id {SSHA}QASTbMtzKr4fmlIytyOr28p4wBSieYmo displayName "Si Doel Gelo"
Option-option tambahan bisa didapat dari server lama dengan menggunakan zmprov dengan syntax yang sama dengan ketika kita mengekstrak password.
Misal, untuk mengetahui displayName
zimbra@mail:~#zmprov ga tolo@collega.co.id displayName
# name tolo@collega.co.id
displayName: Kacang Tolo

Sekali lagi, sipppp!!!
Setelah kita bisa mengambil beberapa informasi yang kita butuhkan untuk pembentukan account di server baru, kita bisa susun script pembentukan batch statement dengan kontent sebagai berikut.
#!/bin/bash
#Berikut adalah script yang digunakan untuk menysusun batch statement yang akan
#dijalankan di server baru
#bisa script ini dijalankan maka kita akan mendapatkan file existingAcc.sh yang bisa kita jalankan di server
#baru untuk membentuk account-account yang sama.
if [ -f existingAcc.sh ]; then
rm -f existingAcc.sh;
fi
touch existingAcc.sh;
echo "echo Installasi existing Account" > existingAcc.sh;
for i in `zmaccts | grep "@" | grep "active" | awk '{print $1}'`;do
 zmprov -l ga $i userPassword displayName zimbraAccountStatus > /tmp/zimbraAccount.txt;
    shLine1="";
    shLine2="";
    shLine3="";
    while read attr;do
      case $attr in
         userPassword*) export shLine1=`echo $attr | sed 's/userPassword: //'`;;
         displayName*) export shLine2=`echo $attr | sed 's/displayName: //'`;;
         zimbraAccountStatus*) export shLine3=`echo $attr | sed 's/zimbraAccountStatus: //'`;;
         *);;
     esac
    done < /tmp/zimbraAccount.txt
    echo "Extracting account $i and write into batch file";
    echo "zmprov -l ca $i $shLine1 displayName $shLine2 zimbraAccountStatus $shLine3" >>existingAcc.sh;
done
chmod +x existingAcc.sh;
Selamat mencoba......

Popular posts from this blog

Replikasi PostgreSQL 9.0

PostgreSQL 9.0.x mungkin merupakan satu lompatan yang mampu menyejukkan 'kekeringan' para penggemar PostgreSQL akan satu fitur yang paling sangat dinantikan. Replikasi. Semenjak saya mulai keranjingan PostgreSQL pada tahun 2006, hal yang paling sering mengganggu adalah masalah replikasi data. Tak usahlah sampai ke active-active, active-passive pun terasa amat sulit mendapatkan pemecahannya. Memang teramat banyak pilihan replikasi untuk postgres, namun, ataghfirullah, reliability nya sangat-sangat rentan. Terutama bila dipegang oleh orang yang tidak terlalu menguasai. Sebut saja pgCluster, pgPool, sequoia, atau Slony. Hampir semua nyaris bikin frustasi, kecuali Slony. Hanya proses inisiasi Slony teramat-amat sangat ribet dan menghasilkan rieut yang sangat. Nah ribet, rieut inilah kemudian yang dicoba untuk dipangkas oleh Replikasi PostgreSQL 9.0. Streaming Replication Streaming Replication? Kenapa streaming? PostgresSQl 9.0.x memanfaatkan XLOG (pg_xlog) untuk melakukan ...

Superfish Menginjeksi Laman-Laman Google

Beberapa bulan lalu pengguna lenovo sempat dibuat gerah dengan penggunaan software superfish yang sengaja disisipkan oleh Lenovo. Penggunaan adware yang sebenarnya dimaksudkan untuk memudahkan pengguna yang suka berbelanja ternyata justeru menjadi duri dalam daging bagi pengguna. Adware ini, mampu membongkar enkripsi web pengguna komputer dan akhirnya membuat komputer yang bersangkutan menjadi rentan terhadap serangan cyber. Dan yang paling ‘menggemaskan’ adalah adware ini bisa menyuntikkan iklan-iklan yang tidak diinginkan (bahkan sering menampilkan gambar perempuan dengan pakaian minim) ketika pengguna membuka web apapun. Meskipun Lenovo telah berjanji untuk menghentikan penggunaan Superfish, namun ternyata bahaya masih mengintai para pengguna internet. Google sebagai peramban paling populer saat ini berpotensi menyebarkan Ad Injection melalui ekstensyen nya. Berdasar riset dari Google, 4% laman google telah di-inject oleh superfish dengan iklan-iklan yang gak jelas. Dan 5....

Bincang Ringan, Misi Kristen dan Dakwah Islam (I)

Dalam sebuah diskusi dengan santri saya mengajukan pertanyaan, "Bolehkah orang Kristen menyiarkan agamanya ke orang Islam ?" Serentak mereka menjawab "Tidak boleh". Kemudian saya mengajukan pertanyaan susulan, "Rekan-rekan santri senang tidak, kalau ada orang yang masuk Islam karena didakwahi oleh Koh Hany," dan secara serempak juga mereka menjawab "Tentu senang ustadz." Kontan saya timpali, lha kok nggak adil, orang Kristen nggak boleh menyiarkan agama ke umat Islam, sementara umat Islam boleh mendakwahi orang Kristen. Saya jadi ingat kutipan dari Syaikh Ali Mahfuzh, guru besar Ilmu Da'wah wal Irsyad, Anggota Majelis Ulama dan Pembina Ilmu Dakwah pada Universitas Al Azhar dalam bukunya Widji Saksono, Mengislamkan Jawa, terbitan Mizan tahun 1995. "Barangsiapa memperhatikan dengan seksama, tahulah ia bahwa sesungguhnya dakwah kepada Allah itu adalah sendi kehidupan suatu agama, pangkal syi'ar suatu kepercayaan. Syahdan pad...