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
- Masuk ke Cloudflare Dashboard.
- Buka menu API Tokens dan klik Create Token.
- Pilih Custom Token dengan izin:
- Zone → DNS → Edit
- Zone → Zone → Read
- 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. 🚀