Tata cara meng-install SSL Let’s Encrypt Nginx di Ubuntu ternyata tidak sesulit yang kamu bayangkan, lho.
Let’s Encrypt menyediakan SSL gratis dengan enkripsi standar untuk seluruh pemilik website yang bisa di-install oleh siapa saja dengan mudah.
SSL ini memiliki validasi waktu 90 hari dan menggunakan protokol ACME (Automatic Certificate Management Environment) yang dapat melakukan pembaruan otomatis setiap 90 hari menggunakan cron job.
Yuk pelajari cara install SSL Let’s Encrypt dengan web server Nginx di server Ubuntu 18.04!
Baca Juga: Kenali Let’s Encrypt SSL untuk Menaikkan Peringkat Website
Prasyarat
Sebelum memulai instalasi Let’s Encrypt Nginx di Ubuntu 18.04, pastikan kamu sudah memenuhi persyaratan berikut:
1. Memiliki VPS dengan OS Ubuntu 18.04
2. Memiliki Domain yang sudah diarahkan ke alamat IP VPS.
3. Memiliki akses root.
4. Memiliki Nginx atau LEMP yang sudah terinstalasi.
Baca Juga: Cara Install SSL Let’s Encrypt pada Apache di CentOS 8
Cara Install SSL Let’s Encrypt pada Nginx di Ubuntu 18.04
Proses instalasi SSL Let’s Encrypt pada Nginx di Ubuntu 18.04 akan dilakukan dengan beberapa langkah utama berikut ini.
- Update Server
- Install Firewall
- Install Certbot
- Install Sertifikat SSL
- Setting Virtual Configuration Nginx
- Tes SSL
Berikut penjelasan lengkap dan rincinya:
1. Update Server
- Login sebagai root ke server dan perbarui server untuk memastikan packages-nya sudah up-to-date.
$ apt-get update -y $ apt-get upgrade -y $ reboot
- Install beberapa packages yang dibutuhkan.
$ apt-get install nano perl wget -y
2. Install Firewall
- Sebelum memulai instalasi SSL, kamu perlu meng-install firewall agar lebih aman.
- Di tutorial SSL kali ini yang digunakan adalah firewall CSF (ConfigServer Security & Firewall). Instalasinya dilakukan dengan perintah di bawah ini:
$ cd /usr/src $ wget https://download.configserver.com/csf.tgz $ tar -xzf csf.tgz $ cd csf/ $ sh install.sh
- Di bagian konfigurasi CSF, ubah “make TESTING=’1’ menjadi 0”.
$ nano /etc/csf/csf.conf
- Kemudian restart CSF agar dapat me-reload konfigurasi yang sudah diperbarui.
$ csf -r
3. Install Certbot
- Install Let’s Encrypt Client, yaitu Certbot sesuai dengan perintah di bawah ini.
$ apt-get install software-properties-common -y
- Add repository Universe dan Certbot.
$ add-apt-repository universe && add-apt-repository ppa:certbot/certbot
- Tekan ENTER untuk melanjutkan penambahan repositori tersebut.
- Setelah itu update package list lagi dan install sertifikat Certbot untuk Nginx.
$ apt-get install certbot python-certbot-nginx -y
Baca Juga: Cara Install SSL Let’s Encrypt pada Nginx di CentOS 8
4. Install Sertifikat SSL
- Selanjutnya adalah install SSL pada Nginx di server Ubuntu 18.04.
- Kamu perlu mengambil sertifikat untuk domain yang digunakan, contoh domain yang digunakan di artikel ini adalah vps188.dewiweb.net.
- Kamu bisa mengubahnya sesuai domain yang kamu gunakan.
$ certbot --nginx Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): (masukkan email address yang digunakan) Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N
- Jika kamu tidak mau mendapatkan email rutin berisi berita, campaign, dan email lain yang berkaitan dengan Certbot, maka pilih N (No).
- Tapi jika kamu ingin berlangganan email maka pilih Y (Yes).
No names were found in your configuration files. Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel): vps201.dewiweb.net
- Note: masukkan nama domain yang kamu gunakan.
- Jika berhasil, maka akan keluar output seperti di bawah ini.
Obtaining a new certificate Performing the following challenges: http-01 challenge for vps201.dewiweb.net Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/vps201.dewiweb.net
- Untuk path file sertifikat berada pada: /etc/letsencrypt/live/vps201.dewiweb.net/fullchain.pem
- Untuk path file Private Key berada pada: /etc/letsencrypt/live/vps201.dewiweb.net/privkey.pem
5. Setting Virtual Configuration Nginx
- Tambahkan script SSL di bawah ini pada file konfigurasi virtual domain pada web server Nginx kamu.
$ nano /etc/nginx/sites-enabled/vps201.dewiweb.net/ ### code #### #SSL ssl on; # Use certificate and key provided by Let's Encrypt: ssl_certificate /etc/letsencrypt/live/vps201.dewiweb.net/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/vps201.dewiweb.net/privkey.pem; ssl_session_timeout 15m; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; ssl_trusted_certificate /etc/letsencrypt/live/vps201.dewiweb.net/fullchain.pem; ### code ### #http redirects to https server { listen 80; server_name vps201.dewiweb.net; rewrite ^/.*$ https://$host$request_uri? permanent; }
- Selanjutnya tinggal simpan dan keluar.
- Catatan tambahan: ### code ### adalah script yang sudah ada pada konfigurasi virtual kamu sebelumnya.
- Kemudian verifikasi hasil konfigurasinya dengan perintah di bawah ini.
$ nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
- Lalu restart Nginx.
$ systemctl restart nginx
6. Tes SSL
Cara install SSL Let’s Encrypt pada Nginx di Ubuntu 18.04 hampir selesai. Langkah terakhir yang perlu dilakukan adalah melakukan tes apakah sertifikat SSL sudah terpasang dengan baik atau belum.
- Caranya, klik ikon gembok di sebelah kiri URL bar browser kamu, jika muncul tampilan seperti berikut ini, artinya sertifikat sudah berhasil terpasang di website-mu.
- Cara lainnya, kamu bisa mengetes dan mencari tahu grade sertifikat SSL di SSL Labs.
- Setelah memasukkan nama domain, tunggu sebentar hingga muncul hasil grade sertifikatmu seperti gambar di bawah ini.
Baca Juga: Cara Deploy CodeIgniter dengan Nginx di VPS Ubuntu 18.04
Simpulan
Ternyata, cara install SSL Let’s Encrypt Nginx di Ubuntu tidak terlalu sulit, ya? Dengan begitu, seharusnya saat ini website-mu sudah memiliki koneksi yang aman dengan grade A+.
Selain meningkatkan kepercayaan pengunjung, keberadaan sertifikat SSL juga bisa mempermudah website-mu untuk menaikkan peringkat di Google yang nantinya akan berdampak pula pada peningkatan traffic website.
Tapi, ada beberapa faktor lain yang bisa memengaruhi peringkat website-mu di mesin pencari, misalnya optimasi website dan hosting yang digunakan.
Pastikan kamu menggunakan server VPS atau cloud hosting terbaik, kemudian pelajari apa saja tools yang bisa kamu gunakan untuk mengoptimasi website-mu dari artikel “Tools SEO untuk Optimasi Website“.
Apabila terjadi masalah seperti error setelah kamu memasang SSL, kamu bisa mengunjungi artikel Masalah SSL Error pada Website dan Cara Mengatasinya untuk mencari solusinya.
Demikian tutorial ini, semoga membantumu! Kamu juga bisa membaca kumpulan artikel informatif lainnya di blog Dewaweb.
Jika tertarik, kamu juga dapat mengikuti program afiliasi dari Dewaweb ataupun webinar gratis dari Dewatalks. Salam sukses online!