Hamizulfaiz

Innovator & Technologist

Cara Install SSL Letsencrypt pada ec2 aws
linux dns SSL

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!

Nak buat sistem?

Jom bincang untuk develop sistem yang custom untuk anda.

Whatsapp
Servis website sistem custom
HAMIZULFAIZ