install ssl nginx ubuntu featured image

Cara Install SSL Let’s Encrypt pada Nginx di Ubuntu 18.04

Penggunaan sertifikat SSL sudah menjadi standarisasi untuk mendapatkan nilai SEO yang bagus. Jika kamu belum tahu, SSL adalah Secure Sockets Layer, yaitu lapisan pertahanan di website yang menjamin bahwa transaksi data di website-mu tidak terinterupsi oleh pihak manapun. Alhasil, Google akan memberikan peringkat lebih baik untuk website-mu. Yuk pelajari cara install SSL Let’s Encrypt dengan web server Nginx di server dengan Ubuntu 18.04 berikut.

Let’s Encrypt

Let’s Encrypt adalah organisasi non-profit dari Linux Foundation yang menyediakan SSL gratis dengan enkripsi standar untuk seluruh pemilik website. 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.

Baca Juga: Kenali Let’s Encrypt SSL untuk Menaikkan Peringkat Website

Cara Install SSL Let’s Encrypt pada Nginx di Ubuntu 18.04

Ada beberapa persiapan yang perlu kamu lakukan untuk meng-install SSL Let’s Encrypt pada web server Nginx di Ubuntu 18.04.

  • VPS dengan OS Ubuntu 18.04
  • Domain yang sudah diarahkan ke alamat IP VPS.
  • Akses root.
  • Nginx atau LEMP sudah terinstalasi.

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

Simak penjelasan lengkapnya di bawah ini.

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

 

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

 

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

 

Install Sertifikat SSL

Cara 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 tak ingin mendapatkan email rutin berisi berita, campaign, dan email lain yang berkaitan dengan Certbot, maka pilih N (No). Tapi jika kamu ingin berlangganan email, 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

 

Path file sertifikat berada pada:

/etc/letsencrypt/live/vps201.dewiweb.net/fullchain.pem

 

Path file Private Key berada pada:

/etc/letsencrypt/live/vps201.dewiweb.net/privkey.pem

 

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

 

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

 

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 install ssl nginx ubuntu 18.04 berhasil sertifikat dari url bar browser

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.

ssl labs report sertifikat ssl berhasil install di nginx server ubuntu 18.04

Baca Juga: Cara Deploy CodeIgniter dengan Nginx di VPS Ubuntu 18.04

Simpulan

Setelah mengikuti cara install sertifikat SSL dengan web server Nginx di Ubuntu 18.04, 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“.

Demikian tutorial cara install sertifikat SSL dengan web server Nginx di Ubuntu 18.04 ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Semoga artikel ini membantu, salam sukses online!