Cara Install SSL Let’s Encrypt pada Apache di Debian 10

Cara Install SSL Let’s Encrypt pada Apache di Debian 10

Panduan cara install SSL di Debian cukup banyak dicari para pemilik website yang ingin meningkatkan keamanan website-nya. Debian memang menjadi salah satu sistem operasi berbasis Linux dengan komunitas yang cukup besar.

Alasan utama Debian banyak diminati karena sifatnya yang open source selayaknya Linux itu sendiri. Jadi, Debian ini bebas dikembang-gunakan oleh penggunanya secara gratis.

Sementara dalam ranah SSL (Secure Sockets Layer), salah satu yang paling sering digunakan adalah Let’s Encrypt. Organisasi non-profit di bawah naungan Linux Foundation ini menyediakan SSL gratis dengan enkripsi standar untuk seluruh pemilik website. Jika kamu menggunakan Debian 10, simak cara install SSL Let’s Encrypt pada web server Apache berikut ini!

Hal yang Harus Dipersiapkan

Ada beberapa hal yang perlu kamu persiapkan untuk meng-install SSL Let’s Encrypt di Apache di Debian 10, di antaranya:

  1. VPS dengan OS Debian 10.
  2. Domain yang sudah diarahkan ke alamat IP VPS.
  3. Akses root.

Pastikan kamu sudah memenuhi persyaratan di atas sebelum memulai instalasi.

Baca Juga: Cara Install SSL Let’s Encrypt pada Nginx di CentOS 8

Langkah Install SSL Let’s Encrypt pada Apache di Debian 10

Instalasi SSL Let’s Encrypt ada dilakukan dengan langkah utama berikut:

  1. Update server
  2. Install Firewall
  3. Install Snapd
  4. Install Certbot
  5. Install sertifikat SSL
  6. Setting Virtual Configuration Apache
  7. Tes SSL

Setelah memenuhi persyaratan tadi, mari langsung simak penjelasan cara instalasinya di bawah ini:

1. Update server

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

$ apt-get update -y 
$ reboot

Selanjutnya install beberapa packages yang dibutuhkan.

$ apt-get install nano perl wget -y

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

Ada sedikit perbedaan instalasi pada Debian 10, ikuti perintah di bawah ini.

Install packages libwww:

$ apt-get install libwww-perl -y
$ perl /usr/local/csf/bin/csftest.pl

Kemudian akan keluar output di bawah ini.

Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK

RESULT: csf should function on this server

Nonaktifkan firewalld:

$ systemctl stop firewalld 
$ systemctl disable firewalld

Pada konfigurasi CSF, ubah “make TESTING=’1’ menjadi 0”.

$ nano /etc/csf/csf.conf

Restart dan tes CSF:

$ systemctl restart {csf,lfd} 
$ systemctl enable {csf,lfd} 
$ systemctl is-active {csf,lfd}

Kemudian restart CSF agar dapat me-reload hasil konfigurasi yang sudah diperbarui.

$ csf -r

Baca Juga: Mengenal Jenis Firewall untuk Menjaga Keamanan Data

3. Install Snapd

Kamu memerlukan snapd untuk meng-install Certbot yang dapat mengeluarkan sertifikat SSL melalui Apache untuk Debian 10. Snapd adalah package manager aplikasi yang dikembangkan oleh Canonical. Proses instalasi paket snapd nantinya juga akan meng-install snap di server.

$ apt-get install snapd

Kemudian, gunakan snap untuk meng-install core snap, proses ini akan sekaligus menginstal beberapa dependencies yang dibutuhkan server. Termasuk Certbot snap.

$ snap install core

Lalu, refresh core snap untuk memastikan bahwa kamu memiliki versi terbaru pada snapd dan dependencies yang di-install.

$ snap refresh core

Jika keluar output:

snap "core" has no updates available

Artinya kamu sudah menggunakan versi paling baru.

4. Install Certbot

Langkah selanjutnya adalah meng-install Let’s Encrypt Client, yaitu Certbot.

$ snap install --classic certbot

Mengingat pada tutorial ini menggunakan snapd untuk instalasi Certbot, maka direktorinya berada pada /snap/bin/certbot. Buat symbolic link (Symlink) dari direktori tersebut ke /usr/bin/certbot agar perintah dapat dieksekusi di path manapun tanpa perlu mengakses /snap/bin/certbot terlebih dulu.

$ ln -s /snap/bin/certbot /usr/bin/certbot

5. Install sertifikat SSL

Langkah selanjutnya adalah membuat Certbot menerbitkan sertifikat untuk nama domain yang kamu gunakan. Di artikel ini, kami menggunakan nama domain vps146.dewiweb.net. Ikuti perintah di bawah ini untuk mengambil sertifikat SSL Let’s Encrypt.

$ certbot --apache

Akan ada beberapa form yang perlu diisi untuk dapat melanjutkan proses instalasinya.

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

 

Kami memilih N (No) karena tidak ingin berlangganan email campaign, tapi jika kamu ingin mendapatkan email rutin mengenai news, campaign, dan hal lainnya yang berhubungan dengan Certbot, kamu bisa pilih Y (Yes).

Account registered.

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: vps146.dewiweb.net
2: www.vps146.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

 

Secara default, Certbot akan mengidentifikasi nama domain kamu berdasarkan pengaturan ServerName yang kamu deklarasikan di virtual host Apache. Jika kamu belum memiliki pengaturan di virtual host Apache, maka kamu perlu memasukkan nama domainnya secara manual. Kelebihan dari hasil pengaturan yang sudah terdeteksi adalah Certbot akan langsung melakukan instalasi dan konfigurasi secara otomatis.

Baca Juga: Cara Konfigurasi Virtual Host di Apache

Setelah instalasinya berhasil, maka akan keluar output di bawah ini.

Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Requesting a certificate for vps146.dewiweb.net
Performing the following challenges:
http-01 challenge for vps146.dewiweb.net
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/vps146.dewiweb-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/vps146.dewiweb-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/vps146.dewiweb-le-ssl.conf
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/vps146.dewiweb.conf to ssl vhost in /etc/apache2/sites-available/vps146.dewiweb-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://vps146.dewiweb.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Path file sertifikat berada pada:

/etc/letsencrypt/live/vps146dewiweb.net/fullchain.pem

 

Sementara Path file Private Key berada pada:

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

6. Setting Virtual Configuration Apache

Certbot memang sudah melakukan instalasi SSL secara otomatis, namun pengaturannya belum up-to-date. Oleh karena itu, kamu perlu melakukan update agar bisa mendapatkan sertifikat SSL dengan rating grade A+.

Ubah pada pengaturan SSLProtocol dan SSLCipherSuite SSL pada:

$ 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. Setelah itu, tambahkan script berikut untuk mengaktifkan HSTS di web server Apache kamu. Tambahkan sebelum tag </VirtualHost>.

$ nano /etc/apache2/sites-available/vps146.dewiweb-le-ssl.conf 

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

Jangan lupa simpan, lalu keluar. Tambahan informasi, ### code ### adalah script yang sudah ada pada konfigurasi virtual kamu sebelumnya. Jika sudah selesai, aktifkan modul headers di Apache.

$ a2enmod headers

Restart Apache.

$ systemctl restart apache2

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

$ apachectl configtest 
Syntax OK

Kemudian restart Apache sekali lagi.

$ systemctl restart apache2

7. Tes SSL

Tutorial cara install SSL pada Apache di Debian 10 hampir selesai. Langkah terakhir yang perlu kamu lakukan adalah mengetesnya, apakah sertifikat SSL sudah ter-install dengan baik atau belum.

Caranya, klik ikon gembok di sebelah kiri URL bar web browser kamu, lalu lakukan tes sertifikat SSL di SSL Labs untuk mengetahui grade SSL yang terpasang di website-mu. Gambar berikut akan muncul setelah kamu mengklik ikon gembok.

install ssl dengan apache di debian 10 grade ssl lets encrypt ok

Baca Juga: Cara Install Let’s Encrypt SSL pada Nginx di CentOS7

Kemudian, masukkan nama domainmu di SSL Labs, setelah menunggu beberapa saat hingga laporannya muncul, kamu akan melihat tampilan yang kurang lebih terlihat seperti berikut ini.

install ssl dengan apache di debian 10 berhasil ssl labs grade a+

Baca Juga: Tutorial Instalasi SSL di Web Server Apache untuk CentOS 7

Pakai SSL untuk Amankan Website!

Setelah mengikuti cara install sertifikat SSL dengan web server Apache di Debian 10, seharusnya saat ini website-mu sudah memiliki koneksi yang aman dengan grade A+. Apabila terjadi masalah seperti error setelah pemasangan, kamu bisa mengunjungi artikel Masalah SSL Error pada Website dan Cara Mengatasinya untuk mencari solusinya.

Jika website kamu belum dilengkapi SSL, segera 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.

spesifikasi ssl dewaweb

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!