Cara Install SSL Letsencrypt pada ec2 aws 16/10/2019

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!

hamizulfaiz profile picture

Mengenai Penulis

Saya HAMIZULFAIZ. Freelance web developer di Ampang, Selangor.

Berminat untuk menjadi klien saya? Hubungi saya dan lihat bagaimana proses bisnes anda boleh menjadi lebih efisyen!