Belum lama ini Zimbra baru saja merilis versi patch terbaru v10.1.13, dalam update ini membawa banyak perbaikan untuk sisi keamanan. Meskipun ini kabar baik, nyatanya banyak user yang mendapati Zimbra mereka error setelah proses update selesai dilakukan.
Salah satu kendala yang banyak dialami pengguna adalah error ketika melakukan restart service amavis pada server MTA.
$ zmamavisdctl start
Starting amavisd-mc...amavisd-mc is already running.
Starting amavisd...Can't load '/opt/zimbra/common/lib/perl5/x86_64-linux-thread-multi/auto/Net/SSLeay/SSLeay.so' for module Net::SSLeay: /lib64/libcrypto.so.3: version `OPENSSL_3.3.0' not found (required by /o
pt/zimbra/common/lib/libssl.so.3) at /usr/lib64/perl5/DynaLoader.pm line 193.
at /opt/zimbra/common/lib/perl5/IO/Socket/SSL.pm line 19.
Compilation failed in require at /opt/zimbra/common/lib/perl5/IO/Socket/SSL.pm line 19.
BEGIN failed--compilation aborted at /opt/zimbra/common/lib/perl5/IO/Socket/SSL.pm line 19.
Compilation failed in require at /opt/zimbra/common/lib/perl5/Amavis/IO/RW.pm line 18.
BEGIN failed--compilation aborted at /opt/zimbra/common/lib/perl5/Amavis/IO/RW.pm line 18.
Compilation failed in require at /opt/zimbra/common/lib/perl5/Amavis/DKIM.pm line 34.
BEGIN failed--compilation aborted at /opt/zimbra/common/lib/perl5/Amavis/DKIM.pm line 34.
Compilation failed in require at /opt/zimbra/common/lib/perl5/Amavis.pm line 7190.
failed.
Error tersebut berdampak pada service MTA yang juga tidak bisa kita jalankan.
Dalam artikel kali ini, kami akan coba jelaskan beberapa hal yang bisa dilakukan untuk menanggulangi issue tersebut.
1. Config LD_LIBRARY_PATH
Cara ini merupakan cara yang paling aman untuk menanggulangi error di atas. Mengapa aman? Karena kita hanya perlu setting LD_LIBRARY_PATH environment variabel ke arah direktori dimana zimbra menyimpan semua library atau shared object yang berasal dari zimbra.
Silahkan kalian edit file “/opt/zimbra/.bashrc” lalu tambahkan baris berikut di atas baris “unset LD_LIBRARY_PATH“. Dan beri tanda pagar “#” (comment) di depan baris “unset LD_LIBRARY_PATH“.
export LD_LIBRARY_PATH=/opt/zimbra/common/lib
#unset LD_LIBRARY_PATH
Simpan perubahan lalu restart service mta.
zmmtactl restart
Cara ini memang mudah untuk dilakukan tetapi memiliki efek samping lain, yaitu proses switch user ke zimbra menjadi lebih lama. Selain itu variabel environment LD_LIBRARY_PATH juga seharusnya tidak terekspos untuk production. Oleh karena itu, by default zimbra unset variabel LD_LIBRARY_PATH.
2. Uninstall Package OpenSSL-Bignum Perl
Ternyata error terhadap service amavis bukan berasal dari package OpenSSL itu sendiri, melainkan dari salah satu library Perl yang bergantung pada versi OpenSSL bawaan Zimbra namun entah kenapa malah menggunakan versi bawaan OS. Jadi dengan menghapus package tersebut akan menghilangkan error pada amavis.
Jalankan perintah berikut untuk uninstall package tersebut:
Ubuntu
apt remove libcrypt-openssl-bignum-perl
Rocky Linux
yum remove perl-Crypt-OpenSSL-Bignum
Restart service mta.
zmmtactl restart
Sumber: https://forums.zimbra.org/viewtopic.php?p=317129#p317129
