SSL adalah sebuah teknologi yang berfungsi untuk menjaga koneksi internet tetap aman dan menjaga data sensitif apa pun yang sedang dikirim antara dua sistem.
Jaman sekarang, kebanyakan website di internet sudah menggunakan ssl sob, bahkan sejak Juli 2018 lalu browser chrome menandai website tanpa SSL dengan istilah “not secure”.
Dalam konteks dunia perhostingan. SSL bisa dipasang di hosting dengan cara install ssl di cPanel hosting atau dipasang di VPS.
Dengan mengikuti panduan ini, kamu akan bisa install SSL di VPS yang menggunakan webserver Apache. Cuss ikuti tutorialnya sob!
Prasyarat
Ada beberapa syarat yang harus kamu penuhi agar berhasil mengikuti panduan ini:
- Sudah punya sertifikat SSL atas nama domainkamu. Beli vps dengan cara order SSL di JagoanHosting .
- Siapkan file certificate SSL kamu, ini bisa didapatkan setelah beli tadi, kamu aktivasi dengan tutorial aktivasi SSL.
- Punya VPS dan bisa diremote melalui SSH.
Siapkan CRT, Private key dan Ca-bundle SSL
Umumnya ada tiga bahan yang perlu disiapkan untuk install SSL di vps, berikut penjelasan masing masingnya :
- Private Key
Private key adalah kunci untuk membuka CRT dan CA-Bundle. Nah kunci ini kamu dapatkan / simpan saat awal melakukan generate CSR. Coba cek tutorial aktivasi SSL langkah awal ini.
Kalau kunci ini hilang, kamu perlu melakukan reissue SSL untuk membuat kunci yang baru.
Kalau kamu buka file private key, maka dibagian atas ada tulisan seperti ini :
—–BEGIN PRIVATE KEY—–
- CRT (Certificate)
File ini adalah certificate utama dari domain kamu, didapatkan setelah proses aktivasi SSL selesai dilakukan.
Yang paling terlihat itu, nama filenya tidak mengandung unsur kata-kata CA. Seperti apa itu ? Cek penjelasan CA-Bundle dibawah ini.
- CA-Bundle SSL
CA merupakan Certificate Authority yang menunjukkan SSL ini benar-benar valid diberikan oleh otoritas yang berwenang. Biasanya terdiri dari dua atau lebih file CA, yang perlu kamu gabung secara manual, agar menjadi CA-Bundle.
Nah pas kamu download file itu, berupa zip yang isinya ada tiga file CA dan satu file CRT.
CRT yang ada di zip itu sama dengan CRT yang kamu download tadi, abaikan file satu ini.
Yang penting ada 3 file lain mengandung unsur nama CA, perlu kamu gabung jadi satu agar jadi Bundle.
Caranya buka file CA satu persatu, copy dan pastekan isinya ke file baru (text editor seperti notepad atau gedit).
Susun berurutan tanpa spasi, mulai dari ChainCA2,ChainCA1 dan RootCA.
Rekap hasil akhir dari aktivitas ini, kamu akan mendapatkan tiga file yang terdiri dari Private key, CRT dan Ca-Bundle. Ubah namanya agar lebih simple dan siapkan dalam satu folder yang sama.
Setelah semua persiapan sudah kamu lakukan, berikutnya kamu akan melakukan install SSL dengan webserver apache. Sesuaikan dengan webserver yang kamu gunakan ya sob!
Install SSL di Apache
1. Aktifkan modul ssl di apache
Untuk mengaktifkan modul ssl, pertama lakukan install lalu restart servis apachenya. Sesuaikan dengan distro vps kamu :
a2enmod ssl service apache2 restart yum -y install mod_ssl systemctl restart httpd.service
Berikutnya kamu perlu membuat sebuah folder, yang berfungsi untuk menaruh certificate SSL domain kamu. Kamu akan buat folder private dibawah direktori /etc/ssl/ gunakan perintah :
mkdir -p /etc/ssl/private chmod 700 /etc/ssl/private
Selanjutnya upload certificate SSL kamu ke server, kamu bisa menggunakan Filezilla untuk upload file. Dibagian setting host kamu bisa isi seperti ini :
Keterangan:
Host , diisi alamat ip server vps
Username, diisi username untuk masuk ssh, biasanya root
Password, isikan dengan password user
Port, isikan dengan 22 (Kita akan masuk melalui sftp)
Arahkan Remote site ke direktori /etc/ssl/private
Kemudian bagian panel kiri adalah lokal komputer / laptop kamu, pilih semua kemudian drag file SSLnya ke Remote site
Antara centos dan ubuntu memiliki sedikit perbedaan untuk settingnya, jadi sesuaikan dengan distro kamu ya
sudo vi /etc/apache2/sites-enabled/default-ssl.conf … SSLEngine on SSLCertificateFile /etc/ssl/private/certificate.crt SSLCertificateKeyFile /etc/ssl/private/private.key SSLCertificateChainFile /etc/ssl/private/ca-bundle.crt …
Lalu restart apache dengan perintah :
service apache2 restart
Untuk setup virtualhost agar menampilkan ssl, edit file yang bernama ssl.conf. Gunakan perintah ini :
sudo vi /etc/httpd/conf.d/ssl.conf
<VirtualHost *:443> DocumentRoot /var/www/html ServerName www.namadomain.com SSLEngine on SSLCertificateFile /etc/ssl/private/certificate.crt SSLCertificateKeyFile /etc/ssl/private/private.key SSLCertificateChainFile /etc/ssl/private/ca-bundle.crt </VirtualHost>
Ubah bagian yang di bold, sesuaikan dengan namafile yang sudah kamu upload tadi.
Untuk redirect semua traffic agar menjadi SSL, buat sebuah file berakhiran .conf di direktori /etc/httpd/conf.d
sudo vi /etc/httpd/conf.d/namadomainku.conf <VirtualHost *:80> ServerName www.namadomain.com Redirect “/” “https://www.namadomain.com/” </VirtualHost>
Selanjutnya test konfigurasi yang sudah dilakukan, lalu restart service httpd
apachectl configtest systemctl restart httpd
Install SSL di Nginx
Berikutnya kamu perlu membuat sebuah folder, yang berfungsi untuk menaruh certificate SSL domain kamu. Kamu akan buat folder private dibawah direktori /etc/ssl/ gunakan perintah :
mkdir -p /etc/ssl/ chmod 700 /etc/ssl/
Selanjutnya upload certificate SSL kamu ke server, kamu bisa menggunakan Filezilla untuk upload file. Dibagian setting host kamu bisa isi seperti ini :
Keterangan:
Host , diisi alamat ip server vps
Username, diisi username untuk masuk ssh, biasanya root
Password, isikan dengan password user
Port, isikan dengan 22 (Kita akan masuk melalui sftp)
Arahkan Remote site ke direktori /etc/ssl/
Kemudian bagian panel kiri adalah lokal komputer / laptop kamu, pilih semua kemudian drag file SSLnya ke Remote site
Setelah selesai menggabungkan file sertifikat, selanjutnya konfigurasikan blok server NGINX (file virtual host) untuk server kamu.
Jika kamu tidak mengetahui lokasi file tersebut, jalankan perintah:
sudo find nginx.conf
Buka file untuk melakukan modifikasi yang diperlukan, untuk masuk ke dalam file jalankan perintah berikut :
nano nginx.conf
Kemudian edit file konfigurasi dengan mengganti beberapa baris, yaitu :
- Ganti port 443: listen 443;
- Pastikan blok server menyertakan baris: ssl on;
- Tentukan jalur sertifikat SSL: ssl_certificate /etc/ssl/ssl-bundle.crt;
- Tentukan direktori tempat Kunci Sertifikat SSL berada: /path/ke/private.key;
File konfigurasi akan menjadi seperti berikut :
server { listen 443; ssl on; ssl_certificate /etc/ssl/ssl-bundle.crt; ssl_certificate_key /etc/ssl/private.key; root /path/ke/webroot; server_name nama_domainmu.com; } access_log /var/log/nginx/nginx.vhost.access.log; error_log /var/log/nginx/nginx.vhost.error.log; location / { root /var/www/; root /home/www/public_html/namadomainmu.com/public/; index index.html; } }
Simpan dan keluar dari file dengan CTRL + X > Y > Enter. Kemudian restart server Nnginx dengan menjalankan perintah berikut :
sudo systemctl restart nginx
Untuk memastikan SSL berhasil terinstal di server Nginx kamu, buka domain di browser kamu dengan protokol https, contoh https://domainkamu.com.
Maka akan muncul gembok yang memverifikasi bahwa sertifikat SSL terinstal di server kamu.
Penutup
Pada dasarnya untuk memasang SSL di VPS kamu membutuhkan minimal dua certificate, yaitu CRT dan Privatekey, sedangkan CA-Bundle itu sifatnya optional saja.
Dipanduan ini kamu memasang SSL di webserver Apache dan Nginx. Mantap sob!