Tutorial Linux : Konfigurasi HTTPS dan HTTP Secara Bersamaan di Ubuntu Server

Konfigurasi HTTPS dan HTTP Secara Bersamaan di Ubuntu Server


Di artikel ini saya akan berbagi pengalaman saya dalam mengatasi kasus HTTP dan HTTPS yang harus di running secara bersamaan. Saya akan menjelaskan bagaimana cara mengkonfigurasi HTTP dan HTTPS di linux agar berjalan bersamaan.

Terkadang metode ini penting juga dilakukan. Misalnya di website anda terdapat sebuah halaman login yang memerlukan enkripsi password supaya tidak dapat di sniff

Sebagai System Administrator kadang saya cukup paranoid hal ini terjadi, daripada saya harus mengambil resiko lebih besar, jadi saya putuskan untuk mengaktifkan metode ini disalah satu server yang saya kelola. Saya mengaktifkan metode ini di dalam Ubuntu Server 12.04 LTS Precise Pangolin. Untuk konfigurasinya tidak terlalu sulit ternyata. Akan saya jelaskan step by step konfigurasi HTTPS dan HTTP nya.

Baca Juga - Tutorial Linux : Multiple Binding Address MySQL Server Di Ubuntu Server

Langkah ke 1

Hal pertama yang tentunya kita perlukan adalah web server. Saya memakai apache sebagai web server
.
sudo apt-get install apache2

Langkah ke 2

Langkah selanjutnya adalah mengaktifkan mode ssl kita.

sudo a2enmod ssl

Langkah ke 3

Selanjutnya kita restart apache.

sudo service apache2 restart

Langkah ke 4

Kita membutuhkan sebuah folder untuk menyimpan server key dan sertifikat. Simpan ini didalam folder apache kita.

sudo mkdir /etc/apache2/ssl

Langkah ke 5

Pada bagian ini kita akan membuat Sertifikat SSL

openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Saat kita meminta sertifikat baru, kita bisa meminta berapa lama sertifikat itu berlaku. Dalam contoh ini saya membuatnya mempunyai masa berlaku selama 2 tahun, dan menyimpan keduanya di direktori yang tadi kita buat. Di  /etc/apache2/ssl/

Output dari perintah diatas adalah seperti ini :

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:ID
State or Province Name (full name) [Some-State]:Jawa Barat
Locality Name (eg, city) []:BDG
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Apocalypsix.Inc
Organizational Unit Name (eg, section) []:Dept Dreams
Common Name (e.g. server FQDN or YOUR name) []:stark.com
Email Address []:apocalypsix@gmail.com

Langkah ke 6

Karena kita mengaktifkan 2 metode, HTTP dan HTTPS. Jadi kita lupakan HTTP, karena ini sudah pasti akan berfungsi seperti seharusnya. Komponen apache yang menunjukkan dimana letak website kita disimpan ada pada file default. Ini berada di /etc/apache2/sites-available/default. Itu adalah salah satu komponen apache yang menunjukkan letak alamat website kita. Secara default file ini merujuk ke /var/www/. Didalam /etc/apache2/sites-available/ terdapat 2 buah file, yang satu adalah file default tadi, dan yang kedua adalah default-ssl. Kita akan fokus pada file default-ssl.

Buka File default-ssl

sudo nano /etc/apache2/sites-available/default-ssl
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
ServerName www.imtelkoms.ac.id
DocumentRoot /var/www/www2
# Tambahkan baris ini di file default-ssl anda
SSLEngine On
SSLCertificateFile      /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile   /etc/apache2/ssl/apache.key
Selanjutnya cari baris ini dan berikan tanda comment (#):
# SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
# SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
Save lalu exit.

Langkah ke 7

Aktifkan website default-ssl.
Sudo a2ensite default-ssl

Langkah ke 8

Baiklah semuanya telah selesai, sekarang restart apache kita.

Sudo service apache2 restart

Dengan konfigurasi tadi kita mempunyai 2 metode didalam website kita, dimana untuk website dengan metode HTTPS, para babi hacker tidak akan bisa mendapatkan password account siapa saja didalam website kita.

Baca Juga - Tutorial Linux - Konfigurasi Proxy HTTP Di Ubuntu

Karena sertifikat yang kita miliki ini adalah buatan sendiri maka ketika mengakses https://websitekita.com maka yang muncul adalah Security Warning seolah-olah kita mengakses website yang tidak aman. Untuk melanjutkan ke website kita pilih saja pilihan add exception pada browser anda.

Ada perbedaan diantara sertifikat yang gratis, dan yang berbayar sekaligus verified. Perbedaan ini sangat jelas ketika kita pertama kali membuka url tersebut di browser kita.

LihatTutupKomentar