Lewati ke isi

Website & Domain

Cara Pasang SSL Let's Encrypt Gratis dengan Certbot

Pasang SSL Let's Encrypt gratis di VPS dengan Certbot untuk Nginx atau Apache, uji perpanjangan otomatis, dan bersiap untuk masa berlaku yang makin pendek.

Terbit 5 menit baca

Jawaban singkat

Certbot adalah klien resmi yang direkomendasikan EFF untuk meminta sertifikat Let's Encrypt. Pasang lewat snap, jalankan certbot --nginx atau --apache, lalu uji perpanjangan dengan certbot renew --dry-run. Perpanjangan berjalan otomatis lewat timer systemd.

Daftar isi
  1. Sebelum mulai, pastikan tiga hal ini
  2. Langkah 1: Pasang Certbot lewat snap
  3. Langkah 2: Minta dan pasang sertifikat
  4. Langkah 3: Cek hasilnya
  5. Langkah 4: Uji perpanjangan otomatis
  6. Langkah 5: Siapkan diri untuk masa berlaku yang lebih pendek
  7. Bagaimana dengan sertifikat wildcard?
  8. Pertanyaan yang sering diajukan

Website kamu masih tampil "Not Secure" di browser? Kalau website berjalan di VPS sendiri, cara tercepat memasang HTTPS gratis adalah Let's Encrypt dengan Certbot. Prosesnya sekitar lima menit, dan setelah itu sertifikat diperpanjang otomatis tanpa perlu diingat-ingat.

Certbot adalah klien ACME yang dikembangkan EFF. Ia meminta sertifikat ke Let's Encrypt, membuktikan bahwa kamu menguasai domain, lalu bisa langsung mengubah konfigurasi Nginx atau Apache agar memakai HTTPS. Panduan ini memakai Ubuntu atau Debian dengan Nginx, mengikuti petunjuk resmi di certbot.eff.org.

Sebelum mulai, pastikan tiga hal ini

  • Domain sudah mengarah ke IP server. Cek dengan dig +short tokoku.example. Hasilnya harus IP VPS-mu.
  • Port 80 dan 443 terbuka di firewall server dan firewall penyedia. Validasi bawaan Certbot (HTTP-01) memakai port 80.
  • Website sudah bisa dibuka lewat HTTP dengan server block yang memakai server_name domain tersebut. Kalau belum, siapkan dulu lewat panduan server block Nginx untuk banyak domain.

Langkah 1: Pasang Certbot lewat snap

Petunjuk resmi Certbot menyarankan paket snap karena selalu mendapat versi terbaru. Hapus dulu Certbot dari apt bila pernah terpasang, supaya tidak ada dua versi:

sudo apt remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot

Di Ubuntu, snapd biasanya sudah terpasang. Di Debian, pasang dulu dengan sudo apt install snapd. Kalau kamu tidak ingin memakai snap, paket certbot dan python3-certbot-nginx dari apt juga berfungsi, hanya saja versinya mengikuti rilis distro.

Langkah 2: Minta dan pasang sertifikat

Untuk Nginx:

sudo certbot --nginx -d tokoku.example -d www.tokoku.example

Untuk Apache, ganti --nginx dengan --apache. Pertama kali dijalankan, Certbot menanyakan alamat email (untuk pemberitahuan penting) dan meminta persetujuan syarat layanan. Setelah validasi berhasil, Certbot menambahkan baris ssl_certificate ke server block dan bisa menambahkan pengalihan dari HTTP ke HTTPS.

Lebih suka mengubah konfigurasi sendiri? Pakai sudo certbot certonly --nginx -d tokoku.example. Certbot hanya mengambil sertifikat dan menyimpannya di /etc/letsencrypt/live/tokoku.example/. Dua file yang kamu butuhkan adalah fullchain.pem dan privkey.pem.

Langkah 3: Cek hasilnya

Buka https://tokoku.example di browser dan pastikan ikon gembok tampil. Lalu lihat daftar sertifikat yang dikelola Certbot:

sudo certbot certificates

Perintah ini menampilkan domain yang tercakup, lokasi file, dan tanggal kedaluwarsa tiap sertifikat. Kalau browser masih memperingatkan konten tidak aman, biasanya ada gambar atau skrip yang masih dimuat lewat http://, bukan masalah sertifikatnya.

Langkah 4: Uji perpanjangan otomatis

Paket Certbot memasang timer systemd atau cron job yang memperpanjang sertifikat sebelum habis. Cek timernya dengan systemctl list-timers | grep certbot, lalu simulasikan perpanjangan:

