Cara Install SSL Let’s Encrypt pada Nginx di CentOS 7

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 CentOS 7 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 CentOS 7

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

  • VPS dengan OS CentOS 7
  • Domain yang sudah diarahkan ke alamat IP VPS.
  • Akses root.

Instalasi SSL Let’s Encrypt ada dilakukan dengan beberapa langkah di bawah ini.

  • Update Server
  • Install Firewall
  • Install Certbot
  • Install Sertifikat SSL
  • Setting Virtual Configuration Nginx
  • Tes SSL

Simak penjelasannya berikut ini.

Update Server

Login sebagai root dan perbarui package yang ada pada server agar up-to-date.

$ yum update -y
$ reboot

 

Install beberapa packages yang dibutuhkan.

$ yum 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 hasil konfigurasi yang sudah diperbarui.

$ csf -r 

 

Baca Juga: Cara Install WHM, cPanel, PHP dan Firewall pada Server CentOS 7

Install Certbot

Kemudian kamu perlu menginstal Let’s Encrypt Client, yaitu Certbot. Namun sebelum itu, kamu memerlukan repositori bernama EPEL Repository. Ikuti perintah berikut:

$ yum install epel-release -y 

 

Kemudian install Certbot Nginx.

$ yum install certbot-nginx

 

Install Sertifikat SSL

Di langkah ini, kamu perlu mengambil sertifikat untuk nama domain yang digunakan. Nama domain yang digunakan pada cara install SSL dengan Nginx di CentOS 7 ini adalah vps201.dewiweb.net. 

$ certbot --nginx

 

Kemudian akan ada beberapa hal yang perlu dijawab seperti di bawah ini.

Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): (masukkan alamat email kamu).


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, 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 hal lain yang berkaitan dengan Certbot, maka pilih N (No). Tapi jika kamu ingin berlangganan email, pilih Y (Yes).

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: vps201.dewiweb.net
2: www.vps201.dewiweb.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1


Kalau kamu sudah memiliki pengaturan konfigurasi virtual dan pada server_name sudah didefinisikan nama domainnya, maka Certbot akan secara otomatis mendeteksi. Namun, jika server kamu baru saja diinstal, maka kamu perlu memasukkan nama domainnya secara manual.

Baca juga: Cara Manual Install Moodle di CentOS Web Panel (CWP)

Salah satu kelebihan yang didapat jika nama domainmu sudah terdeteksi, Certbot akan langsung melakukan instalasi dan mengatur konfigurasinya secara otomatis, konfigurasi yang dilakukan secara otomatis oleh Certbot ditandai dengan “# managed by Certbot”.

Setelah pengambilan sertifikatnya berhasil, maka akan keluar output di bawah ini.

Requesting a certificate for vps201.dewiweb.net
Resetting dropped connection: acme-v02.api.letsencrypt.org
Performing the following challenges:
http-01 challenge for vps201.dewiweb.net
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/vps201.dewiweb.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/vps201.dewiweb.conf

 

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

 

Baca Juga: Cara Install Candy CBT dengan Nginx di VPS CentOS 7

Setting Virtual Configuration Nginx

Meski Certbot sudah melakukan instalasi secara otomatis, tapi pengaturannya belum up-to-date. Oleh karena itu, kamu perlu melakukan pembaruan (update) untuk mendapatkan SSL dengan rating grade A+.

 

Ubah pengaturan SSL pada:

$ nano /etc/letsencrypt/options-ssl-nginx.conf

#SSL
        # Use certificate and key provided by Let's Encrypt:
        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;

 

Kemudian simpan dan keluar. Setelah itu, tambahkan script berikut di bawah script “ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot“.

$ nano /etc/nginx/conf.d/vps201.dewiweb.conf


### code ###
ssl_trusted_certificate /etc/letsencrypt/live/vps201.dewiweb.net/fullchain.pem;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
### code ###

 

Lalu simpan dan keluar. Tambahan informasi, ### code ### adalah script yang sudah ada pada konfigurasi virtual kamu sebelumnya. Jika sudah, verifikasi perubahan konfigurasi kamu 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 layanan Nginx dengan:

$ systemctl restart nginx

 

Tes SSL

Cara install SSL Let’s Encrypt pada Nginx di CentOS 7 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 centos 7 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 centos 7

Baca Juga: Cara Install Moodle di VPS CentOS 7

Simpulan

Setelah mengikuti cara install sertifikat SSL dengan web server Nginx di CentOS 7, 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 CentOS 7 ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Semoga artikel ini membantu, salam sukses online!