Let’s Encrypt adalah Otoritas Sertifikasi yang menyediakan sertifikat SSL gratis untuk situs web. Selain menawarkan sertifikat SSL, ia juga menangani pemasangan sertifikat dan pembaruan sertifikat melalui klien Certbot.
Let’s Encrypt merupakan Otoritas Sertifikasi terbesar di dunia dan lebih dari 250 juta situs web menggunakan sertifikatnya. Saat ini, Let’s Encrypt mendukung penginstalan otomatis sertifikat di Apache, Nginx, Plex, dan Haproxy.
Di sini, kita akan melihat cara menginstal Let’s Encrypt SSL Certificate untuk Nginx di Ubuntu 22.04.
Certbot dikomendasikan menggunakan paket snap untuk instalasi. Paket snap bekerja di hampir semua distribusi Linux, tetapi diharuskan menginstal snapd terlebih dahulu. Ubuntu 22.04 hadir dengan dukungan untuk snap di luar aplikasi bawaan, sehingga Anda dapat memulai dengan memastikan inti snapd Anda terupdate:
sudo snap install core; sudo snap refresh core
Jika sudah terdapat certbot versi lama sebelumnya, diharuskan untuk menghapusnya sebelum ke langkah berikutnya:
sudo apt remove certbot
Setelah itu, Anda dapat menginstal paket certbot:
sudo apt install mysql-server
Seletelah kita menginstal Certbot, lalu kita jalankan proses untuk mendapatkan sertifikat kita.
Certbot harus dapat menemukan blok server yang benar dalam konfigurasi Nginx Anda agar dapat mengonfigurasi SSL secara otomatis. Secara khusus, ia melakukan ini dengan mencari direktif server_name yang cocok dengan domain yang Anda minta sertifikatnya.
Jika Anda mengikuti langkah penyiapan blok server dalam tutorial penginstalan Nginx, Anda harus memiliki blok server untuk domain Anda di /etc/nginx/sites-available/example.com dengan direktif server_name yang sudah disetel dengan tepat.
Untuk memeriksa, buka file konfigurasi untuk domain Anda menggunakan nano atau editor teks favorit Anda:
sudo nano /etc/nginx/sites-available/example.com
Temukan baris nama_server yang ada. Seharusnya terlihat seperti ini:
#/etc/nginx/site_availables/example.com
...
server_name example.com www.example.com;
...
Jika ya, keluar dari editor Anda dan lanjutkan ke langkah berikutnya.
Jika tidak, perbarui agar sesuai. Kemudian simpan file, keluar dari editor Anda, dan verifikasi sintaks pengeditan konfigurasi Anda:
sudo nginx -t
Certbot sekarang dapat menemukan blok server yang benar dan memperbaruinya secara otomatis.
Certbot menyediakan berbagai cara untuk mendapatkan sertifikat SSL melalui plugin. Plugin Nginx akan menangani konfigurasi ulang Nginx dan memuat ulang konfigurasi kapan pun diperlukan. Untuk menggunakan plugin ini, ketik berikut ini:
sudo certbot --nginx -d example.com -d www.example.com
Ini menjalankan certbot dengan plugin –nginx, menggunakan -d untuk menentukan nama domain yang kami inginkan agar sertifikatnya valid.
Saat menjalankan perintah, Anda akan diminta untuk memasukkan alamat email dan menyetujui persyaratan layanan. Setelah melakukannya, Anda akan melihat pesan yang memberi tahu Anda bahwa prosesnya berhasil dan di mana sertifikat Anda disimpan:
Output
IMPORTANT NOTES:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/your_domain/fullchain.pem
Key is saved at: /etc/letsencrypt/live/your_domain/privkey.pem
This certificate expires on 2022-06-01.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
Sertifikat Anda diunduh, diinstal, dan dimuat, dan konfigurasi Nginx Anda sekarang akan secara otomatis mengalihkan semua permintaan web ke https://. Coba muat ulang situs web Anda dan perhatikan indikator keamanan browser Anda. Ini harus menunjukkan bahwa situs tersebut diamankan dengan benar, biasanya dengan ikon kunci. Jika Anda menguji server Anda menggunakan SSL Labs Server Test, itu akan mendapatkan nilai A.
Mari kita selesaikan dengan menguji proses pembaruan.
Sertifikat Let’s Encrypt hanya berlaku selama sembilan puluh hari. Ini untuk mendorong pengguna mengotomatiskan proses perpanjangan sertifikat mereka. Paket certbot yang kami instal menangani ini untuk kami dengan menambahkan pengatur waktu systemd yang akan berjalan dua kali sehari dan secara otomatis memperbarui sertifikat apa pun yang dalam waktu tiga puluh hari setelah kedaluwarsa.
Anda dapat menanyakan status timer dengan systemctl:
sudo systemctl status snap.certbot.renew.service
Output
○ snap.certbot.renew.service - Service for snap application certbot.renew
Loaded: loaded (/etc/systemd/system/snap.certbot.renew.service; static)
Active: inactive (dead)
TriggeredBy: ● snap.certbot.renew.timer
Untuk menguji proses pembaruan, Anda dapat melakukan uji coba dengan certbot:
sudo certbot renew --dry-run
Jika Anda tidak melihat kesalahan, Anda sudah siap. Bila perlu, Certbot akan memperbarui sertifikat Anda dan memuat ulang Nginx untuk mengambil perubahan.
Jika proses perpanjangan otomatis gagal, Let’s Encrypt akan mengirim pesan ke email yang Anda tentukan, memperingatkan Anda saat sertifikat Anda akan kedaluwarsa.