Dalam beberapa kondisi tertentu (corner cases), Advanced Modules di Carbonio bisa gagal melakukan startup. Masalah ini biasanya terjadi ketika Mailstore & Provisioning Node tidak dapat terhubung ke Database PostgreSQL. Akibatnya, modul tidak bisa diinisialisasi dan layanan Carbonio tidak berjalan secara normal.
Masalah ini sering kali ditandai dengan error koneksi database di log mailbox.
Gejala yang Muncul
Ketika Advanced Modules gagal start, kalian akan menemukan error serupa di file log berikut:
/opt/zextras/log/mailbox.log
Contoh error yang sering muncul:
Error getting connection from data source org.postgresql.ds.PGSimpleDataSource
org.postgresql.util.PSQLException: Connection to 127.78.0.25:20000 refused
Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Caused by: java.net.ConnectException: Connection refused
Dan diikuti error fatal seperti:
FATAL [main] [] extensions -
Unable to initialize zextras: Error getting connection from data source
Error ini menunjukkan bahwa Carbonio tidak bisa menjangkau PostgreSQL saat proses inisialisasi modul.
Penyebab Utama
Masalah ini umumnya disebabkan oleh beberapa hal berikut:
- Service PostgreSQL tidak berjalan
- Database server belum siap saat mailbox service start
- Masalah konektivitas jaringan antar node
- Firewall memblokir port PostgreSQL
- PostgreSQL tidak listening di IP atau port yang sesuai
Karena Advanced Modules membutuhkan koneksi database saat startup, kegagalan koneksi akan langsung menyebabkan proses inisialisasi gagal.
Langkah-Langkah Penyelesaian
1. Pastikan PostgreSQL Berjalan
Di node database, pastikan service PostgreSQL aktif:
systemctl status postgresql
Jika belum berjalan, start service:
systemctl start postgresql
2. Cek Koneksi dari Mailstore Node
Dari Mailstore & Provisioning Node, pastikan database bisa dijangkau:
telnet 127.78.0.25 20000
Atau gunakan:
nc -zv 127.78.0.25 20000
Jika koneksi gagal, kemungkinan ada masalah jaringan atau firewall.
3. Periksa Firewall dan Port
Pastikan port PostgreSQL terbuka dan tidak diblokir firewall, baik di sisi server database maupun Mailstore Node.
Cek listening port di server database:
ss -tulnp | grep 20000
4. Pastikan Konfigurasi PostgreSQL Benar
Periksa konfigurasi:
listen_addressesportpg_hba.conf
Pastikan PostgreSQL menerima koneksi TCP/IP dari node Carbonio lainnya.
Restart Mailbox Service Setelah Database Normal
Setelah memastikan koneksi database sudah normal, restart mailbox service sesuai OS yang digunakan.
Ubuntu 22.04 & RHEL 8
Jalankan sebagai user zextras:
zmmailboxdctl restart
Ubuntu 24.04 & RHEL 9 (systemd-based)
Jalankan sebagai user root:
systemctl restart carbonio-appserver.target
Verifikasi Akhir
Setelah restart:
- Pastikan Advanced Modules sudah aktif
- Cek kembali
mailbox.logapakah error masih muncul - Pastikan layanan Carbonio berjalan normal
- Akses Webmail dan Admin Console untuk memastikan modul termuat dengan benar
Kesimpulan
Advanced Modules Carbonio yang gagal start biasanya disebabkan oleh PostgreSQL yang tidak dapat dijangkau saat proses inisialisasi. Dengan memastikan database berjalan, konektivitas jaringan normal, serta port dan firewall tidak bermasalah, isu ini dapat diselesaikan dengan cepat.
Langkah terakhir yang penting adalah restart mailbox service setelah database siap, agar modul dapat di-load ulang dengan benar.