Hai semua!
Terima kasih kerana melawati blog ini. Selepas share post pasal cara bina web server dari kosong haritu, Zaem Shakkir bertanya kepada saya macam mana nak setup SSL?
Jadi kali ini sy share macam mana nak install FREE SSL dari Lets Encrypt kedalam web server yang kita dah setup.
First sekali, buka terminal dan log masuk ke dalam server kita dulu.
Next: Pastikan kita di User folder.
$ cd ~
Next: Install Certbot
Certbot ini adalah satu command line library yang kita boleh install kedalam linux kita untuk tujuan setup SSL. kita boleh download guna command WGET:
$ wget https://dl.eff.org/certbot-auto
setelah selesai download. anda akan dapat file bernama "cerbot-auto"
p/s: kalau server anda xde command wget ni. boleh install guna YUM package manager.
Next: Set Execute Permission Pada File Certbot
$ chmod a+x certbot-auto
Next: Install SSL Pada Domain!
$ sudo ~/certbot-auto --debug --apache -v --server https://acme-v01.api.letsencrypt.org/directory certonly -d NAMADOMAINANDA.COM
Next: Set Cron-job untuk Auto-Renew SSL
setiap SLL yang kita dapat hanya akan aktif untuk 90 hari, jadi, pade hari ke 90, kita kena renew sendiri SSL tu. Kite boleh suruh cron-jon yang buat untuk kite. takde lah setiap 90 hari nak kena login kat server semata-mata nak renew SSL kan.
masuk cron tab:
$ sudo crontab -e
kita akan masuk kedalam VIM editor. "secra default kita akan dapat vim, atau anda boleh guna nano editor.
dalam editor VIM itu, kita tambah line baru seperti berikut:
30 2 * * Sun /home/ec2-user/certbot-auto renew
ec2-user adalah user linux. kalau anda download certbot-auto dekat tempat lain, boleh replace path dia kat situ.
Next: Setup file httpd.conf untuk terima SSL
$ sudo nano /etc/httpd/conf/httpd.conf
Next: Masukkan Code Setting SSL kepada Domain
<VirtualHost *:443>
DocumentRoot "/webserver/public_html"
ServerName NAMADOMAINSSL.COM
ErrorLog /webserver/error_log
#cert letsencrypt
SSLEngine On
SSLCertificateFile "/etc/letsencrypt/live/NAMADOMAINSSL.COM/cert.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/NAMADOMAINSSL.COM/privkey.pem"
SSLCertificateChainFile "/etc/letsencrypt/live/NAMADOMAINSSL.COM/chain.pem"
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
</VirtualHost>
SIAP!
EXTRA (Optional): guna command line Alias untuk issue SSL ke domain lain.
kadang-kadang, kite ade banyak domain yang park dalam server kita. so, setiapkali ade domain baru. (atau subdomain). kite kena guna command ni:
$ sudo ~/certbot-auto --debug --apache -v --server https://acme-v01.api.letsencrypt.org/directory certonly -d NAMADOMAINBARU.COM
memandangkan kita dalam environment linux. kita boleh guna .bash_profile
edit .bash_profile kita:
$ sudo nano ~/.bash_profile
lepas tu pergi ke line paling bawah (atau line baru), tambah alias ni:
alias newSSL="sudo ~/certbot-auto --debug --apache -v --server https://acme-v01.api.letsencrypt.org/directory certonly -d"
PENTING: (kalau perasan. tak ade NAMADOMAINBARU.COM kat situ)
siap! refresh profile command line kita:
$ source ~/.bash_profile
sekarang boleh guna untuk domain baru macam ni:
$ newSSL NAMADOMAINBARU.COM
TAMAT!
terima kasih kerana bertanya Zaem Shakkir. Selamat mencuba!