Cara Mudah Install SSL di VPS
- Panduan Lengkap VM - Juli 29, 2024
- Panduan Pembayaran Via Bank Mandiri - Juli 2, 2024
- PHP X-Ray di cPanel untuk Optimasi Kecepatan Web - April 18, 2023
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.
Ciri - ciri private key :
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.
Ciri - ciri CRT :
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.
Simpan hasilnya beri nama ca-bundle.crt
Rekap Persiapan SSL
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
Diasumsikan server vps kamu sudah terinstall apache. Selanjutnya akses vps kamu secara remote melalui ssh. Gunakan panduan cara menggunakan ssh
1. Aktifkan modul ssl di apache
Untuk mengaktifkan modul ssl, pertama lakukan install lalu restart servis apachenya. Sesuaikan dengan distro vps kamu :
Ubuntu
a2enmod ssl service apache2 restart
Centos
yum -y install mod_ssl systemctl restart httpd.service
2. Buat folder tempat SSL
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
3. Upload SSL ke server
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)
Kemudian klik tombol Quickconnect, jika muncul warning Hostkey, no problem kamu tinggal tekan Ok
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
4. Setup Virtual Host
Antara centos dan ubuntu memiliki sedikit perbedaan untuk settingnya, jadi sesuaikan dengan distro kamu ya
Ubuntu
Edit file yang bernama default-ssl.conf
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 …
Restart Apache
Lalu restart apache dengan perintah :
service apache2 restart
Centos
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.
Redirect ke HTTPS
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>
Test dan restart HTTP
Selanjutnya test konfigurasi yang sudah dilakukan, lalu restart service httpd
apachectl configtest systemctl restart httpd
Install SSL di Nginx
Diasumsikan server vps kamu sudah terinstall nginx. Selanjutnya akses vps kamu secara remote melalui ssh. Gunakan panduan cara menggunakan ssh
1. Buat folder tempat SSL
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/
2. Upload SSL ke server
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)
Kemudian klik tombol Quickconnect, jika muncul warning Hostkey, no problem kamu tinggal tekan Ok
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
3. Setup Server Block (Virtual Host)
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;
NOTE : ssl-bundle.crt berisikan file certificate, CA2, CA1, ROOT
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
4. Verifikasi SSL
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!