Skip to content
VDS · Situs web dan server web

Sertifikat Let's Encrypt gratis

Cara menerbitkan dan memperbarui sertifikat HTTPS secara otomatis di VPS dengan certbot, termasuk kasus ketika port 80 sudah digunakan.

Diperbarui 23 Agustus 2026

Anda memerlukan sertifikat agar browser tidak menampilkan “Not secure” dan formulir serta pembayaran dapat berfungsi sama sekali. Let's Encrypt menerbitkannya secara gratis selama 90 hari dengan perpanjangan otomatis.

Persiapan

Periksa tiga hal, atau penerbitan akan gagal:

dig +short example.ru        # should return your machine's address
ss -tulpn | grep -E ':80|:443'
  • record A domain mengarah ke alamat pada tab “Overview” di panel pada /hosting/vds/m/<id>;
  • port 80 dapat dijangkau dari luar — Let's Encrypt menggunakannya untuk memverifikasi kepemilikan domain;
  • web server berjalan: Nginx atau Apache.

Jika Anda menggunakan Caddy, Anda tidak perlu melakukan apa pun — Caddy menerbitkan sertifikat sendiri.

Penerbitan

apt install -y certbot python3-certbot-nginx      # Debian, Ubuntu
dnf install -y certbot python3-certbot-nginx      # AlmaLinux, CentOS Stream

certbot --nginx -d example.ru -d www.example.ru

Untuk Apache, jalurnya sama dengan python3-certbot-apache dan flag --apache. Certbot menambahkan blok sertifikat dan pengalihan HTTP ke HTTPS ke konfigurasi itu sendiri.

Periksa hasilnya:

certbot certificates
curl -I https://example.ru

Perpanjangan otomatis

Paket ini memasang system timer, yang juga menangani perpanjangan. Pastikan timer aktif dan jalankan uji perpanjangan:

systemctl list-timers | grep certbot
certbot renew --dry-run

Dry run wajib dilakukan. Ini menangkap situasi ketika perpanjangan akan gagal dua bulan dari sekarang — misalnya, Anda mengganti nama konfigurasi situs dan certbot tidak lagi tahu di mana harus meletakkan file verifikasi.

Ketika port 80 terpakai

Jika ada aplikasi yang berjalan di port 80 dan Anda tidak bisa menempatkan web server di sana, gunakan mode terpisah:

certbot certonly --standalone --preferred-challenges http -d example.ru

Certbot akan menjalankan server sementaranya sendiri selama pemeriksaan berlangsung. Untuk itu, Anda harus menghentikan aplikasi: --pre-hook dan --post-hook dapat melakukannya secara otomatis.

Setelah penerbitan, sertifikat berada di /etc/letsencrypt/live/example.ru/: fullchain.pem dan privkey.pem.

Kesalahan umum

GejalaPenyebab
Timeout during connectPort 80 diblokir oleh firewall, atau domain mengarah ke mesin lain
too many certificates already issuedAnda telah mencapai batas mingguan untuk domain tersebut — tunggu atau debug dengan --staging
Situs menyajikan sertifikat lama setelah penerbitanAnda tidak memuat ulang web server: systemctl reload nginx
Sertifikat telah kedaluwarsaTimer dinonaktifkan — periksa systemctl enable --now certbot.timer

Direktori /etc/letsencrypt adalah bagian dari data Anda. Tidak ada pencadangan otomatis untuk mesin ini, jadi sertakan direktori tersebut dalam pencadangan Anda bersama konfigurasi web server.