Panduan cara install SSL Let’s Encrypt Nginx di Ubuntu ternyata tidak begitu sulit. Bahkan, kamu juga bisa memasangnya sendiri tanpa bantuan tenaga profesional dan hanya memerlukan beberapa langkah saja.
Hal ini karena 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.
Langsung pelajari cara install SSL Let’s Encrypt dengan web server Nginx di server Ubuntu 18.04 berikut ini!
Baca Juga: Pentingnya SSL untuk Memaksimalkan Kinerja Website
Prasyarat
Sebelum memulai instalasi Let’s Encrypt Nginx di Ubuntu 18.04, pastikan kamu sudah memenuhi persyaratan berikut:
- Memiliki VPS dengan OS Ubuntu 18.04
- Memiliki domain yang sudah diarahkan ke alamat IP VPS.
- Memiliki akses root.
- 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.
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
- Silakan copy 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
Yuk Pakai SSL untuk Amankan Website!
Itulah cara install SSL di Nginx pada server Ubuntu. Dengan mengikuti langkah di atas, seharusnya saat ini website-mu sudah memiliki koneksi yang aman dengan grade A+. Apabila terjadi masalah seperti error setelah kamu memasang SSL, kamu bisa mengunjungi artikel Masalah SSL Error pada Website dan Cara Mengatasinya untuk mencari solusinya.
Jika website kamu belum dilengkapi SSL, segeralah beli SSL certificate dan mengaktifkannya. Sebab, SSL mampu meningkatkan kepercayaan pengunjung sehingga akan mempermudah website-mu untuk memiliki peringkat tinggi di SERP. Hal ini tentunya akan berdampak pada meningkatnya traffic website.
Pastikan juga website-mu menggunakan server VPS atau cloud hosting terbaik. Dewaweb adalah provider cloud hosting dan SSL pertama di Indonesia yang telah mendapat sertifikat keamanan ISO 27001 dan Extended Validation dari DigiCert Secure Site EV.
Jika kamu tidak puas dengan SSL Dewaweb, kamu bisa klaim garansi 30 hari uang kembali. Silakan hubungi Ninja Support maksimal 30 hari sejak pembelian, nantinya pembelian SSL kamu akan dibatalkan dan uang dikembalikan.
Tunggu apa lagi? Yuk segera amankan website kamu dengan SSL Dewaweb sekarang!