Tanya
VPS saya, pake OS Debian, saya punya domain example.com, saya ingin agar domain saya itu dipasang SSL dari Let’s Enccrypt. Mohon dapat dipandu.
Jawab
I. Cek Webserver, Nginx atau Apache
Pertama, pastikan dulu apakah VPS Anda menggunakan webserver Nginx atau Apache
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”
II. Instalasi SSL Let’s Encrypt
Langkah kedua yaitu 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
III. Instalasi Certbot
Langkah ketiga, lanjut install si Certbot nya.
Di tahap pertama, Anda sudah pastikan webserver nya apakah Nginx atau Apache.
Untuk yang pake Nginx, lanjut jalankan perintah ini.
apt-get install python3-certbot-nginx -y
Untuk yang pake Apache, lanjut jalankan perintah ini:
apt-get install python3-certbot-apache -y
IV. Pemasangan SSL
Lanjut ke langkah keempat, 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.