Hamizulfaiz

Tech Entrepreneur / System Builder

Cara Install SSL Letsencrypt pada ec2 aws

Published:

Updated:

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.

nak buat sistem bisnes? hubungi saya

Post Berkaitan

29 Apr 2026 Security Lepas Launch App: Chapter Sebenar Bermula Selepas Deploy
Security Lepas Launch App: Chapter Sebenar Bermula Selepas Deploy

App dah live bukan bermaksud selamat. Ketahui kenapa Cloudflare penting lindungi server dari scan, bot dan request jahat.

19 Feb 2026 Macam Mana Saya Debug Production Issue Tanpa Panik, Tanpa Main Teka
Macam Mana Saya Debug Production Issue Tanpa Panik, Tanpa Main Teka

Teknik praktikal debug sistem guna Laravel log dan Nginx log. Selesaikan isu server dengan tenang berdasarkan proses sebenar.

15 Feb 2026 Server Anda Bukan "Sekadar Hosting”. Dia Tentukan Kos & Prestasi Bisnes Anda
Server Anda Bukan "Sekadar Hosting”. Dia Tentukan Kos & Prestasi Bisnes Anda

Server bukan sekadar hosting. Ketahui kesan setup server terhadap kos, keselamatan, dan prestasi jangka panjang sistem bisnes anda.

03 Feb 2026 Perbezaan Antara cPanel dan VPS (Bare Metal Linux) Sebagai Hosting Anda
Perbezaan Antara cPanel dan VPS (Bare Metal Linux) Sebagai Hosting Anda

Bandingkan cPanel dan bare metal Linux. Ketahui cara VPS beri kawalan penuh dan prestasi lebih padu untuk website/aplikasi anda.

01 Jun 2020 Server - Perkara asas untuk web developer
Server - Perkara asas untuk web developer

Perkara asas mengenai hal-hal server bagi web developer

28 Dec 2019 Kenapa anda yang perlu beli domain dan bukannya website developer yang beli?
Kenapa anda yang perlu beli domain dan bukannya website developer yang beli?

Ramai buat silap biar developer beli domain. Ketahui risiko dan cara lindungi aset digital bisnes anda.

03 Nov 2019 Cara pastikan web developer ikut keperluan bisnes anda
Cara pastikan web developer ikut keperluan bisnes anda

Inilah cara praktikal untuk beri web developer faham apa keperluan website/sistem yang anda inginkan.

03 Nov 2019 PHP - Convert date dd/mm/yyyy kepada Y-m-d
PHP - Convert date dd/mm/yyyy kepada Y-m-d

convert tarikh dari input html dd/mm/yyyy kepada yyyy-mm-dd

08 Oct 2019 Laravel Package - Senarai Negeri Dalam Malaysia
Laravel Package - Senarai Negeri Dalam Malaysia

Pakej laravel bagi developer laravel untuk memudahkan senarai negeri dalam malaysia.

HAMIZULFAIZ