Tutorial langkah demi langkah tentang cara menggunakan certbot Let's Encrypt untuk mendapatkan sertifikat SSL gratis dan cara memperbaruinya secara otomatis.
Yang terpenting, Let's Encrypt adalah sumber terbuka dan sepenuhnya gratis. Ini memungkinkan siapa saja untuk memasang sertifikat SSL tepercaya di situs web mereka dan mendapat manfaat dari keamanan yang ditingkatkan yang disediakan oleh koneksi terenkripsi. Tidak seperti sertifikat SSL yang ditandatangani sendiri, sertifikat Let's Encrypt dikenali sebagai terverifikasi sepenuhnya dan menampilkan ikon gembok di bilah alamat browser web modern.
Cara Kerja Let's Encrypt
Sebelum menerbitkan sertifikat, Let's Encrypt memvalidasi kepemilikan domain Anda. Klien Let's Encrypt, yang berjalan di host Anda, membuat file sementara (token) dengan informasi yang diperlukan di dalamnya. Server validasi kemudian membuat permintaan HTTP untuk mengambil file dan memvalidasi token, yang memverifikasi bahwa data DNS untuk domain Anda diselesaikan ke server yang menjalankan klien Let's Encrypt. Oleh karena itu, perintah yang ditunjukkan di bawah ini harus dijalankan di server yang akan melayani domain Anda yang sertifikatnya Anda berikan.
1. Memasang certbot
Let's Encrypt memiliki penginstal otomatis bernama certbot
. Langkah pertama menggunakan Let's Encrypt untuk mendapatkan sertifikat SSL adalah dengan menginstalnya di server Anda.
Ubuntu:
sudo apt install certbot python3-certbot-nginx
Debian:
sudo apt install certbot
CentOS:
sudo yum install epel-release
sudo yum install certbot-nginx
2. Mendapatkan Sertifikat Let's Encrypt
Penting! Sebelum mengeluarkan sertifikat SSL gratis Let's Encrypt, Anda harus menghentikan layanan server web Anda. Jika tidak, Anda akan mendapatkan kesalahan berikut:
Problem binding to port 80: Could not bind to IPv4 or IPv6
Jika Anda menggunakan Nginx, jalankan:
sudo systemctl stop nginx
Sekarang kita dapat beralih ke pembuatan sertifikat SSL gratis Let's Encrypt:
sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com
-d opsi mengambil nama domain. Anda dapat menggunakan beberapa -d
pilihan dalam satu perintah. Misalnya:
sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com -d www.my-domain.com
Jika ini pertama kalinya Anda menjalankan certbot
, Anda akan diminta untuk memasukkan alamat email dan menyetujui persyaratan layanan. Setelah melakukannya, certbot
akan berkomunikasi dengan server Let's Encrypt, lalu menjalankan tantangan untuk memverifikasi bahwa Anda mengontrol domain yang Anda minta sertifikatnya.
Jika berhasil, certbot
akan ditutup dengan pesan yang memberi tahu Anda bahwa prosesnya berhasil dan di mana sertifikat Anda disimpan.
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/my-domain.com/fullchain.pem. Your cert will
expire on 2022-08-08. To obtain a new or tweaked version of this
certificate in the future, simply run certbot again with the
"certonly" option. To non-interactively renew all of your
certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
3. Verifikasi Sertifikat
Cantumkan sertifikat Anda yang disimpan di /etc/letsencrypt/live/my-domain.com
direktori.
ls -l /etc/letsencrypt/live/my-domain.com/
total 4
-rw-r--r-- 1 root root 692 Mar 10 08:24 README
lrwxrwxrwx 1 root root 37 Mar 10 08:24 cert.pem -> ../../archive/my-domain.com/cert1.pem
lrwxrwxrwx 1 root root 38 Mar 10 08:24 chain.pem -> ../../archive/my-domain.com/chain1.pem
lrwxrwxrwx 1 root root 42 Mar 10 08:24 fullchain.pem -> ../../archive/my-domain.com/fullchain1.pem
lrwxrwxrwx 1 root root 40 Mar 10 08:24 privkey.pem -> ../../archive/my-domain.com/privkey1.pem
4. Ubah Konfigurasi Server Web
Agar server web Anda menggunakan sertifikat SSL gratis Let's Encrypt, Anda perlu menentukannya dalam konfigurasinya. Misalnya, jika Anda menggunakan Nginx, Anda perlu menambahkan blok berikut ke file konfigurasi domain Anda /etc/nginx/sites-enabled/my-domain.conf
server {
listen 443;
server_name my-domain.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/my-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain.com/privkey.pem;
}
Itu dia. Semua hal diatur dan dilakukan. Sekarang Anda hanya perlu memulai server web Anda:
sudo systemctl start nginx
Terakhir, Anda dapat memeriksa apakah situs web Anda sekarang dilindungi SSL. Cukup buka situs web di browser dan periksa apakah ikon gembok tersedia.
5. Memperbarui Sertifikat Let's Encrypt secara otomatis
Sertifikat berlaku selama 90 hari. Mereka dapat diperpanjang 30 hari sebelum kedaluwarsa. Di sini kami menambahkan tugas cron yang akan diperpanjang secara otomatis.
Jadi pertama-tama buka file crontab :
sudo crontab -e
setelah itu tambahkan certbot
perintah untuk dijalankan setiap minggu:
@weekly certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx" --renew-hook "systemctl reload nginx" --quiet
Kesimpulan
Dalam tutorial ini, kami melihat cara memasang sertifikat SSL gratis dari Let's Encrypt untuk mengamankan situs web. Selain itu, Anda dapat memeriksa situs resmi Let’s Encrypt untuk informasi dan detail selengkapnya.