
LetsEncrypt merupakan salah satu penyedia sertifikat SSL gratis yang banyak sekali digunakan.
Pemanfaatan sertifikat SSL dari LetsEncrypt pada Zimbra bisa dilakukan tetapi caranya tidak out-of-the-box. Sehingga pada artikel kali ini saya akan menjelaskan bagaimana cara menggunakan LetsEncrypt sebagai penyedia sertifikat SSL untuk instance zimbra Anda.
Saya menulis artikel ini dengan asumsi bahwa Anda sudah bisa dan terbiasa menggunakan certbot untuk merequest sertifikat SSL.
Garis besar
Secara garis besar, cara untuk menggunakan LE (LetsEncrypt) pada Zimbra adalah sebagai berikut:
- Menghentikan zimbra-proxy (
zmproxyctl) - Merequest SSL menggunakan
certbotdengan flag--nginx(dan tentunya dengan flag-flag lain yang digunakan untuk merequest sertifikat SSL). - Menyalin file-file SSL yang didapat, ke direktori yang bisa diakses oleh user
zimbra. - Mendeploy sertifikat SSL sebagai user
zimbradenganzmcertmgr deploycrt - Menyetop semua instance
nginxyang bukan dari zimbra. - Merestart service-service zimbra dengan
zmcontrol restart
Kebutuhan sistem
Paket-paket yang dibutuhkan pada sistem:
- Tentunya, aplikasi
certbort - Plugin nginx untuk certbot:
python3-certbot-nginx
Langkah-Langkah
- Stop terlebih dahulu, service proxy milik zimbra, yang itu dia menggunakan port 80. Jika tidak distop, maka
certbottidak akan bisa menjalankan webserver nginx sebagai media validasi kepemilikan domain. Stop sebagai userzimbramenggunakan perintah:zmproxyctl stop - Jalankan
certbotbeserta flag-flag yang diperlukan. Misalnya berikut ini:
| |
- Jika berhasil, buatlah direktori baru pada /opt/zimbra (atau ditempat yang lain yang bisa diakses oleh user
zimbra) misalnya/opt/zimbra/ssl/mycerts - Salin semua file-file SSL yang dibutuhkan dari folder
/etc/letsencrypt/live/mail.mydomain.tldke folder yang barusaja dibuat sebelumnya. - Jika diperlukan, backup private key di folder
/opt/zimbra/ssl/commercial/commercial.keypada suatu folder lain. - Timpa file
commercial.keyyang asli tersebut tersebut dengan private key dari LetsEncrypt di/etc/letsencrypt/live/mail.mydomain.tld/privkey.pem. Bisa menggunakan command berikut:
| |
- Setelah itu, jalankan perintah
zmcertmgrsebagai userzimbraberikut:
| |
- Begitu selesai, restart zimbra services:
| |
- Selesai.
Akhir kata
Langkah-langkah diatas bisa Anda buatkan scriptnya agar bisa dijalankan secara praktis via cronjob.
Atau, Anda bisa menggunakan script buatan saya yang bernama zimbra-autossl.sh di sini: https://github.com/annahri/zimbra-autossl
Penjelasan mengenai script tersebut sudah ada di repositori terkait. Pada intinya proses yang ada pada script tersebut, sesuai dengan garis besar yang sudah dijelaskan diatas.
Semoga bermanfaat, _barakallahufiikum