Dalam tutorial ini, saya tuliskan step by step bagaimana membuat sertifikat SSL valid untuk keperluan di localhost. Untuk keperluan ini, digunakan beberapa alat sebagai berikut:
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
Instalasi linuxbrew
Instalasi mkcert dilakukan dengan menggunakan bantuan package manager linuxbrew. Berikut ini cara instalasi linuxbrew:
sudo apt-get install build-essential curl file git
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
Instalasi mkcert
brew install mkcert
mkcert -h
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:
|
|
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: