Membuat situs belajar atau proyek kecil dengan HTTPS dulu terasa rumit dan mahal. Kini ada Let’s Encrypt, otoritas sertifikat yang menerbitkan sertifikat TLS secara gratis. Sertifikat ini memungkinkan koneksi antara browser pengunjung dan server terenkripsi, sehingga data yang dikirim tidak mudah dibaca pihak lain di tengah jalan.
Tutorial ini membahas cara memperoleh sertifikat Let’s Encrypt menggunakan Certbot, klien resmi yang mengotomatiskan penerbitan dan perpanjangan. Contoh yang digunakan ditujukan untuk domain milik sendiri, misalnya subdomain dari proyek pribadi atau situs latihan. Pendekatan ini cocok untuk pemula yang ingin memahami alur HTTPS dari dekat tanpa biaya langganan.
Mengapa HTTPS Penting untuk Proyek Kecil
HTTP biasa mengirim data dalam bentuk teks biasa. Siapa pun yang berada di jaringan yang sama dengan pengguna, misalnya jaringan Wi-Fi publik, dapat membaca atau memodifikasi data tersebut. HTTPS menambahkan lapisan TLS yang mengenkripsi lalu lintas dan memverifikasi identitas server melalui sertifikat.
Bagi proyek belajar, HTTPS juga membantu memahami konsep yang banyak dipakai di industri, seperti rantai kepercayaan (chain of trust), masa berlaku sertifikat, dan pentingnya konfigurasi server yang benar. Browser modern pun menandai situs tanpa HTTPS sebagai tidak aman, sehingga pengunjung bisa ragu untuk memakai layanan tersebut.
Let’s Encrypt menerbitkan sertifikat secara gratis, dan itu membuat HTTPS dapat diakses siapa saja yang memiliki domain. Namun ada satu hal yang perlu dipahami sejak awal: masa berlaku sertifikat Let’s Encrypt sangat pendek, yaitu sekitar 90 hari. Karena itu, perpanjangan harus berjalan otomatis, dan bagian ini akan dibahas khusus nanti.
Persiapan Sebelum Memasang Certbot
Ada beberapa syarat dasar yang perlu dipenuhi sebelum memulai. Pertama, Anda harus memiliki nama domain yang mengarah ke alamat IP server, misalnya melalui catatan A pada pengaturan DNS. Let’s Encrypt memverifikasi kepemilikan domain dengan memastikan server Anda benar-benar mengendalikan domain tersebut, sehingga DNS harus sudah aktif sebelum proses penerbitan.
Kedua, server harus dapat diakses dari internet melalui port 80 dan 443. Verifikasi HTTP-01, metode yang paling umum, memerlukan port 80 terbuka agar server Let’s Encrypt dapat mengambil file verifikasi. Jika firewall memblokir port tersebut, proses akan gagal meskipun konfigurasi lain sudah benar.
Ketiga, siapkan web server yang sudah berjalan, misalnya Nginx atau Apache. Pastikan server tersebut sudah merespons permintaan ke domain Anda melalui HTTP biasa. Dengan begitu, Certbot dapat mengedit konfigurasi secara otomatis dan menguji hasilnya.
Terakhir, akses ke server sebaiknya menggunakan akun dengan hak sudo. Perintah Certbot umumnya dijalankan dengan sudo karena perlu mengubah berkas konfigurasi di direktori sistem.
Memasang dan Menerbitkan Sertifikat dengan Certbot
Pada distribusi Linux berbasis Debian atau Ubuntu, Certbot biasanya tersedia melalui manajer paket. Untuk Nginx, paket plugin yang sesuai juga perlu dipasang. Nama paket dapat sedikit berbeda antar distribusi, sehingga sebaiknya periksa dokumentasi resmi Certbot untuk sistem operasi Anda sebelum memasang.
Setelah Certbot terpasang, jalankan perintah berikut untuk Nginx:
sudo certbot --nginx -d contoh.example.com
Ganti contoh.example.com dengan domain milik Anda. Certbot akan meminta alamat email untuk notifikasi penting, seperti peringatan jika sertifikat mendekati masa habis. Setelah itu, Anda perlu menyetujui ketentuan layanan. Certbot kemudian memverifikasi domain, mengunduh sertifikat, dan menyesuaikan konfigurasi Nginx agar menggunakan HTTPS.
Jika Anda menggunakan Apache, plugin yang dipakai berbeda, yaitu --apache. Untuk server lain atau kebutuhan khusus, Certbot juga mendukung mode manual, tetapi mode ini memerlukan langkah tambahan dan lebih sulit diotomatiskan. Pemula sebaiknya mulai dari plugin web server yang paling sederhana.
Setelah proses selesai, buka domain melalui browser dengan alamat https:// dan periksa ikon gembok. Anda juga dapat memeriksa detail sertifikat untuk melihat penerbit dan tanggal kedaluwarsa. Dengan cara ini, Anda memahami bahwa sertifikat tersebut benar-benar diterbitkan oleh Let’s Encrypt dan berlaku untuk domain Anda.
Memastikan Perpanjangan Otomatis Berjalan
Masa berlaku pendek adalah keunggulan keamanan, karena kunci yang bocor hanya berguna dalam waktu terbatas. Namun konsekuensinya, sertifikat harus diperbarui secara rutin. Certbot biasanya memasang tugas terjadwal, baik melalui systemd timer maupun cron, yang memeriksa sertifikat dan memperpanjangnya sebelum habis. Meski begitu, fitur otomatis tidak boleh dianggap berjalan hanya karena terpasang. Perlu diuji.
Gunakan perintah uji berikut:
sudo certbot renew --dry-run
Perintah ini mensimulasikan proses perpanjangan tanpa benar-benar mengganti sertifikat. Jika hasilnya menunjukkan sukses, konfigurasi perpanjangan sudah benar. Jika muncul galat, baca pesannya dengan teliti. Penyebab umum meliputi port 80 yang diblokir firewall, DNS yang berubah, atau konfigurasi web server yang tidak dapat dimuat ulang.
Untuk memeriksa jadwal tugas, Anda dapat memeriksa timer systemd dengan perintah berikut:
systemctl list-timers | grep certbot
Jika timer tidak ditemukan, periksa dokumentasi distribusi Anda atau tambahkan tugas cron sesuai panduan resmi Certbot. Setelah perubahan apa pun, jalankan kembali uji --dry-run.
Pengujian juga perlu dilakukan secara berkala, bukan hanya sekali. Misalnya, setelah memperbarui sistem operasi, mengganti nama domain, atau memindahkan server, lakukan uji ulang. Dengan kebiasaan ini, situs belajar Anda tidak tiba-tiba menampilkan peringatan sertifikat kedaluwarsa, yang justru bisa menjadi pelajaran berharga tentang pentingnya pemantauan layanan.
Batasan Etis dan Legal
Sertifikat HTTPS tidak membuat sebuah situs otomatis aman. Keamanan tetap bergantung pada pembaruan perangkat lunak, konfigurasi yang benar, dan praktik pengembangan yang baik. Sertifikat hanya memastikan koneksi terenkripsi dan identitas domain terverifikasi.
Dari sisi etika dan hukum, latihan seperti ini hanya dilakukan pada domain dan server yang Anda miliki atau yang secara tertulis diizinkan untuk diuji. Menerbitkan sertifikat untuk domain orang lain tanpa izin, mencoba mengakses sistem pihak ketiga, atau mengubah konfigurasi server yang bukan milik Anda termasuk pelanggaran serius. Selain berisiko secara hukum, tindakan tersebut merugikan pemilik layanan dan pengguna.
Jika Anda ingin memperdalam keamanan jaringan dan pengujian sistem, mulailah dengan lingkungan laboratorium pribadi, misalnya mesin virtual yang Anda kendalikan sepenuhnya. Sebagai referensi lanjutan, komunitas seperti kalilinux.net menyediakan materi tentang distribusi dan alat keamanan, yang dapat dipelajari dengan tetap mengikuti batas etika dan hukum yang berlaku.
Dengan prinsip tersebut, Let’s Encrypt dan Certbot menjadi sarana belajar yang sangat berguna. Anda belajar tentang enkripsi, verifikasi domain, dan otomatisasi pemeliharaan layanan, sambil tetap menjaga tanggung jawab terhadap sistem yang Anda kelola.
Penutup
Let’s Encrypt menyediakan sertifikat gratis yang memungkinkan HTTPS diterapkan pada proyek belajar dan situs kecil. Certbot menyederhanakan penerbitan serta perpanjangan, tetapi masa berlaku sertifikat yang singkat membuat pengujian perpanjangan otomatis menjadi langkah wajib. Dengan memastikan certbot renew --dry-run berhasil dan jadwal tugas berjalan, situs Anda tetap aman tanpa perlu perhatian manual setiap kali sertifikat hampir habis.

