Workaround imapsync pada Node Carbonio MTA: Mengatasi Konflik OpenSSL dan Amavis

Menjalankan imapsync secara langsung di node Carbonio yang berperan sebagai MTA dapat menimbulkan konflik dependensi serius, khususnya pada library OpenSSL, yang berujung pada gagalnya layanan Amavis berjalan.

Permasalahan ini muncul karena imapsync bergantung pada modul OpenSSL berbasis Perl dari sistem operasi, sementara Carbonio menggunakan OpenSSL versi tersendiri yang dibundel dan dikelola secara internal.

Penting untuk dicatat bahwa masalah ini tidak dipengaruhi oleh arsitektur single-node maupun multi-node.
Selama imapsync diinstal pada node yang sama dengan MTA/Amavis, konflik ini akan tetap terjadi.

Oleh karena itu, pendekatan paling aman adalah menjalankan imapsync dari sistem terpisah, seperti VM atau container.

Dampak yang Terjadi

Setelah mengikuti panduan instalasi resmi imapsync di sistem Ubuntu, layanan Amavis tidak dapat dijalankan.
Log error yang muncul umumnya berkaitan dengan kegagalan memuat library OpenSSL, contohnya:

version 'OPENSSL_3.3.0' not found

Akibat konflik ini, beberapa modul penting seperti:

  • Net::SSLeay
  • IO::Socket::SSL
  • DKIM

tidak dapat dimuat, sehingga proses filtering email oleh Amavis gagal sepenuhnya dan MTA menjadi tidak stabil.

Penyebab Utama Konflik

Paket imapsync membutuhkan sejumlah modul Perl OpenSSL dari repository OS, di antaranya:

  • libcrypt-openssl-rsa-perl
  • libcrypt-openssl-bignum-perl
  • libcrypt-openssl-random-perl
  • perl-openssl-defaults

Instalasi paket-paket tersebut akan menarik OpenSSL versi bawaan OS (3.0.x), yang kemudian bertabrakan dengan OpenSSL Carbonio (3.3.x) yang berada di direktori:

/opt/zextras/common/lib

Begitu modul OS ini terpasang di node MTA, Amavis akan mencoba menggunakan library yang tidak kompatibel dan akhirnya gagal dijalankan.

Catatan Penting Terkait Versi OS

Solusi sementara yang dibahas di bawah hanya relevan untuk:

  • Ubuntu 22.04
  • RHEL 8

Pada Ubuntu 24.04 dan RHEL 9, layanan MTA dan Amavis dikelola penuh oleh systemd, sehingga metode ini tidak selalu bisa diterapkan dan belum direkomendasikan.

Untuk kebutuhan migrasi di OS tersebut, gunakan pendekatan yang direkomendasikan:
jalankan imapsync dari lingkungan eksternal.

Solusi Darurat (Tidak Direkomendasikan)

Dalam kondisi tertentu, Amavis dapat dijalankan sementara dengan memaksa penggunaan library Carbonio:

export LD_LIBRARY_PATH=/opt/zextras/common/lib:$LD_LIBRARY_PATH
zmamavisdctl start

Namun solusi ini memiliki banyak keterbatasan:

  • Tidak bertahan setelah reboot
  • Hanya bersifat sementara
  • Konflik paket tetap ada
  • imapsync tetap harus dihapus setelahnya

Metode ini bukan solusi jangka panjang.

Solusi yang Benar dan Didukung

❌ Hindari menginstal imapsync di node Carbonio MTA

✔ Jalankan imapsync dari:

  • VM terpisah
  • Container (Docker/Podman)
  • Server migrasi khusus

Dengan cara ini:

  • Tidak ada konflik OpenSSL
  • Layanan MTA & Amavis tetap stabil
  • Risiko downtime dapat dihindari

Jika imapsync Sudah Terpasang di Node MTA

Untuk memulihkan layanan Carbonio:

Hapus paket yang menyebabkan konflik

sudo apt remove \
 libcrypt-openssl-bignum-perl \
 libcrypt-openssl-random-perl \
 libcrypt-openssl-rsa-perl \
 perl-openssl-defaults

Restart seluruh layanan Carbonio

zmcontrol restart

Setelah itu, Amavis akan kembali berjalan normal.

Penutup

Menginstal imapsync langsung pada node Carbonio MTA adalah praktik yang berisiko karena konflik OpenSSL yang tidak kompatibel.
Walaupun tersedia solusi darurat, pendekatan yang aman, stabil, dan direkomendasikan adalah menjalankan imapsync dari sistem eksternal.

Dengan menjaga node MTA tetap bersih dari paket yang bertabrakan, stabilitas layanan email Carbonio dapat dipertahankan dengan optimal.

Leave a Reply

Your email address will not be published. Required fields are marked *