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 ;)