Cara Install HTTPS di localhost

Cara Install HTTPS di localhost Apache

Hypertext Transfer Protocol Secure (HTTPS) adalah versi terenkripsi dari protokol HTTP. Enkripsinya menggunakan protokol Secure Sockets Layer (SSL), atau yang lebih baru Transport Layer Security (TLS), sering juga disebut sebagai HTTP over SSL atau HTTP over TLS. Secara default HTTPS berjalan pada port 443.

Mengapa Harus HTTPS?

Faktor penting mengapa harus menggunakan HTTPS:

  • Keamanan – Mengamankan data dengan metode enkripsi yang ditransmisikan antara browser dengan server. Menjaga integritas website dari peretas yang dapat menginjeksi malware. Melindungi website dan pengunjung dari kenakalan provider internet yang memasukkan iklan mereka.
  • SEO – Sejak tahun 2014 Google sudah mulai memberikan peringkat lebih tinggi kepada website yang memakai HTTPS.
  • Web Masa Depan – Teknologi web masa depan, mulai dari API, AMP, PWA semuanya mengharuskan menggunakan HTTPS.

Perlukah HTTP di localhost (development server)?

Tentu saja perlu untuk menguji aplikasi sebelum berjalan di production server apakah tidak ada masalah. Sehingga tidak perlu langsung mengujinya di production server, cukup di development server untuk pengujian tahap pengembangan.

Tool apa yang digunakan?

Tool yang dapat digunakan untuk membuat HTTPS dapat berjalan di localhost yaitu mkcert. mkcert adalah sebuah tool untuk membuat sertifikat SSL untuk HTTPS secara lokal dan dipercaya oleh web browser. mkcert dapat membuat sertifikat untuk host localhost, custom host, atau IP address seperti 127.0.0.1. mkcert mendukung sistem operasi Linux, macOS, dan Windows.

Install HTTPS di localhost Linux

Tutorial ini menggunakan:

  • OS Linux Ubuntu 16.04 64-bit
  • brew
  • mkcert
  • Apache
  • Mozilla Firefox

Install brew

mkcert diinstall via brew package manager. Install brew terlebih dahulu, baca tutorial Cara Install brew di Linux.

Install mkcert

Install paket dependensi.

Install mkcert via brew.

Hasilnya

Install Certificate Authority (CA).

Hasilnya

Selanjutnya membuat certificate untuk localhost

Hasilnya

Terdapat dua file yang dihasilkan, certificate localhost.pem dan key localhost-key.pem. Semuanya berada di folder tempat menjalankan perintah.

Konfigurasi Apache untuk HTTPS

Install Apache.

Memindahkan certificate dan key.

Konfigurasi virtualhost localhost untuk port 443 (HTTPS).

Cari opsi certificate dan ubah seperti di bawah ini.

Aktifkan modul SSL untuk Apache dan virtualhost default-ssl.

Pengujian

Akses https://localhost di browser, hasilnya seperti gambar di bawah ini.

Cara Install HTTPS di localhost
HTTPS di localhost Apache

HTTPS untuk Custom VirtualHost

Membuat certificate untuk virtualhost musaamin.oksip.

Hasilnya

Memindahkan certificate.

Membuat folder untuk virtualhost musaamin.oksip.

Buat file index.html.

Isinya

Membuat konfigurasi virtualhost di Apache.

Isinya

Mengaktifkan virtualhost musaamin.oksip.

Restart Apache.

Memasukkan host musaamin.oksip ke dalam konfigurasi hosts.

Tambahkan

Pengujian, akses http://musaamin.oksip, harus redirect ke https://musaamin.oksip sesuai dengan konfigurasi pada virtualhost Apache.

Cara Install HTTPS di localhost
HTTPS di musaamin.oksip Apache

Selamat mencoba 🙂

Default image
Musa Amin
I am a Linux System Administrator and also write many tutorials about Linux, Cloud, and Open Source. Hire me via email hai[at]musaamin.web.id.

10 Comments

  1. terima kasih pak

  2. kalau di Debian 10 bagaimana ya pak?
    terima kasih tutornya,..

  3. mas….tanya
    add domain caranya bagaimana? domain yang pertama pakai cloudflare.
    sekarang mau masuk cloudflare tdk bisa. klo dengan cara ini nanti semua domain yang sudah terpasang cloudflare apakah berubah?

    • pertanyaannya kurang jelas. add domain di mana, di cloudflare atau cpanel? masuk cloudflare, maksudnya tidak bisa login di cloudflare? domain yang memakai cloudflare, berarti untuk melakukan pengaturan dns record misal menambah subdomain semuanya dikonfigurasikan di cloudflare.

  4. saya pake vps, 1 ip utk 2 domain. Apa tutorial ini bisa berfungsi utk kedua domain saya? apa ada cara husus? ditunggu jawabnya pak.

    • tutorial ini hanya untuk kebutuhan development di komputer sendiri (localhost). kalau sudah pakai domain internet, pakai SSL yang dikeluarkan oleh certificate authority yang dikenali oleh web browser. yang gratis bisa pakai SSL dari Let’s Encrypt.

Leave a Reply