Pasang SSL Let's Encrypt di Virtualmin untuk website dan panel admin. Sertifikat gratis, valid, dan diperbarui otomatis.
Selamat datang, Kawan Belajar. Setelah berhasil menginstall Virtualmin di server, langkah selanjutnya yang tidak boleh dilewatkan adalah memasang SSL. Tanpa SSL, browser akan menampilkan peringatan "Not Secure" di setiap halaman website yang kamu kelola, dan ini cukup untuk membuat pengunjung langsung kabur sebelum sempat membaca konten.
Kabar baiknya, Virtualmin sudah terintegrasi langsung dengan Let's Encrypt: layanan sertifikat SSL gratis dan terpercaya yang digunakan oleh jutaan website di seluruh dunia. Tidak perlu beli sertifikat, tidak perlu konfigurasi manual yang rumit, dan pembaruannya bisa berjalan otomatis.
Di panduan ini ada dua proses yang berbeda dan bisa kamu pilih sesuai kebutuhan:
Keduanya independen. Kamu bisa melakukan salah satu atau keduanya.
Sebelum memulai, pastikan kondisi berikut sudah terpenuhi:
| Kebutuhan | Detail |
|---|---|
| Virtualmin | Sudah terinstall dan berjalan normal |
| Domain | Sudah diarahkan ke IP server (rekaman A sudah benar) |
| DNS propagasi | Rekaman DNS sudah aktif dan bisa diakses dari internet |
| Port 80 | Terbuka di firewall (dibutuhkan untuk proses verifikasi Let's Encrypt) |
| Port 443 | Terbuka di firewall (untuk HTTPS setelah sertifikat terpasang) |
Ini adalah cara yang paling sering digunakan. Jika kamu sudah membuat virtual server di Virtualmin untuk domain tertentu dan ingin memasang SSL pada website tersebut, ikuti langkah-langkah berikut.
Login ke panel Virtualmin melalui https://IP-SERVER:10000, lalu di menu sebelah kiri cari dan klik nama domain yang ingin dipasangi SSL.
Setelah memilih domain, menu di panel kiri akan menampilkan opsi-opsi khusus untuk virtual server tersebut.
Dari dalam virtual server yang sudah dipilih, klik Manage Virtual Server di menu kiri, lalu pilih submenu Setup SSL Certificate.
Kamu akan melihat halaman pengaturan sertifikat SSL dengan beberapa tab di bagian atas.
Klik tab SSL Providers di bagian atas halaman SSL Certificate.
Di halaman ini, beberapa field sudah terisi otomatis berdasarkan konfigurasi virtual server:
| Field | Keterangan |
|---|---|
| Request certificate for | Berisi domain atau subdomain yang mau diterbitkan SSL-nya |
| Automatically renew certificate | Biarkan default (Yes). Agar sertifikat Let's Encrypt ini diperbarui otomatis |
Setelah memastikan field sudah benar, klik tombol Request Certificate.
mail.namadomain.com atau panel.namadomain.com. Pastikan masing-masing subdomain juga sudah memiliki rekaman DNS yang mengarah ke IP server.
Jika proses berhasil, Virtualmin akan menampilkan pesan konfirmasi berisi detail sertifikat yang baru diterbitkan: nama domain, tanggal kedaluwarsa, dan nama penerbit (Let's Encrypt).
Untuk memastikan SSL sudah aktif, buka browser dan akses domain kamu dengan prefix https://:
https://namadomain.com
Kamu seharusnya melihat ikon gembok di address bar browser, bukan peringatan "Not Secure." Klik ikon gembok tersebut untuk melihat detail sertifikat dan memastikan penerbitnya adalah Let's Encrypt.
Secara default, panel admin Virtualmin di port 10000 menggunakan sertifikat self-signed yang menyebabkan peringatan "Connection is not private" setiap kali kamu login. Kamu bisa menggantinya dengan sertifikat Let's Encrypt yang valid agar akses ke panel lebih aman dan bersih dari peringatan.
server.namadomain.com) harus sudah memiliki rekaman DNS yang mengarah ke IP server dan bisa diakses dari internet. Hostname inilah yang akan dibuatkan sertifikatnya. Panduan konfigurasi rekaman DNS tersedia di artikel Manajemen DNS Record di Portal Client Area CloudKilat.
Di panel Virtualmin, klik menu Webmin di bagian atas navigasi kiri (bukan Virtualmin, tapi Webmin), lalu pilih Webmin Configuration.
Di halaman Webmin Configuration, cari dan klik ikon atau menu SSL Encryption.
Di halaman SSL Encryption, klik tab SSL Provider.
Isi field yang tersedia:
| Field | Isi |
|---|---|
| Hostnames for certificate | Hostname yang digunakan untuk mengakses panel, contoh: server.namadomain.com |
| Website root directory for validation | Biarkan default |
Klik Request Certificate dan tunggu proses selesai.
Setelah sertifikat berhasil diterbitkan, Webmin perlu di-restart agar sertifikat baru aktif digunakan:
sudo systemctl restart webmin
Lalu buka kembali panel di browser:
https://server.namadomain.com:10000
Kali ini browser tidak akan menampilkan peringatan lagi. Ikon gembok muncul di address bar dan sertifikatnya diterbitkan oleh Let's Encrypt.
server.namadomain.com) sudah memiliki virtual server di Virtualmin dan sertifikat Let's Encrypt sudah terpasang di Cara 1, kamu bisa langsung menyalinnya ke panel tanpa perlu request ulang. Di halaman SSL Encryption → Current Certificate, klik Copy to Webmin untuk menggunakan sertifikat yang sama.
Ini adalah error paling umum dan hampir selalu disebabkan oleh salah satu dari dua hal berikut.
Pertama, rekaman DNS domain belum mengarah ke IP server yang benar atau belum selesai propagasi. Cek dengan perintah berikut (ganti namadomain.com dengan domain kamu):
dig namadomain.com A +short
Output harus menampilkan IP server kamu. Jika hasilnya IP lain atau kosong, perbaiki rekaman DNS terlebih dahulu sebelum mencoba lagi.
Kedua, port 80 terblokir di firewall. Cek dengan perintah ini:
sudo ss -tlnp | grep :80
Jika port 80 tidak muncul dalam output, aktifkan terlebih dahulu di UFW:
sudo ufw allow 80/tcp
sudo ufw reload
Let's Encrypt membatasi penerbitan sertifikat sebanyak 5 sertifikat per domain per minggu. Jika kamu sudah beberapa kali mencoba request karena gagal, kamu mungkin sudah mencapai batas ini. Solusinya hanya satu: tunggu hingga periode batas reset (biasanya dalam hitungan hari) sebelum mencoba lagi.
Setelah SSL terpasang, redirect HTTP ke HTTPS tidak aktif secara otomatis. Aktifkan melalui:
Virtualmin → [pilih virtual server] → Server Configuration → Website Options → Redirect all requests to SSL site?
Pilih Yes dan simpan perubahan.
Jika sertifikat tiba-tiba kedaluwarsa padahal perpanjangan otomatis sudah aktif, kemungkinan penyebabnya adalah konfigurasi DNS atau firewall yang berubah setelah sertifikat pertama kali diterbitkan. Cek log perpanjangan di:
cat /var/log/letsencrypt/letsencrypt.log
Perbaiki masalah yang ditemukan di log, lalu jalankan perpanjangan manual:
sudo virtualmin generate-letsencrypt-cert --domain namadomain.com --renew
Sampai di sini, website dan panel admin Virtualmin kamu sudah terlindungi dengan sertifikat SSL dari Let's Encrypt. Pengunjung tidak akan lagi disambut peringatan "Not Secure", dan koneksi ke server sudah terenkripsi sepenuhnya.
Yang perlu diingat: pastikan DNS selalu mengarah ke IP server yang benar dan port 80 selalu terbuka, karena keduanya dibutuhkan setiap kali sertifikat diperbarui secara otomatis. Jika salah satu berubah, perpanjangan otomatis bisa gagal dan sertifikat akan kedaluwarsa.
Selamat, Kawan Belajar! Website kamu kini sudah HTTPS dan siap diakses dengan aman. Jika ada kendala selama proses pemasangan, tim CloudKilat siap membantu melalui fitur live chat atau tiket support.
Jangan ragu untuk menghubungi tim support kami jika Anda memiliki pertanyaan atau masalah terkait layanan CloudKilat.