Pernah gak bikin website sendiri terus di browser muncul tulisan “Not Secure”? nah tenang aja guys, itu artinya bukan configurasinya yang bermasalah. Tapi karena website kamu belum ada SSL nya.
Nah, masang SSL di Apache itu sebenernya gak serumit yang dikira. Apalagi sekarang udah ada Let’s Encrypt sertifikat SSL yang gratis beneran. Jadi gak ada alasan lagi buat website masih “Not Secure”, kecuali… ya, males baca tutorial. Nah, biar gak males, aku tulis catatan ini.
Catatan ini pake Apache di Rocky dengan SSL dari Let’s Encrypt via Certbot. Kalau distro kamu beda (Debian, Rocky, CentOS), tinggal nyesuein command install-nya aja.
Sebelum Mulai
Ada 3 syarat yang harus dipenuhi dulu, yaitu:
- Domain udah mengarah ke server: Buat A record DNS ke IP server kamu. Ini wajib, karena Let’s Encrypt bakal ngecek domain itu beneran punya kamu sebelum ngasih sertifikat.
- Port 80 dan 443 kebuka di firewall. Tanpa ini, certbot gak bakal bisa nyelesaiin prosesnya
- Apache udah keinstall dan jalan.
1. Pastiin Apache Jalan
systemctl status apache2
Kalau statusnya active (running), lanjut. Kalau belum keinstall:
apt update && apt install -y apache2
systemctl enable --now apache2
2. Install Certbot + Plugin Apache
apt update
apt install -y certbot python3-certbot-apache
python3-certbot-apache ini penting dia yang bikin Certbot bisa ngurus config Apache secara otomatis. Tanpa plugin ini, kamu harus ngedit config manual (bisa, tapi ribet).
3. Jalanin Certbot
Ini bagian paling seru tinggal satu command:
certbot --apache
Nanti Certbot bakal nanya beberapa hal:
- Email buat notifikasi kadaluarsa sertifikat.
- Setuju sama Terms of Service tinggal ketik
Y. - Pilih domain kalau ada lebih dari satu virtual host, pilih domain yang mau dipasangin SSL.
- Redirect HTTP ke HTTPS? pilih
2(redirect), biar pengunjung yang buka versihttp://otomatis dilempar kehttps://.
Begitu seleasi, Certbot otomatis bikin config virtual host HTTPS, masangin sertifikat, dan nyalain redirect. Gak perlu ngedit file config manual sama sekali.
4. Cek Hasilnya
certbot certificates
Command ini nampilin daftar sertifikat yang udah kepasang, lengkap sama tanggal kadaluarsanya. Terus, buka https://domainkamu.com di browser harusnya udah ada gembok 🔒 di samping URL-nya.
Satu hal yang sering dilupain: auto-renewal. Sertifikat Let’s Encrypt cuma berlaku 90 hari, tapi tenang Certbot udah punya timer yang otomatis ngerenew sebelum abis. Cek seperti ini:
systemctl status certbot.timer
certbot renew --dry-run
--dry-run buat nyimulasi proses renewal tanpa beneran ngubah apa-apa. Kalau outputnya Congratulations, berarti renewal otomatis aman. Gak perlu panik manual tiap 3 bulan.
Bonus: Kalau Kamu Udah Punya Sertifikat Sendiri
Kadang sertifikatnya bukan dari Let’s Encrypt misalnya dari CA lain atau sertifikat internal. Tenang, tinggal pasang manual di config virtual host:
<VirtualHost *:443>
ServerName contoh.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/contoh.com.crt
SSLCertificateKeyFile /etc/ssl/private/contoh.com.key
SSLCertificateChainFile /etc/ssl/certs/chain.pem
</VirtualHost>
Terus aktifin modul SSL dan reload:
a2enmod ssl
systemctl reload apache2
Nahh
Setelah SSL kepasang, rasanya beda banget bukan cuma soal keamanan, tapi juga kepercayaan. Pengunjung liat gembok, langsung lebih adem. Dan yang paling penting: prosesnya gak seseram yang dibayangin, asal urutan langkahnya bener.
Buat kamu yang lagi coba dan ikutin tutorial ini, semogaa berhasill guysss. Dan buat kamu yang lagi baca-baca, ayoo mulai cobain sekarang juga biar ga penasaran. Kalau ada yang mau di diskusikan boleh di kolom komentar ya guys!