Rabu, 26 Maret 2025

Cara Menggunakan Certbot dengan Cloudflare API di Apache

Cara Menggunakan Certbot dengan Cloudflare API di Apache

Cara Menggunakan Certbot dengan Cloudflare API di Apache

1. Install Certbot dan Plugin Cloudflare

Pastikan server Anda telah menginstal Certbot dan plugin DNS Cloudflare dengan perintah berikut:

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

2. Buat API Token di Cloudflare

  1. Masuk ke Cloudflare Dashboard.
  2. Buka menu API Tokens dan klik Create Token.
  3. Pilih Custom Token dengan izin:
    • Zone → DNS → Edit
    • Zone → Zone → Read
  4. Klik Create Token dan salin API Token.

3. Simpan API Token di Server

Buat file untuk menyimpan kredensial Cloudflare:

sudo nano /root/.cloudflare.ini

Isi file dengan:

dns_cloudflare_api_token = YOUR_CLOUDFLARE_API_TOKEN

Ubah izin file agar lebih aman:

sudo chmod 600 /root/.cloudflare.ini

4. Generate Sertifikat SSL

Gunakan perintah berikut untuk meminta sertifikat:

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

5. Menambahkan SSL ke Apache Secara Manual

Edit file VirtualHost Apache:

sudo nano /etc/apache2/sites-available/example.com-le-ssl.conf

Tambahkan konfigurasi berikut:

<VirtualHost *:443>
    ServerName example.com

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

    DocumentRoot /var/www/html
    <Directory /var/www/html>
        AllowOverride All
    </Directory>
</VirtualHost>

5.1 Mengaktifkan Konfigurasi SSL di Apache

Jalankan perintah berikut untuk mengaktifkan situs dan modul SSL:

sudo a2ensite example.com-le-ssl.conf
sudo a2enmod ssl
sudo systemctl reload apache2

6. Perpanjangan Otomatis SSL

Tambahkan cronjob untuk memperbarui sertifikat secara otomatis:

sudo crontab -e

Tambahkan baris berikut:

0 2 * * * certbot renew --quiet --dns-cloudflare --dns-cloudflare-credentials /root/.cloudflare.ini --deploy-hook "systemctl reload apache2"

Selamat! SSL sekarang akan diperbarui otomatis. 🚀

Share: