Cara Menginstal Sertifikat SSL Let's Encrypt di Virtual Host Apache

837

Unduh certbot-auto ke direktori /usr/local/sbin:

$ cd /usr/local/sbin
$ sudo wget https://dl.eff.org/certbot-auto
$ sudo chmod a+x /usr/local/sbin/certbot-auto

Perintah chmod di atas akan menyebabkan script yang telah diunduh dapat dieksekusi.

Membuat Sertifikat SSL

Misalnya kita akan membuat sertifikat untuk virtual host situsku.dev, yang merupakan base domain dari beberapa subdomain, misalnya www.situsku.dev dan api.situsku.dev. Setiap subdomain dapat ditambahkan menggunakan parameter -d.

Jalankan certbot-auto:

$ certbot-auto --apache -d situsku.dev -d www.situsku.dev -d api.situsku.dev

Perhatikan bahwa nama domain pertama pada perintah di atas akan digunakan oleh Let's Encrypt sebagai base domain untuk membuat sertifikat. Dalam hal ini, situsku.dev harus ditulis paling depan.

Setelah menjalankan perintah ini, masukkan alamat email yang akan digunakan untuk menerima pemberitahuan dan lost key recovery. Pilih juga antara mengizinkan akses baik melalui http atau https, atau mengalihkan semua ke https.

Semua sertifikat SSL yang dihasilkan berada di direktori /etc/letsencrypt/live.

Apabila subdomain akan ditambahkan, jalankan kembali perintah certbot-auto di atas dengan menambahkan subdomain baru. Kita bisa memilih antara memperbarui sertifikat yang sudah ada, atau membuat baru.

Mengatur Pembaruan Sertifikat

Sertifikat Let's Encrypt berlaku selama 90 hari, dan sebaiknya diperbarui sebelum itu. Untuk memperbarui sertifikat untuk semua domain, jalankan perintah:

$ certbot-auto renew

Perintah di atas akan mengecek semua sertifikat yang terpasang dan akan memperbaruinya jika kurang dari 30 hari dari tanggal kedaluwarsa.

Untuk memperbarui sertifikat secara otomatis, kita dapat menggunakan cron job yang akan menjalankan perintah di atas secara berkala.

Jalankan perintah di bawah pada terminal:

$ sudo crontab -e

Tambahkan konten di bawah pada 1 baris baru:

0 2 * * 5 /usr/local/sbin/certbot-auto renew >> /var/log/le-renew.log

Simpan dan keluar. Cron job di atas akan menjalankan perintah certbot-auto renew setiap Jumat (hari ke-5 dalam satu minggu) pukul 2:00 pagi. Log file-nya dapat ditemukan pada direktori /var/log/le-renew.log.