Disini kita akan belajar cara menggunakan Let’s Encrypt wildcard SSL dan menggunakannya di nginx. Untuk mendapatkan ssl dari Let’e Encrypt kita akan menggunakan bantuan acme.sh

Disini yang akan dibahas adalah hanya bagian SSL, contoh kasus pada situs WordPress, bila anda mencari cara untuk menginstall WordPress di server Linux bisa mengikuti tutorial ini.

1. Cloning Repository acme.sh
Salah satu alasan saya memilih acme.sh ini karena kita bisa merequest SSL baik dari komputer anda, jadi kita tidak perlu meletakkan API KEY cloudflare yang kita miliki di server.

mkdir ~/src
git clone https://github.com/Neilpang/acme.sh.git

2. API Key Cloudflare
Ambil API Key cloudflare dari halaman https://www.cloudflare.com/a/profile, yang perlu dicopy adalah Global API Key.
Buka file ~/src/acme.sh/dnsapi/dns_cf.sh ubah bagian

CF_Key=
CF_Api=

3. Generate SSL
Untuk menggenerate SSL gunakan perintah

# pindah ke directory acme.sh
cd ~/src/acme.sh
# generate ssl
./acme.sh --issue -d jaranguda.com -d *.jaranguda.com --dns dns_cf

kurang lebih 3 menit anda akan mendapatkan SSL anda.

4. Copy SSL dan Key
Pindahkan SSL dan Key-nya ke server anda, bisa menggunakan SCP atau FTP. Contoh

scp /home/jaranguda/.acme.sh/jaranguda.com/fullchain.cer /home/jaranguda/.acme.sh/jaranguda.com/jaranguda.com.key root@IP.SERVER:/tmp/

Di server NGINX

Buat folder SSL untuk tiap domain

mkdir -p /etc/nginx/ssl/jaranguda.com/

pindahkan SSL yang anda copy ke folder tersebut

cp /tmp/fullchain.cer /tmp/jaranguda.com.key /etc/nginx/ssl/jaranguda.com/

Buka file konfigurasi untuk domain anda. Contoh saya menggunakan /etc/nginx/sites-enabled/jaranguda.com.conf ubah ssl_certificate dan ssl_certificate_key

ssl_certificate /etc/nginx/ssl/jaranguda.com/fullchain.cer;
ssl_certificate_key /etc/nginx/ssl/jaranguda.com/jaranguda.com.key;

Test konfigurasi sebelum direstart/reload nginx -t

$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Bila semuanya oke, reload nginx

systemctl reload nginx

Check SSL anda di Browser ;)

Leave a comment

Your email address will not be published. Required fields are marked *