Instalasi Nginx Dan Let’s Encrypt Di Ubuntu 16.04

Pada tulisan kali ini saya akan membahas langkah-langkah instalasi Nginx dan Certbot pada Sistem Operasi Ubuntu 16.04. Nginx sendiri merupakan salah satu webserver yang cukup populer digunakan pada banyak server-server di dunia. Kelebihan dari Nginx sendiri adalah dapat difungsikan sebagai webserver maupun reverse proxy.

Let’s Encrypt adalah otoritas penyedia layanan sertifikasi otomatis yang menggunakan protokol ACME (Automatic Certificate Management Environment) yang memberikan layanan Free SSL untuk website-website. Secara khusus pada tulisan ini kita akan membahas penggunaan Certbot untuk instalasi SSL di Nginx pada sistem operasi Ubuntu 16.04.

Pertama-tama kita akan membahas langkah-langkah instalasi Nginx dahulu.

Nginx tersedia secara default pada repositori ubuntu, pertama update dahulu repo pada server milik kita lalu selanjutnya kita install Nginx.

$ apt-get update
$ apt-get install nginx

Pada sistem operasi Ubuntu secara default terdapat firewall bernama ufw, agar Nginx kita dapat diakses kita perlu meng-allow Nginx pada ufw, jalankan command berikut untuk meng-allow Nginx pada ufw.

$ sudo ufw app list
Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS

Ada 3 pilihan profile untuk Nginx

  • Nginx Full: Ufw akan meng-allow port 80 (Unencrypted Traffic) dan 443 (SSL/Encrypted Traffic)
  • Nginx HTTP : Ufw akan meng-allow port 80 saja ((Unencrypted Traffic)
  • Nginx HTTPS : Ufw akan meng-allow port 443 saja¬†(SSL/Encrypted Traffic)

Pada tulisan ini kita akan mengallow Nginx pada port 80 dan 443, untuk itu jalankan command

$ sudo ufw allow 'Nginx Full'

Untuk mengecek service yang di allow di ufw kita dapat menjalankan command berikut:

$ sudo ufw status

Untuk mengecek status service Nginx jalankan command berikut:

$ systemctl status nginx

Untuk mencoba Nginx pada browser cukup ketikkan ip address atau nama domain yang di pointing ke IP Server.

Setelah instalasi Nginx kita akan membahas Instalasi Certbot untuk memasang SSL pada server milik kita. Namun sebelum kita memulai instalasi Cerbot kita perlu melakukan pointing domain ke IP Server kita terlebih dahulu. Untuk tulisan ini saya menggunakan domain monitoring.linuxnoobs.xyz .

Selanjutnya add repository cerbot dan update repository pada server, dan setelah selesai install paket certbot pada server.

$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx

Setelah itu edit file konfigurasi Nginx dan tambahkan nama domain milik kita pada bagian server_name

$ sudo nano /etc/nginx/sites-available/default
. . .
server_name monitoring.linuxnoobs.xyz;
. . .

Setelah selesai save dan exit, lalu cek apakah syntax Nginx sudah benar dan restart servicenya dengan command berikut:

$ sudo nginx -t
$ sudo systemctl reload nginx

Saat ini kita akan memulai instalasi SSL pada server milik kita, jalankan command berikut untuk memulai:

$ sudo certbot --nginx -d monitoring.linuxnoobs.xyz

Selanjutnya kita akan diminta untuk memasukkan email milik kita dan akan muncul popup yang menanyakan konfigurasi untuk redirecting htttp.

Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Pilih sesuai konfigurasi yang kita inginkan, dan setelah selesai Nginx akan mereload service.

Cek apakah SSL sudah berhasil terinstall dengan mencoba dibrowser, apabila sudah berhasil maka akan muncul simbol gembok pada browser kita.

Author: Andreas Eko Widodo

A Linux Technology Enthusiast, Amateur Blog Writer, Amateur System and DevOps Engineer.

Please follow and like us: