Sebenarnya saya pernah membuat tutorial tentang bagaimana membuat SSL valid untuk digunakan di localhost. Tutorial yang saya maksud tersebut bisa diakses di pranala https://hanifmu.com/posts/membuat-sertifikat-ssl-valid-untuk-localhost/.

Karena tutorial yang saya buat tersebut di atas —menurut saya— terlalu banyak langkah-langkah yang harus dieksekusi dalam membuat SSL valid untuk localhost, maka saya membuat ulang tutorial tersebut tentu saja dengan langkah-langkah yang lebih sederhana.

Catatan: Saya menggunakan sistem operasi Linux Mint 20.2 Uma dalam membuat tutorial ini.

Sekilas Tentang mkcert

mkcert adalah alat yang dapat kita digunakan untuk membuat sertifikat SSL valid untuk digunakan hanya di localhost saja.

Instalasi certutil

sudo apt install libnss3-tools -y

Instalasi mkcert

Unduh berkas instalasi mkcert di https://github.com/FiloSottile/mkcert/releases.

Saat tutorial ini ditulis, versi terbaru mkcert adalah v1.4.3.

wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
sudo cp mkcert-v1.4.3-linux-amd64 /usr/local/bin/mkcert
sudo chmod +x /usr/local/bin/mkcert

Membuat Sertifikat SSL

Buat Local CA terlebih dahulu dengan perintah berikut:

mkcert -install
mkcert -CAROOT

Dalam contoh ini, kita membuat sertifikat SSL untuk localhost.

mkdir ~/ssl
cd ~/ssl
mkcert localhost

Perintah di atas akan menghasilkan 2 file, yakni file sertifikat (localhost.pem) dan private key (localhost-key.pem).

ls

Menggunakan Sertifikat SSL di Apache2

Sertifikat yang sudah kita buat selanjutnya dapat kita gunakan di web server Apache2. Bila belum melakukan instalasi web server Apache2, gunakan perintah berikut:

sudo apt install apache2

Kemudian pindahkan file sertifikat yang sudah kita buat dengan perintah berikut:

sudo mv ~/ssl/localhost.pem /etc/ssl/certs/
sudo mv ~/ssl/localhost-key.pem /etc/ssl/private/

Selanjutnya kita sesuaikan virtualhost localhost (port 443).

sudo vi /etc/apache2/sites-available/default-ssl.conf

Sesuaikan bagian berikut:

31
32
33
34
35
# baris ke 32
SSLCertificateFile /etc/ssl/certs/localhost

# baris ke 33
SSLCertificateKeyFile /etc/ssl/private/localhost-key.pem

Aktifkan modul SSL Apache2 dan virtualhost localhost (port 443).

sudo a2enmod ssl
sudo a2ensite default-ssl.conf

Muat ulang Apache2.

sudo systemctl restart apache2
sudo systemctl status apache2

Percobaan Akses

Gunakan browser dan akses alamat localhost.

Membuat SSL Subdomain

Untuk membuat sertifikat SSL dengan subdomain misal demo.localhost, gunakan perintah berikut:

mkcert demo.localhost

Referensi: