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 https://localhost/.
Membuat SSL Subdomain
Untuk membuat sertifikat SSL dengan subdomain misal demo.localhost, gunakan perintah berikut:
mkcert demo.localhost
Referensi: