system:linux:certs:certbot-dns-le-clf

This is an old revision of the document!


Certbot - Cara generate sertifikate ssl Let's Encrypt DNS-01 Challage with Cloudflare

Panduan ini menjelaskan cara mendapatkan sertifikat TLS tepercaya menggunakan DNS Challenge melalui Certbot. DNS Challenge bekerja dengan cara menambahkan record TXT pada penyedia DNS Anda. Metode ini cukup sederhana karena Anda hanya memerlukan API key dari penyedia DNS (misalnya Cloudflare) agar Certificate Authority (CA) seperti Let's Encrypt dapat menambahkan record TXT secara otomatis.

Berbeda dengan HTTP Challenge yang memerlukan IP publik dan port HTTP (80) terbuka, DNS Challenge tidak memiliki persyaratan tersebut.

Prasyarat

  • API key dari penyedia DNS (tergantung provider)
  • Server Linux (Ubuntu)

Langkah-langkah

sudo apt update
sudo apt install certbot python3-certbot-dns-cloudflare -y

Anda memerlukan API Token dari Cloudflare agar Certbot dapat memodifikasi record DNS.

Langkah-langkah:

1. Buka Cloudflare Dashboard → https://dash.cloudflare.com/
2. Klik My Profile (pojok kanan atas)
3. Masuk ke menu API Tokens → Create Token
4. Pilih template Edit zone DNS
5. Pilih domain Anda pada bagian Zone Resources
6. Klik Create Token lalu salin token yang dihasilkan

Buat file aman untuk menyimpan Cloudflare API token:

sudo mkdir -p /root/.secrets/
sudo nano /root/.secrets/cloudflare.ini

Isi file (ganti your-api-token dengan token Cloudflare Anda):

dns_cloudflare_api_token = your-api-token

Amankan file dengan permission berikut:

sudo chmod 600 /root/.secrets/cloudflare.ini

Domain tunggal:

sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.secrets/cloudflare.ini -d yourdomain.com

Wildcard certificate (semua subdomain):

sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.secrets/cloudflare.ini -d "*.yourdomain.com" -d "yourdomain.com"

Certbot akan membuat record DNS TXT secara otomatis untuk verifikasi domain. Jika berhasil, sertifikat akan tersimpan di:

/etc/letsencrypt/live/yourdomain.com/
  • Full Certificate Chain:

/etc/letsencrypt/live/yourdomain.com/fullchain.pem

  • Private Key:

/etc/letsencrypt/live/yourdomain.com/privkey.pem

  • CA Certificate:

/etc/letsencrypt/live/yourdomain.com/chain.pem

Sertifikat Let's Encrypt berlaku selama 90 hari.

Untuk memperpanjang otomatis:

certbot renew

Disarankan menjalankan perintah ini menggunakan cron job.

  • system/linux/certs/certbot-dns-le-clf.1770306558.txt.gz
  • Last modified: 2026/02/05 22:49
  • by ilyasa