0

Beli SSL dan pasang HTTPS untuk website di server VPS

Beli SSL dan pasang HTTPS untuk website di server VPS.


Disini saya akan mendemonstrasikan cara beli SSL dan pasang HTTPS ke website latcoding menjadi https://latcoding.com atau https://www.latcoding.com.

SSL jika dipasang ke HTTP akan menjadi HTTPS (Secure).

HTTP + SSL = HTTPS


Berikut komponen yang saya gunakan:

  • VPS di cloud AWS (EC2 Instance)
  • Ubuntu 18.04
  • SSL Global Sign (Alpha SSL)
  • Webserver Apache


Daftar isi artikel:

Beli SSL

Saya beli SSL di rumahweb.com.

Harap daftar dulu di rumahweb.com, jika sudah login dan masuk ke halaman dashboard. Kita akan order SSL dari halaman dashboard.

Klik Order -> Internet Security -> Sertifikat SSL -> Klik Order

Klik SSL Saja -> masukkan nama domain latcoding.com, klik Cari domain kamu .. Beberapa saat akan muncul nama domainnya di hasil pencarian, klik Next

Pilih Providernya, SSL Global Sign -> Paket GlobalSign Starndard AlphaSSL.

Sebenarnya ada beberapa provider SSL lain, yaitu Sectigo, Entrust. Tapi kita pilih SSL Global Sign (Standard AlphaSSL) karena kita mau tempelkan SSLnya ke https://www.latcoding.com dan https://latcoding.com. Bisa dilihat disitu ada keterangan single (includes www) artinya SSL bisa dipakai ke www juga.

Biayanya kira-kira 170 ribuan (harga 13 Agustus 2023). Kalau sudah klik Lanjut.

Beli SSL dan pasang HTTPS

Lanjutkan pilih pembayaran, disini saya pilih VA BCA. Klik Tidak menggunakan pada faktur pajak, karena saya tidak memerlukan faktur pajak

Ringkasan pembayaran, termasuk PPN totalnya menjadi Rp. 192.300.

Klik CHECKOUT

Setelah itu lakukan pembayaran ke VA BCA, bisa melalui mobile banking.


Konfigurasi SSL

Ada beberapa langkah untuk mengkonfigurasi SSL:

Buat CSR (Certificate Signing Request)

Setelah pembayaran berhasil, status SSL akan Active namun belum bisa digunakan. Kita perlu mengkonfigurasinya terlebih dahulu dengan membuat CSR dan merequest SSLnya. Klik Manage untuk masuk ke detail.

Beli SSL dan pasang HTTPS

Disitu statusnya Awaiting Configuration, artinya konfigurasi SSL belum dibuat. Klik Manage SSL untuk membuat konfigurasi SSL


Kita perlu membuat CSR (Certificate Signing Request) agar SSLnya bisa dikeluarkan/issued. CSR berisi Country, Email, Common Name, dll.

Buat CSR, masuk ke terminal VPS, jalankan command berikut:

openssl req -new -newkey rsa:2048 -nodes -keyout latcodingcom.key -out latcodingcom.csr

File CSR kita namakan latcodingcom.csr, sedangkan latcodingcom.key merupakan private key. Private key digunakan untuk mendecrypt packet yang diencrypt oleh browser. Intinya private key ini jangan sampai hilang, simpan baik-baik nanti kita akan gunakan pada saat konfigurasi vhost/virtualhost apache.

Pada gambar diatas isikan Country Name, Province, Locality Name, dll isikan sesuai lokasi kalian berada.

Yang paling penting disini adalah Common Name isikan dengan nama domain kalian. Diawali dengan www, contoh www.latcoding.com karena nanti kita mau kaitkan httpsnya ke www juga.

Setelah menjalankan command diatas akan tergenerate 2 file:

Setelah itu copy isi dari latcodingcom.csr ke form CSR tadi, klik Lanjutkan

Contact Validation

Step berikutnya validasi kontak. Kita disuruh memasang kode validasi untuk memastikan request SSL memang benar diajukan oleh pemilik domain.

Ada 3 jenis kontak validasi:

  • DNS Record
    Kode validasi disisipkan pada TEXT record pada DNS domain (dalam contoh ini latcoding.com)
  • Email
    URL validasi akan dikirimkan ke email yang memiliki domain latcoding.com, misal admin@latcoding.com. Kita butuh mailserver di latcoding.com jika ingin menggunakan metode ini
  • URL
    Kode validasi disisipkan ke website latoding.com, misal http://latcoding.com/.well-known/pki-validation/09934332338.txt

Saya pilih DNS Record, karena caranya relatif mudah. Klik Lanjutkan

Sekarang bisa dilihat status requestnya Awaiting For Validation, artinya sedang menunggu untuk divalidasi. Sekarang tinggal buat TEXT recordnya, masuk lagi ke Manage SSL

Beli SSL dan pasang HTTPS

Copy value TEXT record (_globalsign.domain.verificationxx)

Beli SSL dan pasang HTTPS

Pada DNS latcoding.com, buat record baru TXT dan isikan valuenya dengan (_globalsign.domain.verificationxx), klik Create records

Beli SSL dan pasang HTTPS

Tunggu beberapa saat (max 24jam), certificate akan di issued. Ada beberapa certificate nanti: CSR, rootCert, interCert, X509Cert, PKCS7Cert. Tapi yang akan kita gunakan hanya X509Cert, interCert dan rootCert. Download 3 certificate tersebut.

Beli SSL dan pasang HTTPS

Ke 3 certificate tersebut perlu kita gabungkan menjadi 1 file (bundle) menjadi ca-bundle.pem, buka terminal jalankan command berikut untuk menggabungkannya:

cat latcoding.com_X509.txt latcoding.com_interCert.txt latcoding.com_rootCert.txt > ca-bundle.pem

Setelah digabung, kira-kira hasilnya seperti ini (saya potong kodenya agar tidak terlalu panjang):

-----BEGIN CERTIFICATE----- MIIGTzCCBTegAwIBAgIMQIIHWnp9E0QnVbzZMA0GCSqGSIb3DQEBCwUAMEwxCzAJ ... 1opVfVlU7Gz5/DmTeXsC0tJtuzuxSMN5D8kmLtjsHWbgP4tB3hoV2SsoSFRiYPfy 8KBtuC1qcNc0wGaOICJFXDRoQnHdEY39NGH1iFZWhwP+Cis= -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- MIIEijCCA3KgAwIBAgIQfU1CqStDHX5kU+fBmo1YdzANBgkqhkiG9w0BAQsFADBX ... 5bHoz7cYU27LUvh1n2WSNnC6/QwFSoP6gNKa4POO/oO13xjhrLRHJ/04cKMbRALt JWQkPacJ8SJVhB2R7BI= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv ... DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE-----
  • merah: latcoding.com_X509.txt
  • hijau: latcoding.com_interCert.txt
  • biru: rootCert.txt

Copy ca-bundle.pem ke server VPS dan jadikan 1 folder dengan file latcodingcom.key. 2 file ini yang akan kita gunakan pada konfigurasi vhost apache. Saya taruh 2 file ini difolder /home/ubuntu/ssl/.

Note: untuk file latcodingcom.csr abaikan saja, kita tidak memerlukan file .csr lagi.


Konfigurasi VirtualHost Apache

Buka konfigurasi virtualhost apache dan buat sebuah file konfigurasi https latcoding.com.

cd /etc/apache2/sites-available/
vi latcoding.com.ssl.conf

Lalu isikan konfigurasi latcoding.com.ssl.conf seperti berikut:

<IfModule mod_ssl.c>
	<VirtualHost *:443>
		DocumentRoot "/xx/xx/latcoding.com"
		ServerName latcoding.com
		ServerAlias www.latcoding.com
		<Directory "/xx/xx/latcoding.com">
			Options -Indexes
			ServerSignature Off
			AllowOverride All
		</Directory>
        	SSLCertificateFile /home/ubuntu/ssl/ca-bundle.pem
        	SSLCertificateKeyFile /home/ubuntu/ssl/latcodingcom.key
        </VirtualHost>
</IfModule>
  • Pastikan mod_ssl apache sudah diaktifkan
  • Pastikan port 443 sudah diallow pada firewall/security group
  • Definisikan serveralias, supaya HTTPS bisa mencover www juga
  • Import SSL certificate pada path /home/ubuntu/ssl/<nama filenya>

Lalu aktifkan konfigurasinya dan reload apache dengan menjalankan command berikut diterminal:

sudo a2ensite latcoding.com.ssl.conf
sudo systemctl reload apache2

Testing HTTPS

Langkah terakhir tinggal mengetestnya saja. Seharusnya jika kita buka dibrowser https://www.latcoding.com ataupun https://latcoding.com akan terbuka dengan icon gembok.

Kalau kita klik iconnya, Connection Secure -> Ceritificate is Valid, maka akan muncul detail SSLnya

Beli SSL dan pasang HTTPS

SSL sudah issued by AlphaSSL – GlobalSign. Nice.

Demikian tutorial Beli SSL dan pasang HTTPS untuk website di server VPS. Semoga bermanfaat!

Ambar Hasbiyatmoko

Hello, I'm web developer. Passionate about programming, web server, and networking.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.