sudo certbot renew --dry-run

Bila perintah ini lolos tanpa error, perpanjangan sungguhan juga akan berjalan. Lakukan uji ini setiap kali kamu mengubah konfigurasi web server atau firewall, karena perpanjangan yang gagal diam-diam adalah penyebab umum sertifikat kedaluwarsa.

Kalau perlu menjalankan perintah setelah perpanjangan, misalnya me-reload layanan lain yang memakai sertifikat yang sama, simpan skripnya di /etc/letsencrypt/renewal-hooks/deploy/. Skrip di folder itu hanya dijalankan ketika sertifikat benar-benar diperbarui, bukan setiap kali timer berjalan. Contohnya, server email Postfix atau Dovecot yang memakai sertifikat domain yang sama perlu di-reload agar membaca file baru.

Satu hal lagi: jangan menyalin file dari /etc/letsencrypt/live/ ke lokasi lain secara manual. Isinya berupa symlink yang diperbarui Certbot. Arahkan konfigurasi langsung ke path tersebut supaya setiap perpanjangan langsung terpakai.

Langkah 5: Siapkan diri untuk masa berlaku yang lebih pendek

Let's Encrypt sudah mengumumkan jadwal pemangkasan masa berlaku sertifikat. Per 6 November 2026, jadwal resminya:

TanggalPerubahan pada profil bawaan
Sampai 9 Februari 2027Sertifikat berlaku 90 hari
10 Februari 2027Sertifikat berlaku 64 hari
16 Februari 2028Sertifikat berlaku 45 hari

Profil opsional tlsserver dengan masa berlaku 45 hari sudah tersedia sejak Mei 2026 bagi yang ingin mencoba lebih awal. Dampaknya sederhana: semua yang masih mengandalkan perpanjangan manual atau jadwal tetap akan bermasalah. Let's Encrypt menyarankan perpanjangan sekitar dua pertiga masa berlaku, atau memakai klien yang mendukung ARI (ACME Renewal Information). Latar belakang perubahan ini dibahas di artikel masa berlaku SSL dipangkas jadi 47 hari.

Bagaimana dengan sertifikat wildcard?

Sertifikat wildcard seperti *.tokoku.example tidak bisa didapat lewat validasi HTTP. Let's Encrypt mewajibkan validasi DNS-01, yaitu membuat record TXT _acme-challenge di DNS domain. Certbot punya plugin DNS untuk beberapa penyedia DNS sehingga record dibuat otomatis. Tanpa plugin, kamu harus membuat record secara manual dan perpanjangan otomatis tidak bisa berjalan. Pertimbangkan dulu apakah kamu benar-benar butuh wildcard lewat artikel kapan butuh SSL wildcard.

Pertanyaan yang sering diajukan

Apakah sertifikat Let's Encrypt benar-benar gratis?

Ya. Let's Encrypt adalah otoritas sertifikat nirlaba yang menerbitkan sertifikat Domain Validation tanpa biaya. Yang tidak tersedia adalah validasi organisasi (OV/EV) dan garansi.

Kenapa Certbot gagal dengan pesan validasi atau timeout?

Penyebab tersering adalah DNS belum mengarah ke server, port 80 tertutup di firewall, atau server block untuk domain itu belum aktif. Periksa ketiganya, lalu coba lagi dengan --dry-run agar tidak terkena batas permintaan.

Apakah perlu menjalankan Certbot lagi setiap tiga bulan?

Tidak. Timer bawaan Certbot memperpanjang sertifikat otomatis. Yang perlu kamu lakukan hanya memastikan certbot renew --dry-run tetap lolos.

Bisakah Certbot dipakai di hosting cPanel?

Umumnya tidak, karena butuh akses root. Hosting cPanel biasanya sudah punya AutoSSL yang bekerja serupa.

Kapan sebaiknya memakai SSL berbayar?

Saat butuh validasi organisasi, garansi, atau dukungan dari penerbit. Pertimbangannya ada di artikel SSL gratis atau berbayar.

Checklist singkat setelah pemasangan:

  • Gembok tampil di semua varian domain (dengan dan tanpa www).
  • HTTP otomatis dialihkan ke HTTPS.
  • sudo certbot renew --dry-run lolos.
  • Timer certbot muncul di systemctl list-timers.
  • Ada pemantauan kedaluwarsa sendiri (misalnya layanan uptime monitor), karena Let's Encrypt sudah berhenti mengirim email pengingat kedaluwarsa sejak 2025.

Sumber & referensi

Baca juga