Cara Install SSL Let’s Encrypt pada Apache di CentOS 8

Keamanan sudah menjadi salah satu elemen wajib yang kamu kelola saat memiliki website maupun server. Menggunakan SSL bisa menjadi salah satu cara meningkatkan keamanan pada website hingga berbagai jenis web server. Di artikel ini, kamu akan mempelajari cara install SSL Let’s Encrypt pada Apache di server CentOS 8.

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

Langkah Install SSL Let’s Encrypt pada Apache di CentOS 8

Ada beberapa hal yang perlu kamu siapkan untuk menjalankan cara install SSL Let’s Encrypt pada Apache di CentOS 8, yaitu:

Kemudian, berikut ini adalah beberapa poin yang akan dijalankan:

  • Update Server
  • Install Firewall
  • Install Certbot
  • Install SSL Certificate
  • Setting Virtual Configuration Apache
  • Testing

Simak penjelasannya di bawah ini.

Update Server

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

$ dnf update -y
$ reboot

 

Install beberapa packages yang dibutuhkan.

$ dnf 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). Namun, instalasi CSF di CentOS 8 sedikit berbeda dengan OS lain. Lakukan dengan perintah di bawah ini:

$ cd /usr/src
$ wget https://download.configserver.com/csf.tgz 
$ tar -xzf csf.tgz

 

Install & Create directory iptables

$ dnf install iptables-services -y
$ touch /etc/sysconfig/iptables
$ touch /etc/sysconfig/iptables6

 

Install CSF

$ cd csf/
$ sh install.sh
$ perl /usr/local/csf/bin/csftest.pl

 

Edit csf.conf lalu ubah value “make TESTING” menjadi 0.

$ nano /etc/csf/csf.conf
make TESTING=’0’

 

Jika sudah, simpan dan keluar. Lalu reload CSF dengan perintah di bawah ini.

$ csf -r

 

Install Certbot

Kamu perlu meng-install Let’s Encrypt Client, yaitu Certbot. Certbot tidak tersedia pada package manager secara default, maka kamu perlu mengaktifkan repositori EPEL.

$ dnf install epel-release

 

Install packages yang dibutuhkan.

$ dnf install certbot python3-certbot-apache mod_ssl -y

 

Kemudian start layanan Apache.

$ systemctl start httpd

 

Baca Juga: Masalah SSL Error pada Website dan Cara Mengatasinya

Install SSL Certificate

Di langkah install SSL SSL Let’s Encrypt pada Apache di CentOS 8 ini, kamu perlu mengambil sertifikat pada domain yang digunakan. Domain yang kami gunakan untuk tes di sini adalah vps201.dewiweb.net. Kamu bisa mengubahnya sesuai nama domain yang kamu gunakan.

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


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

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

 

Jika domain kamu dikenali oleh Certbot maka akan terlihat seperti di atas, namun jika tidak, maka kamu perlu menambahkan nama domainmu secara manual. Kemudian jika berhasil, akan muncul output seperti di bawah ini.

Requesting a certificate for vps201.dewiweb.net
Performing the following challenges:
http-01 challenge for vps201.dewiweb.net
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/httpd/conf.d/vps201.dewiweb-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/vps201.dewiweb-le-ssl.conf
Redirecting vhost in /etc/httpd/sites-enabled/vps201.dewiweb.net.conf to ssl vhost in /etc/httpd/sites-available/vps201.dewiweb.net-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://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 Apache

Tambahkan script SSL di bawah ini untuk mendapatkan grade A+ pada file konfigurasi virtual domain pada web server Apache kamu. Mengingat domainmu sudah dikenali oleh Certbot, maka Certbot akan melakukan instalasi secara otomatis. Namun, ada beberapa hal yang perlu diubah untuk mendapatkan grade sertifikat yang lebih baik, yaitu A+. Caranya, ubah pengaturan SSL:

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

SSLProtocol            all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite            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


Kemudian simpan dan keluar. Lalu tambahkan script berikut untuk mengaktifkan HSTS pada web server Apache kamu. Tambahkan sebelum tag </VirtualHost>.

$ nano /etc/httpd/conf.d/vps201.dewiweb-le-ssl.conf

### code ###
Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains;"
### code ###


Lalu simpan dan keluar.

 

Note: ### code ### adalah script yang sudah ada pada konfigurasi virtual kamu sebelumnya.

 

Jika sudah selesai, verifikasi perubahan konfigurasi kamu dengan perintah di bawah ini.

$ apachectl configtest
Syntax OK

 

Restart layanan web server Apache.

$ systemctl restart httpd

 

Testing

Cara terakhir untuk meng-install SSL Let’s Encrypt pada Apache di CentOS 8 adalah mengetes sertifikat SSL, apakah sudah terpasang dengan baik atau belum. Caranya, kunjungi SSL Labs untuk mengetahui grade sertifikat SSL kamu. Kemudian akan muncul hasil tesnya seperti gambar berikut.

grade sertifikat SSL Let’s Encrypt pada Apache di CentOS 8 a plus

Baca Juga: Cara Install Mikrotik CHR pada Server dengan CentOS 8

Simpulan

Tutorial ini tidaklah sulit jika kamu mengikuti instruksi di artikel ini dengan tepat. Demikian cara install SSL Let’s Encrypt pada Apache di CentOS 8. Selalu ingat untuk memilih layanan server VPS dan cloud hosting terbaik agar website-mu cepat, aman, dan selalu bisa diandalkan, ya!

Jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb. Semoga artikel ini membantu, salam sukses online!