NỘI DUNG
Nếu một ngày Zimbra đột nhiên không thể khởi động dịch vụ LDAP và khi chạy zmcontrol start xuất hiện lỗi:

thì rất có thể nguyên nhân không nằm ở SSL Certificate như nhiều người vẫn nghĩ.
Trong bài viết này mình sẽ chia sẻ nguyên nhân và cách xử lý mà mình đã gặp.
Triệu chứng lỗi
Khi khởi động Zimbra:
zmcontrol startLDAP không thể khởi động và báo:
Failed to start slapd.
main: TLS init def ctx failed: -1Ban đầu mình cũng nghĩ đây là lỗi chứng chỉ SSL nên đã thử:
- Deploy lại Certificate
- Tạo lại CA
- Tạo lại Self-signed Certificate
Nhưng hoàn toàn không giải quyết được vấn đề.
Nguyên nhân
Sau khi kiểm tra sâu hơn, nguyên nhân thực sự là file /opt/zimbra/conf/dhparam.pem đã bị mất. Nếu chạy slapd ở chế độ debug hoặc kiểm tra log sẽ thấy thêm dòng:
TLS: could not use DH parameters file `/opt/zimbra/conf/dhparam.pem`Do Zimbra không tìm thấy file DH Parameters, LDAP sẽ không thể khởi tạo TLS và dẫn đến lỗi main: TLS init def ctx failed: -1
Cách kiểm tra
Kiểm tra file có còn tồn tại hay không:
ls -l /opt/zimbra/conf/dhparam.pemNếu nhận được: No such file or directory hì đây chính là nguyên nhân.
Cách khắc phục
Đăng nhập tài khoản Zimbra:
su - zimbraDi chuyển vào thư mục cấu hình:
cd /opt/zimbra/conf/Tạo lại file dhparam.pem:
openssl dhparam -out dhparam.pem 2048Quá trình này có thể mất vài phút tùy cấu hình máy chủ.
Sau đó khởi động lại Zimbra
zmcontrol restartNếu mọi thứ bình thường, LDAP sẽ khởi động thành công.

Vì sao file dhparam.pem bị mất?
Hiện tại mình vẫn chưa xác định được nguyên nhân chính xác.
Trên diễn đàn Zimbra cũng đã có người gặp đúng hiện tượng này. File dhparam.pem tự biến mất khiến LDAP không thể khởi động. Một số ý kiến nghi ngờ việc cập nhật hệ điều hành (đặc biệt là các gói cập nhật tự động) có thể là nguyên nhân, tuy nhiên chưa có xác nhận chính thức từ Zimbra.
Nếu bạn có hệ thống backup, chỉ cần khôi phục lại file dhparam.pem cũng sẽ giải quyết được sự cố.
Trong trường hợp không có backup, chỉ cần tạo lại bằng lệnh sau là được.
openssl dhparam -out /opt/zimbra/conf/dhparam.pem 2048Mình cũng tìm thấy một chủ đề trên diễn đàn Zimbra với trường hợp giống hệt và đã xác nhận nguyên nhân là do file dhparam.pem bị mất:
Với kinh nghiệm thực chiến từ việc tiếp xúc hàng ngày với vô vàn vấn đề về Website, Hosting, VPS, Server tại Phòng Kỹ thuật AZDIGI, mình luôn ấp ủ niềm đam mê chia sẻ kiến thức.
Mình xây dựng các blog không chỉ để tự trau dồi kỹ năng mà còn để cung cấp những tài liệu, hướng dẫn hữu ích nhất đến cộng đồng. Rất mong nhận được sự quan tâm của các bạn!
Để lại thông tin, mình sẽ phản hồi ngay.
