Migrasi Zimbra Server dan Transfer Zimbra Account
Migrasi Zimbra Server dan Transfer Zimbra Account, Proyek Zimbra tidak memiliki migrasi lintas atau dokumentasi transfer akun yang benar. Yang mereka tahu adalah melakukan copy folder / opt / zimbra ke server baru Anda. Tapi jika ada file yang terinfeksi dengan rootkit atau skrip berbahaya lainnya, server baru Anda juga akan terganggu. Jadi jangan pernah sync atau copy seluruh direktori instalasi zimbra anda. Zimbra juga memberitahu Anda untuk mengupgrade server produksi Anda ke versi terbaru sebelum migrasi. Tapi upgrade yang tidak semestinya bisa mengakibatkan seluruh data hilang. Dengan prosedur ini bisa Anda lakukan:
Migrasi zimbra dari satu Sistem Operasi ke yang lain.
Migrasi akun zimbra antara perangkat keras dan konfigurasi sistem operasi.
Tidak ada gangguan pada server produksi seperti upgrade software atau service disable.
Migrasi zimbra dari versi lama ke server versi baru
Zimbra melakukan migrasi silang tanpa menyalin seluruh direktori.
2. Kebutuhan
Anda memerlukan server lama dengan akun zmibra dan server baru yang segar dengan Os yang Anda inginkan. Jangan membuat atau membuat konfigurasi atau pengaturan khusus di server baru Anda. Pastikan untuk menyetel nama host server baru Anda sama dengan yang lama.
Server lama
- Perlu login ssh root
- Perlu login admin zimbra
- Cukup ruang HDD untuk menyimpan backup
Server baru
- Harus dipasang zimbra stabil terbaru
- Perlu login root ssh
- Perlu login admin zimbra
- Cukup ruang HDD untuk menyimpan backup
3. Pra setup
Anda perlu mensetup kunci ssh dari akun root server baru ke akun root server lama
Kurangi TTL data MX domain Anda menjadi 500 detik. Sehingga Anda dapat dengan mudah mengganti IP domain setelah migrasi. Harap diingat untuk menjadwalkan tugas migrasi pada jam non peek.
Buat sebuah direktori di server baru dan lama dimana kita menyimpan semua file dan data yang diperlukan untuk melakukan migrasi
[root@zimbra ~]# mkdir /backups/zmigrate [root@zimbra ~]# chown zimbra.zimbra /backups/zmigrate [root@zimbra ~]# su - zimbra
Semua operasi di server Zimbra Anda harus dilakukan sebagai pengguna Zimbra itu sendiri, jika tidak, Anda akan mendapatkan izin dan masalah kepemilikan di server zimbra Anda.
4. Backup semua data dari server lama
4.1 Temukan semua domain
Anda perlu menemukan semua domain dari server lama Anda. Kami akan menyimpan daftar domain dalam sebuah file bernama domains.txt. Anda perlu mengembalikan semua daftar domain sebagai berikut,
zimbra@zimbra:~$ cd /backups/zmigrate zimbra@zimbra:/backups/zmigrate$ zmprov gad > domains.txt zimbra@zimbra:/backups/zmigrate$ cat domains.txt fun.com myserver.com justfortest.com checkit.com dieanotherday.com gnutest.com foo.com zimbra.foo.com zimbra@zimbra:/backups/zmigrate$
Sekarang hapus semua domain dan subdomain yang terkait dengan nama host utama foo.com server Anda, dari daftar ini (domains.txt) karena sudah dibuat di server baru Anda. Jadi tidak perlu membuat domain baru dengan nama yang sama.
4.2 Temukan semua akun admin
Sebagian besar server ini hanya memiliki satu admin. Tapi beberapa server memiliki beberapa admin. Jadi akan bagus untuk menemukan semua akun admin. Kami akan menyimpan daftar admin di admins.txt
zimbra@zimbra:/backups/zmigrate$ zmprov gaaa > admins.txt zimbra@zimbra:/backups/zmigrate$ cat admins.txt admin@foo.com zimbra@zimbra:/backups/zmigrate
4.3 Temukan semua akun email
Langkah selanjutnya adalah menemukan semua akun email yang dihosting di server lama Anda. Dapatkan daftar akun email Anda dan simpan di file emails.txt. Jadi dari file ini kita bisa melihat berapa banyak akun yang perlu dimigrasikan.
zimbra@zimbra:/backups/zmigrate$ zmprov -l gaa > emails.txt zimbra@zimbra:/backups/zmigrate$ cat emails.txt gm@fun.com forest@fun.com galsync@fun.com fax@myserver.com paul@myserver.com angela@myserver.com brooke@myserver.com hnmobile1@myserver.com maria@justfortest.com samantha@justfortest.com backupmail@justfortest.com admin@checkit.com sandra@checkit.com zimbra@zimbra:/backups/zmigrate$
Harap hapus semua akun email dari file /backups/zmigrate/emails.txt dengan kata-kata awal seperti spam, virus, ham, galsync. Tidak perlu mengembalikan akun ini. Bahkan jika Anda masih perlu mengembalikannya, Anda bisa melakukannya. Saya tidak suka email spam dan virus.
4.4 Dapatkan semua daftar distribusi
Anda perlu mendapatkan semua daftar distribusi dan menyimpannya dalam file bernama distributinlist.txt.
zimbra@zimbra:~$ zmprov gadl > /backups/zmigrate/distributinlist.txt zimbra@zimbra:~$ cat /backups/zmigrate/distributinlist.txt budgetrtodomainusers@fun.com healthnowdomainusers@myserver.com checkit.comdomainusers@checkit.com northpointessdomainusers@dieanotherday.com parkatnorthhillsdomainusers@gnutest.com zimbra@zimbra:~$
4.5 Dapatkan semua anggota dalam daftar distribusi
Pada langkah ini kita akan mengumpulkan semua anggota di masing-masing distribusi ini. Kami akan membuat folder bernama distributinlist_members dan membuat file di bawah folder ini bernama distributinlist.txt, lalu simpan semua anggota distribusinya.
zimbra@zimbra:~$ mkdir /backups/zmigrate/distributinlist_members zimbra@zimbra:~$ for i in `cat /backups/zmigrate/distributinlist.txt`; do zmprov gdlm $i > /backups/zmigrate/distributinlist_members/$i.txt ;echo "$i"; done budgetrtodomainusers@fun.com healthnowdomainusers@myserver.com checkit.comdomainusers@checkit.com
4.6 Temukan semua password akun email
Sekarang perlu mencari password terenkripsi dari semua akun email lama Anda dan simpan di bawah folder bernama userpass / sebagai berikut:
zimbra@zimbra:/backups/zmigrate$ mkdir userpass zimbra@zimbra:/backups/zmigrate$ for i in `cat emails.txt`; do zmprov -l ga $i userPassword | grep userPassword: | awk '{ print $2}' > userpass/$i.shadow; done
4.7 Mencadangkan semua nama pengguna, Menampilkan nama dan Nama yang Diberikan
Zimbra akan menerima nama Nama dan Disaplay di akun email selama pembuatan akun. Jadi kita perlu mengembalikan data itu juga. Kami akan membuat direktori yang disebut userdata / yang berisi rincian masing-masing akun email tersebut
zimbra@zimbra:/backups/zmigrate$ mkdir userdata zimbra@zimbra:/backups/zmigrate$ for i in `cat emails.txt`; do zmprov ga $i | grep -i Name: > userdata/$i.txt ; done
4.8 Sekarang backup semua akun email
Ini akan memakan waktu lama untuk mengambil cadangan semua akun email. Jadi Anda bisa menjalankan perintah ini di balik “layar”. File tgz akan dibuat dengan setiap nama email. Kami akan menggunakan file ini untuk mentransfer akun email.
zimbra@zimbra:/backups/zmigrate$ for email in `cat /backups/zmigrate/emails.txt`; do zmmailbox -z -m $email getRestURL '/?fmt=tgz' > $email.tgz ; echo $email ; done gm@fun.com forest@fun.com galsync@fun.com fax@myserver.com fax2@myserver.com paul@myserver.com
File tgz ini berisi
- Contacts
- Calendars
- Briefcase
- Tasks
- Searches
- Tags
- Folders
Semua subfolder disertakan, kecuali junk dan trash. Tidak ada cara untuk memasukkannya ke dalam tempat pembuangan sampah yang besar, namun bisa diekspor secara terpisah:
4.9 Sekarang backup alias
Beberapa kali server Anda mungkin memiliki alias email untuk akun tertentu. Jadi Anda perlu menyalin alias itu juga. Kami akan membuat sub folder bernama alias / untuk menyimpan backup Alias.
zimbra@zimbra:/backups/zmigrate$ mkdir -p alias/ zimbra@zimbra:/backups/zmigrate$ for i in `cat emails.txt`; do zmprov ga $i | grep zimbraMailAlias |awk '{print $2}' > alias/$i.txt ;echo $i ;done gm@fun.com forest@fun.com
Beberapa akun email Anda tidak memiliki alias. Jadi file yang dibuat di atas mungkin berupa file kosong. Hapus file kosong tersebut sebagai berikut, ‘\
zimbra@zimbra:/backups/zmigrate$ find alias/ -type f -empty | xargs -n1 rm -v
4.10 Rsync folder ke server baru
Sekarang kita memiliki semua data yang dibutuhkan untuk melakukan proses migrasi. Sebagai musim panas:
- /backup/zmigrate – Minta semua backup tersimpan
- /backups/zmigrate/domains.txt – Berisi nama domain
- /backups/zmigrate/emails.txt – Berisi daftar akun email
- /backups/zmigrate/distributinlist.txt – Berisi daftar distribusi
- /backup/zmigrate/distributinlist_members – Berisi anggota di setiap distribusimu
- /backup/zmigrate/userpass – Berisi password terenkripsi dari akun email Anda
- /backup/zmigrate/userdata – containts informasi pengguna akun email
- /backup/zmigrate/alias – Berisi semua alias akun email Anda
- Juga folder induk / backup / zmigrate berisi banyak file zip yang merupakan data di dalam email.
Sekarang rsync file sebagai berikut,
root@newserver # rsync -avp -e 'ssh -p 22' root@old-server-ip:/backups/zmigrate /backups/
5. Restore di server baru
Jadi setelah menyelesaikan proses rsync, kita perlu mengembalikannya di server baru Anda sebagai berikut:
Semua operasi ini harus dilakukan sebagai pengguna sudo zimbra itu sendiri. Jangan gunakan akun root untuk menyimpan backup
[root@zimbra ~]# su - zimbra [zimbra@zimbra]$
5.1 Kembalikan semua domain
Sekarang buat semua domain yang kita miliki dari file /backups/zmigrate/domains.txt
[zimbra@zimbra zmigrate]$ for i in `cat /backups/zmigrate/domains.txt `; do zmprov cd $i zimbraAuthMech zimbra ;echo $i ;done 2c86f244-de9d-4b7c-8e22-2246a8256219 myserver.com dbf75058-d85e-4d60-8b69-1f148a456eb6 justfortest.com ee90ffa2-505d-449f-82fd-129acb21cb5e checkit.com 8b6bf287-f61e-4930-ada0-96b817292556 dieanotherday.com 17d3c73c-14f7-43aa-9fd2-c9be9e29c9e5
Anda juga dapat memverifikasi domain yang dibuat dari panel admin zimbra juga
5.2 Buat akun email dan atur kata sandi lama
Kita perlu membuat akun email untuk menyimpan kiriman. Kita juga perlu mengatur password lama juga. Kami sudah mengumpulkan info akun dan password.
Untuk membuat akun email dan mengembalikan kata sandi. Silahkan gunakan script berikut untuk membuatnya
#!/bin/bash #Scrit for creating the email accounts createacct.sh USERPASS="/backups/zmigrate/userpass" USERDDATA="/backups/zmigrate/userdata" USERS="/backups/zmigrate/emails.txt" for i in `cat $USERS` do givenName=$(grep givenName: $USERDDATA/$i.txt | cut -d ":" -f2) displayName=$(grep displayName: $USERDDATA/$i.txt | cut -d ":" -f2) shadowpass=$(cat $USERPASS/$i.shadow) tmpPass="CHANGEme" zmprov ca $i CHANGEme cn "$givenName" displayName "$displayName" givenName "$givenName" zmprov ma $i userPassword "$shadowpass" done
5.3 Mengembalikan akun email
Sekarang kita akan mengembalikan email dari file Zip. Proses ini mungkin memakan waktu beberapa jam. Jadi akan bagus untuk menjalankan perintah “screen”.
[zimbra@zimbra zmigrate]$ for i in `cat /backups/zmigrate/emails.txt`; do zmmailbox -z -m $i postRestURL "/?fmt=tgz&resolve=skip" /backups/zmigrate/$i.tgz ; echo "$i -- finished "; done gm@fun.com -- finished forest@fun.com -- finished
5.4 Sekarang buat daftar distribusi
Sudah saatnya untuk membuat ulang semua daftar distribusi sebagai berikut.
[zimbra@zimbra zmigrate]$ for i in `cat distributinlist.txt`; do zmprov cdl $i ; echo "$i -- done " ; done 2a852fd8-6e66-426e-a76d-15192536042a budgetrtodomainusers@fun.com -- done a0f6ddb3-8525-4194-9397-6cf0a920dda6
5.5 Kembalikan daftar distribusi
Setelah membuat daftar distribusi, kita perlu menambahkan semua anggota ke dalam daftar distribusi. Kami memiliki daftar distribusi di folder distributinlist_members / dan daftarnya ada di file distributionlist.txt. Harap gunakan skrip kecil berikut untuk mengembalikan daftar distribusi.
[zimbra@zimbra zmigrate]$ cat restoredist.sh #!/bin/bash # add all memebers to each of these distribution lists for i in `cat distributinlist.txt` do for j in `grep -v '#' distributinlist_members/$i.txt |grep '@'` do zmprov adlm $i $j echo " $j member has been added to list $i" done done
5.6 Kembalikan akun Alias
Silahkan gunakan script berikut untuk mengembalikan alias. Ini akan menambahkan semua alias di akun email Anda.
#!/bin/bash for i in `cat /backups/zmigrate/emails.txt` do if [ -f "alias/$i.txt" ]; then for j in `grep '@' /backups/zmigrate/alias/$i.txt` do zmprov aaa $i $j echo "$i HAS ALIAS $j --- Restored" done fi done
6. Kesimpulan
Jadi sekarang kita memigrasikan semua akun email kita. Sudah saatnya DNS berubah. Anda perlu mematikan layanan zimbra lama dan mengubah DNS. Setelah itu kirim beberapa email percobaan dan pastikan semuanya berjalan baik. Langkah selanjutnya adalah mengamankan server zimbra anda. Anda perlu menginstal sertifikat ssl dan firewall di server zimbra baru Anda. Sekarang Anda memiliki server baru dengan paket dan file baru dengan akun email lama yang sama dan datanya.
sumber: https://syslint.com/blog/tutorial/zimbra-server-migration-and-zimbra-account-transfer-the-perfect-method/