Panduan Instalasi SSL ITB (Apache)
SSL ITB hanya meng-cover wildcard satu tingkat sub-domain (*.itb.ac.id) untuk website dengan multi level sub-domain bisa mengikuti panduan pengimplementasian free SSL (Let's Encrypt)
- Pastikan sudah memiliki SSL ITB terbaru yang berlaku
- Lakukan extract pada file arsip SSL ITB, pada arsip tersebut sudah terdapat file sertifikat (.crt) & private key (.key) sebagai file utama yang akan digunakan
- Simpan file SSL pada direktori yang aman atau direktori yang khusus untuk penyimpanan SSL agar memudahkan apabila ada proses pembaharuan nantinya
#contoh penyimpanan file SSL sudo mkdir -p /etc/ssl/<tahun berlaku> sudo cp <nama file SSL>.crt /etc/ssl/<tahun berlaku> sudo cp <nama file private key>.key /etc/ssl/<tahun berlaku> sudo cp <nama file CA Bundle>.crt /etc/ssl/<tahun berlaku>
- Masuk ke dalam file konfigurasi nginx web server yang digunakan biasanya terletak pada path direktori
sudo nano /etc/apache2/sites-available/<nama file config>.conf #pastikan sites-available sudah sync (ln -s) dengan sites-enable
- Tambahkan konfigurasi pemanggilan SSL yang telah disimpan sebelumnya
<VirtualHost *:443> ServerName <nama domain>.com DocumentRoot /var/www/<path website> SSLEngine on SSLCertificateFile /etc/ssl/<tahun berlaku>/<nama file SSL>.crt SSLCertificateKeyFile /etc/ssl/<tahun berlaku>/<nama file private key>.key SSLCertificateChainFile /etc/ssl/<tahun berlaku>/<nama file CA bundle>.crt <Directory /var/www/<path website>> AllowOverride All </Directory> </VirtualHost>
SSLCertificateFile Menunjuk ke lokasi sertifikat SSL disimpan SSLCertificateKeyFile Menunjuk ke lokasi private key disimpan SSLCertificateChainFile Menunjuk ke lokasi CA Bundle disimpan UntukSetelah konfigurasi selesai ditambahkan simpan perubahan dan tutup, Lalu untuk melakukan pointing HTTP (80) ke HTTPS (443) tambahkan juga konfigurasi redirectnya pada file config
serversudo{nanolisten/etc/apache2/sites-available/000-default.conf80;- Tambahkan atau ubah syntax menjadi redirect command seperti pada panduan berikut
<VirtualHost *:80> ServerName <nama domain>.
com;comreturnRedirect301permanent / https://$host$request_uri; } server { listen 80; server_name<nama domain>.com;com/return 301 https:<//$host$request_uri; }VirtualHost>- Setelah konfigurasi selesai ditambahkan simpan perubahan dan tutup, lalu aktifkan SSL dan virtual host untuk file config yang telah selesai diubah, setelahnya lakukan restart atau reload pada service apache
sudo a2enmod ssl sudo a2ensite <nama file config> sudo systemctl reload apache2
Setelah konfigurasi selesai ditambahkan simpan perubahan dan tutup, lalu lakukan pengecekan konfigurasi nginx untuk memastikan tidak ada error yang diakibatkan konfigurasi yang ditambahkan, setelah memastikan konfigurasi aman lakukan restart pada service nginx#nginx -t untuk melakukan pengetesan file config sudo nginx -t #restart atau reload file nginx sudo systemctl reload nginx sudo systemctl restart nginx- Setelah
nginxapache service selesai di restart, SSL dan HTTPS seharusnya sudah berhasil aktif pada saat website diakses dengan indikator gembok terkunci.