Mungkin dari kalian masih ada yang bingung bagaimana caranya upgrade email server Carbonio kalau ada update patch terbaru. Nah, tulisan ini bisa jadi salah satu panduan yang bisa kalian ikuti.
Pertama-tama, kalian harus tahu dulu bagaimana Carbonio diinstall di server kalian. Ada dua kemungkinan:
- Manual – instalasi dilakukan satu per satu menggunakan perintah
apt install
langsung di setiap server. - Via Ansible – instalasi dan manajemen dilakukan otomatis dengan playbook Ansible.
Kalau server kalian diinstall menggunakan Ansible, proses upgrade/patching jauh lebih gampang. Kalian cukup jalankan playbook update yang sudah disediakan. Tapi kalau instalasinya dilakukan manual, maka langkahnya sedikit berbeda dan butuh perhatian lebih.
Langkah pertama adalah pastikan dulu modul apa saja yang terpasang di server. Ini penting, karena patch hanya akan diterapkan pada modul yang ada. Tidak semua deployment Carbonio punya modul lengkap, bisa jadi hanya beberapa saja yang dipakai.
Sebagai contoh, di sini saya ingin upgrade Carbonio dengan modul-modul berikut:
- Mesh and Directory
- Database
- Proxy
- MTA (Mail Transfer Agent) dengan AntiVirus/AntiSpam
- Mailstore Provisioning
Sebelum menjalankan upgrade, kalian perlu menyiapkan 3 data penting berikut:
- Consul password
- Postgres password
- LDAP password
Ketiga password ini harus disimpan dalam file terpisah, dengan format nama file yang sesuai dengan inventory. Contoh strukturnya:
root@control-node:~/upgrade-ce# ls
inventory-upgrade
inventory-upgrade_consulpassword
inventory-upgrade_ldap_password
inventory-upgrade_postgrespassword
Catatan: Nama file harus sama persis seperti contoh di atas. Kalau beda, Ansible akan error saat proses upgrade.
Setelah password siap, langkah selanjutnya adalah menyesuaikan inventory sesuai dengan modul yang kalian gunakan.
[postgresServers]
mail-ce.afatyo.id
[masterDirectoryServers]
mail-ce.afatyo.id
[replicaDirectoryServers]
[serviceDiscoverServers]
mail-ce.afatyo.id
[dbsConnectorServers]
[mtaServers]
mail-ce.afatyo.id
[proxyServers]
mail-ce.afatyo.id
[proxyServers:vars]
webmailHostname=mail-ce.afatyo.id
[applicationServers]
mail-ce.afatyo.id
Nah kurang lebih seperti ini, sisanya kosong karena saya ndak pakai. Jika sudah kalian bisa test dulu nih upgrade nya menggunakan dry run perintah nya seperti ini:
ansible-playbook zxbot.carbonio_install.carbonio_install -i inventory-upgrade -u root --check
Jika sudah oke semua dan tidak ada error kalian bisa langsung jalankan upgrade nya dengan seperti ini dan tunggu hingga proses selesai:
ansible-playbook zxbot.carbonio_install.carbonio_install -i inventory-upgrade -u root
Upgrade atau patching Carbonio via Ansible sebenarnya cukup sederhana, asalkan kalian menyiapkan inventory dengan benar dan tidak salah menempatkan file password. Kuncinya ada pada:
- Mengetahui modul yang terinstall
- Menyiapkan file password (Consul, Postgres, LDAP) dengan benar
- Menyusun inventory sesuai kebutuhan
- Selalu lakukan dry run sebelum upgrade
Dengan langkah ini, proses upgrade Carbonio bisa berjalan lebih mulus dan minim error