Tanya
VPS saya, OS nya Debian 10, saya punya domain example.com, saya ingin agar domain saya itu dipasang SSL dari Let’s Enccrypt. Mohon dapat dipandu.
Jawab
Kita pastikan dulu, apakah betul OS nya adalah Debian 10, caranya jalankan perintah ini
lsb_release -a
Kalo muncul hasil seperti ini…
…itu menunjukkan OS nya betul Debian 10.
Kalo misal tulisannya Debian 9, JANGAN ikuti materi ini, silahkan ke materi ini.
Sedangkan untuk mengetahui apakah pake Nginx / Apache, jalankan 2 perintah ini
apt update && apt install net-tools -y
Lanjut dengan
netstat -ptuln
Hasilnya kalo yang Nginx ada tulisan “nginx“-nya:
Sedangkan kalo yang Apache nanti akan ada tulisan “apache2”
Instalasi SSL Let’s Encrypt
Selanjutnya kita akan mulai proses penginstallan Let’s Encrypt, kita akan memanfaatkan Certbot.
Sebelum kita install Certbot, kita harus install dulu beberapa aplikasi pendukung Certbot. Silahkan jalankan perintah ini (copy-paste aja):
apt-get install \ python3-acme \ python3-certbot \ python3-mock \ python3-openssl \ python3-pkg-resources \ python3-pyparsing \ python3-zope.interface \ -y
Setelah berhasil, lanjut install si Certbot nya.
Untuk yang pake Nginx, jalankan perintah ini.
apt-get install python3-certbot-nginx -y
Untuk yang pake Apache, jalankan perintah ini:
apt-get install python3-certbot-apache -y
Pemasangan SSL
Lanjut, kita akan pasang SSL di domain example.com. Kalo domain-nya bukan example.com silahkan ganti, sesuaikan!
Untuk yang pake Nginx, perintahnya adalah
certbot \ --redirect \ --agree-tos \ --register-unsafely-without-email \ --nginx \ -d example.com -d www.example.com
Untuk yang pake Apache, perintahnya adalah
certbot \ --redirect \ --agree-tos \ --register-unsafely-without-email \ --apache \ -d example.com -d www.example.com
Tunggu proses nya sampe nanti melihat tampilan yang seperti ini
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx Obtaining a new certificate Performing the following challenges: http-01 challenge for example.com http-01 challenge for www.example.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/example.com Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/example.com Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/example.com Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/example.com ------------------------------------------------------------------------------- Congratulations! You have successfully enabled https://example.com and https://www.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=example.com https://www.ssllabs.com/ssltest/analyze.html?d=www.example.com ------------------------------------------------------------------------------- IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2019-08-13. 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" - 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
Selesai. SSL sdh terpasang di domain example.com, silahkan akses web nya, harusnya sdh ter-redirect. Clear cache / refresh dulu browser nya kalo belum HTTPS.
Pemasangan SSL untuk Domain Lainnya
Kalo misal di VPS nya terinstall beberapa domain, maka utk install SSL di domain lainnya, tinggal jalankan perintah certbot di atas, misal domain lainnya adalah example.net, maka tinggal diganti saja sebagai berikut (Ingat sesuaikan nginx dan apache nya ya)
certbot \ --redirect \ --agree-tos \ --register-unsafely-without-email \ --nginx \ -d example.net -d www.example.net
Pemasangan SSL untuk Sub Domain
Kalo untuk sub domain, maka di dalam perintahnya bukan berisi -d example.com -d www.example.com
tapi berisi nama sub domain. Misal sub domainnya itu subdomainku.example.com, maka perintahnya jadi.
certbot \ --redirect \ --agree-tos \ --register-unsafely-without-email \ --nginx \ -d subdomainku.example.com
Install Plugin SSL
Bagi pengguna WordPress, sangat disarankan untuk install plugin ReallySimpleSSL, supaya semua element yang masih HTTP, diganti jadi HTTPS. Install, aktifkan, lalu klik ini (akan log out dari wp-admin)
Anda Pengguna Cloudflare?
Bagi pengguna Cloudflare, ketika SSL nya sdh ON, ada yang harus dilakukan, silahkan pilih yang paling sreg.
Opsi 1 – Jika webnya ingin menggunakan fitur security dan ingin mendapat optimasi yang diberikan Cloudflare, silahkan login ke Cloudflare, pilih domainnya, ke menu Crypto, link nya (ganti example.com)
https://www.cloudflare.com/a/crypto/example.com
Di sana ada pengaturan SSL: Off, Flexible, Full, dan Full (strict). Silahkan atur agar menjadi Full (strict).
Hanya saja SSL yang muncul bukanlah SSL nya Let’s Encrypt, melainkan SSL Cloudflare. SSL yang muncul “SSL jamaah”, karena SSL nya digunakan oleh domain2 lain.
Opsi 2 – Kalo SSL yang muncul ingin SSL nya Let’s Encrypt, maka masuk ke menu DNS, link nya (ganti example.com)
https://www.cloudflare.com/a/dns/example.com
Di sana ada icon awan berwarna orange. Silahkan di klik icon itu, sehingga jadi abu2.
Dengan demikian SSL yang muncul keliatan lebih prestise karena hanya dimiliki domain example.com saja. Contoh untuk salah satu domain saya https://jasa.hardinal.com/
Selamat mencoba.