how to creat virtual host + ssl

80
How To Creat VirtualHost + SSL BY: DAFIT SYAHPUTRA NIM.11453101968 PROGRAM STUDI SISTEM INFORMASI FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU T.A 2016 - 2017

Upload: dafit-syahputra

Post on 13-Apr-2017

45 views

Category:

Presentations & Public Speaking


1 download

TRANSCRIPT

Page 1: How to creat virtual host + ssl

How To CreatVirtualHost + SSL

BY:

DAFIT SYAHPUTRANIM.11453101968

PROGRAM STUDI SISTEM INFORMASIFAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAUT.A 2016 - 2017

Page 2: How to creat virtual host + ssl

LANGKAH-LANGKAH

1. Menjalankan CMD sebagai administrator

» Pilih Accessories » Command Prompt » Klik Kanan Pada Command Prompt » Run as Administrator.

Page 3: How to creat virtual host + ssl
Page 4: How to creat virtual host + ssl

CMD yang telah dijalankan sebagai administrator akan memiliki judul Administrator: seperti terlihat pada gambar berikut:

Page 5: How to creat virtual host + ssl

2. Kita lakukan pengujian dengan menjalankan perintah SET USPerintah SET US disini gunanya hanya untuk menampilkan Environment Variable yang dimulai

dengan huruf US.

Page 6: How to creat virtual host + ssl

BERKAS HOST

 Host file digunakan oleh sistem operasi untuk meng-override settingan DNS yang diberikan oleh DNS

Server

3. Buka CMD, Lalu ketikan perintah notepad \Windows\System32\drivers\etc\hosts lalu klik enter.

Page 7: How to creat virtual host + ssl
Page 8: How to creat virtual host + ssl

4. Setelah anda menekan enter maka secara otomatis CMD akan membuka file hosts. lalu yang perlu kita lakukan adalah menambahkan 127.0.0.1 dafitsyahputra.com pada baris bagian bawah.

Page 9: How to creat virtual host + ssl

(Sebelum Ditambahkan)

Page 10: How to creat virtual host + ssl

(Sesudah di Ditambahkan)

Page 11: How to creat virtual host + ssl

Setelah selesai menambahkan 127.0.0.1 dafitsyahputra.com pada baris bagian bawah maka pilih file » save.

Page 12: How to creat virtual host + ssl

5. Selanjutnya masukkan perintah ping dafitsyahputra.com pada CMD untuk melakukan pengujian apakah berkash hosts tersebut telah berhasil ditambahkan atau belum

Page 13: How to creat virtual host + ssl
Page 14: How to creat virtual host + ssl

Setting VirtualHost dengan Apache (XAMPP)

6. Tambahkan settingan pada berkas httpd.conf, biasanya berkas ini berada pada C:\xampp\apache\conf\

httpd.conf (jika Anda menginstal xampp di drive C)

Page 15: How to creat virtual host + ssl
Page 16: How to creat virtual host + ssl

7. Lalu tambahkan baris berikut di akhir:

NameVirtualHost *:80<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "C:/xampp/htdocs" ServerName localhost ServerAlias localhost.localdomain ErrorLog "logs/localhost.error.log" CustomLog "logs/localhost.access.log" combined</VirtualHost>Include "conf/sites-enabled/*.conf"

Page 17: How to creat virtual host + ssl
Page 18: How to creat virtual host + ssl

8. Selanjutnya buatlah sebuah folder

sites-enabled pada direktori conf dengan

perintah:

mkdir C:\xampp\apache\conf\sites-enabled

Page 19: How to creat virtual host + ssl

notepad C:\xampp\apache\conf\sites-enabled\rahmad.riansyah.conf

Page 20: How to creat virtual host + ssl

9. Kemudian buat sebuah berkas di

dalam folder sites-enabled tersebut :

notepad C:\xampp\apache\conf\sites-enabled\dafitsyahputra.conf

Page 21: How to creat virtual host + ssl
Page 22: How to creat virtual host + ssl

Kemudian akan muncul pesan peringatan dari notepad bahwa dia tidak bisa menemukan dafitsyahputra dan akan

membuat file baru dengan nama dafitsyahputra .

Page 23: How to creat virtual host + ssl

10. Setelah file dafitsyahputra berhasil di buat maka tambahkan

baris berikut.<VirtualHost *:80> ServerAdmin admin@ dafitsyahputra DocumentRoot "C:/xampp/vhosts/ dafitsyahputra/public_html" ServerName dafitsyahputra ServerAlias www. dafitsyahputra ErrorLog "C:/xampp/vhosts/ dafitsyahputra/logs/error.log" CustomLog "C:/xampp/vhosts/ dafitsyahputra/logs/access.log" combined

 </VirtualHost><Directory "C:/xampp/vhosts/ dafitsyahputra/public_html"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted

</Directory>

Page 24: How to creat virtual host + ssl
Page 25: How to creat virtual host + ssl

11. Kemudaian kita buat direktori vhosts untuk meletakan logs

dan tempat penyimpanan website yang akan kita buat (public_html)

mkdir C:\xampp\vhostsmkdir C:\xampp\vhosts\dafitsyahputramkdir C:\xampp\vhosts\\dafitsyahputra\logsmkdir C:\xampp\vhosts\\dafitsyahputra\

public_html

Page 26: How to creat virtual host + ssl
Page 27: How to creat virtual host + ssl

12. Jangan lupa untuk menambahkan

dafitsyahputra ke berkas host Anda:

Notepad C:\Windows\System32\drivers\etc\hos ts

Page 28: How to creat virtual host + ssl
Page 29: How to creat virtual host + ssl

13. Kemudian Tambahkan 127.0.0.1 dafitsyahputra dan

127.0.0.1 dafitsyahputra.com

Page 30: How to creat virtual host + ssl
Page 31: How to creat virtual host + ssl

14. Sekarang, restart Apache Anda dengan menekan tombol Stop, tunggu sebentar, lalu start.

Kalau belum dijalankan, cukup di start saja.

Page 32: How to creat virtual host + ssl
Page 33: How to creat virtual host + ssl

15. Langkah terakhir kita tinggal mengisi

folder public_html dengan

website. disini contoh website yang

saya tampilkan adalah

website kepegawaian.

Page 34: How to creat virtual host + ssl
Page 35: How to creat virtual host + ssl

Mengganti Sertifikat SSL XAMPP

Dalam modul kali ini penulis berperan sebagai CA (Certificate Authority) yang akan menandatangani sertifikat sendiri serta merubah sertifikat SSL yang dimiliki oleh XAMPP.

 langkah - langkah yang akan kita lakukan akan terbagi menjadi

beberapa tahapan :1. Perisapan2. Membuat Sertifikat CA3. Membuat Sertifikatt Untuk Localhost4. Menandatangani Sertifikat Request5. Meletakan CRT dan Key Ke Apache6. Menginstall sertifikat CA

Page 36: How to creat virtual host + ssl

Persiapan 1. Buka CMD, lalu ketikan perintah cd \ (enter)

Page 37: How to creat virtual host + ssl

2. Lalu buat folder baru dengan nama sslcert, untuk membuat direktori menggunakan CMD ketikan Perintah mkdir. mkdir sslcert (enter)

Page 38: How to creat virtual host + ssl

3. Kemudian masuk kedalam folder sslcert dengan perintah cd \sslcert (enter)

Page 39: How to creat virtual host + ssl

4. Setelah berada pada folder sslcert, langkah selanjutnya adalah membuat 2 folder baru, yaitu folder certs dan private. ketikan perintah mkdir certs private (enter).

Folder certs nantinya untuk menampung semua sertifikat yang dihasilkan dan folder private untuk menyimpan semua private-key kita.

Page 40: How to creat virtual host + ssl

5. Sekarang buat sebuah berkas bernama serial, dan isi dengan 100001. Berkas serial ini nantinya digunakan untuk otomatis memberi nomor serial untuk setiap sertifikat yang dihasilkan.

ketikan perintah : echo 100001 >serial (enter)selanjutnya ketikan : copy con serial (enter)

100001 maka akan muncul pesan <Yes/No/All> :ketik All (enter)

lalu tekan ctrl + z (enter)

Page 41: How to creat virtual host + ssl
Page 42: How to creat virtual host + ssl

6. Kemudian Buat sebuah berkas baru, namanya certindex.txt untuk menampung daftar sertifikat yang telah kita tandatangani.

ketikan perintah notepad certindex.txt (enter)

Page 43: How to creat virtual host + ssl

Apabila muncul pesan peringatan seperti pada gambar dibawah ini maka klik Yes, peringatan tersebut muncul karna file certindex belum ada, dan notepad akan membuat file tersebut.

Page 44: How to creat virtual host + ssl

7. Sekarang buat konfigurasi OpenSSL kita, dengan perintah notepad openssl.cnf (enter)

Page 45: How to creat virtual host + ssl

Apabila muncul pesan peringatan seperti pada gambar sebelumnya maka klik saja Yes.lalu copy-paste baris baris berikut :

## OpenSSL configuration file.## Establish working directory. dir = .[ ca ]default_ca = CA_default 

Page 46: How to creat virtual host + ssl

[ CA_default ]serial = $dir/serialdatabase = $dir/certindex.txtnew_certs_dir = $dir/certscertificate = $dir/cacert.pemprivate_key = $dir/private/cakey.pemdefault_days = 3650#default_md = md5default_md = sha1preserve = noemail_in_dn = nonameopt = default_cacertopt = default_capolicy = policy_match

Page 47: How to creat virtual host + ssl

 [ policy_match ]countryName = matchstateOrProvinceName

= matchorganizationName = matchorganizationalUnitName = optionalcommonName = suppliedemailAddress = optional 

Page 48: How to creat virtual host + ssl

[ req ]default_bits = 2048 # Size of keysdefault_keyfile = key.pem # name of generated keys#default_md = md5 # message digest algorithmdefault_md = sha1 # message digest algorithmstring_mask = nombstr # permitted charactersdistinguished_name = req_distinguished_namereq_extensions = v3_req 

Page 49: How to creat virtual host + ssl

[ req_distinguished_name ] # Variable name Prompt string#------------------------- ----------------------------------0.organizationName = Organization Name (company)organizationalUnitName = Organizational Unit Name (department, division)emailAddress = Email AddressemailAddress_max = 40localityName = Locality Name (city, district)stateOrProvinceName = State or Province Name (full name)countryName = Country Name (2 letter code)countryName_min = 2countryName_max = 2commonName = Common Name (hostname.com, IP, or your name)commonName_max = 64 

Page 50: How to creat virtual host + ssl

# Default values for the above, for consistency and less typing.# Variable name Value#------------------------ ------------------------------0.organizationName_default = Universitas Islam Negeri Sultan Syarif KasimlocalityName_default = PekanbarustateOrProvinceName_default = RiaucountryName_default = ID [ v3_ca ]basicConstraints = CA:TRUEsubjectKeyIdentifier = hashauthorityKeyIdentifier = keyid:always,issuer:always [ v3_req ]basicConstraints = CA:FALSE

subjectKeyIdentifier = hash

Page 51: How to creat virtual host + ssl
Page 52: How to creat virtual host + ssl

Membuat Sertifikat CA

Sebagai kepala unit IT di organisasi Anda, Anda harus bisa menandatangani sertifikat seluruh server.

Untuk itu, Anda harus memiliki dahulu sebuah sertifikat (KEY, privateKEY) yang digunakan untuk

menandangani seluruh sertifikat request (CSR) dari seluruh unit yang lain. Sekarang, kita buat sertifikat PKI untuk CA kita, yang nantinya akan digunakan oleh perusahaan /

sekolah / universitas Anda untuk menandatangani seluruh sertifikat di kantor / lab / kampus. adapun langkah - langkah untuk membuat sertifikat PKI untuk CA adalah sebagai berikut :

Page 53: How to creat virtual host + ssl

1. Ketikan perintah berikut :C:\xampp\apache\bin\openssl.exe req -new -x509 -extensions v3_ca -keyout

private\CAkey.pem -out CAcert.pem -days 3650 -config ./openssl.cnf (enter)

Page 54: How to creat virtual host + ssl

2. kemudian masukan password yang akan kita gunakan untuk sertifikat CA kita :

Page 55: How to creat virtual host + ssl

Organization Name (company) [Universitas Islam Negeri Sultan Syarif Kasim]:

Organizational Unit Name (department, division) []:SIF2014Email Address []:[email protected] Name (city, district) [Pekanbaru]:

State or Province Name (full name) [Riau]:

Country Name (2 letter code) [ID]:Common Name (hostname.com, IP, or your name) []:dafitsyahputracom

  

 

 

Page 56: How to creat virtual host + ssl

Dengan perintah di atas, kita sekarang sudah memiliki sebuah kunci

private untuk menandatangani sertifikat. Kunci private tersebut disimpan

di folder private, dengan nama CAkey.pem. Adapun berkas CAcert.pem adalah sertifikat public kita yang nanti

akan digunakan oleh client untuk menginstal sertifikat kita.

Membuat sertifikat untuk Localhost

Page 57: How to creat virtual host + ssl

Selanjutnya, kita akan membuat sertifikat untuk localhost, untuk

menggantikan sertifikat yang dibuat oleh XAMPP, dan sertifikat ini akan kita

tandatangani sendiri dengan CAkey (private key) kita.

Perintah dibawah ini digunakan untuk membuat sebuah sertifikat REQuest, privateKEY. Semuanya dalam format *.pem. Nantinya, localhost-req.pem ini akan dikirimkan ke CA agar nanti ditandatangani (dan kalau ROOT CA, Anda harus bayar), nantinya CA akan menghasilkan .CRT, yang CRT ini berikut dengan localhost-key.pem (private key) akan diinstall ke Apache.

Page 58: How to creat virtual host + ssl

1. ketikan perintah berikut ini C:\xampp\apache\bin\openssl req -new -nodes -out

localhost-req.pem -keyout private/localhost-key.pem -config ./openssl.cnf (enter)Kemudian masukan informasi yang dibutuhkan oleh sertifikat.

Page 59: How to creat virtual host + ssl

Organization Name (company) [Universitas Islam Negeri Sultan Syarif Kasim]:Organizational Unit Name (department, division) []:IT DepartmentEmail Address []:[email protected] Name (city, district) [Pekanbaru]:State or Province Name (full name) [Riau]:Country Name (2 letter code) [ID]:Common Name (hostname.com, IP, or your name) []:localhost

Page 60: How to creat virtual host + ssl

Menandatangani Sertifikat Request

Sebagai CA, Anda harus menandatangani seluruh request (yang valid) dari organisasi Anda. Kali ini, kita

menandatangani sertifikat request dari server localhost, dimana si localhost ini telah memberikan berkas

localhost-req.pem kepada kita. 

Sekarang, jika ingin membuat snake-oil certificate, kita sendiri yang menjadi CA dan menandatangani

sertifikat request tadi.  Biasanya perintah ssl tidak mau jalan apabila kita belum mengsetting path nya

Page 61: How to creat virtual host + ssl
Page 62: How to creat virtual host + ssl

1. Adapaun perintah untuk mengsetting path agar memasukkan direktori C:\xampp\apache\bin adalah :set path=C:\xampp\apache\bin;%PATH% (enter)

Page 63: How to creat virtual host + ssl

2. Setelah selesai menyeting path untul ssl maka selanjutnya yang akan kita lakukan adalah

menandatangani sertifikat request dari localhost-req.pem tadi, gunakan perintah:openssl ca -out localhost.crt.pem -config ./openssl.cnf -infiles localhost-req.pem (enter)

Page 64: How to creat virtual host + ssl

Using configuration from ./openssl.cnf

Loading 'screen' into random state - done

Enter pass phrase for ./private/cakey.pem:[masukkan password privatekey CA Anda]Check that the request matches the signature

Signature ok

The Subject's Distinguished Name is as follows

organizationName :PRINTABLE:'Universitas Islam Negeri Sultan Syarif Kasim'

organizationalUnitName :PRINTABLE:'IT Department'

localityName :PRINTABLE:'Pekanbaru'

stateOrProvinceName :PRINTABLE:'Riau'

countryName :PRINTABLE:'ID'

commonName :PRINTABLE:'localhost'

Certificate is to be certified until Jun 2 17:33:09 2025 GMT (3650 days)

Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]yWrite out database with 1 new entries

Data Base Updated

Page 65: How to creat virtual host + ssl

Setelah melewati tahap ini, Anda akan memiliki sebuah CRT, localhost.crt.pem yang dapat Anda letakkan ke server localhost Anda. Jangan lupa bahwa Apache juga membutuhkan private KEY untuk localhost ini.

Page 66: How to creat virtual host + ssl

Meletakkan CRT dan KEY ke Apache 

Setelah Anda sukses membuat CRT dan KEY, sekarang Anda harus

meletakkanya ke XAMPP. Jika XAMPP di install di drive C:, maka

coba navigasi ke folder C:\xampp\apache\conf

Page 67: How to creat virtual host + ssl
Page 68: How to creat virtual host + ssl

Letakkan CRT ke folder ssl.crt

Page 69: How to creat virtual host + ssl

Dan KEY ke ssl.key

Page 70: How to creat virtual host + ssl

Setelah itu, jangan lupa diganti konfigurasi Apache

agar menggunakan sertifikat baru yang Anda buat.

Konfigurasi yang harus diganti biasanya terletak di

folder extra, cari berkas httpd-ssl.conf

Page 71: How to creat virtual host + ssl
Page 72: How to creat virtual host + ssl

Kemudian ganti dengan

sertifikat yang baru :

Page 73: How to creat virtual host + ssl
Page 74: How to creat virtual host + ssl

Menginstall Sertifikat CA.

1. Buka Web Browser anda. (disini penulis menggunakan Mozila Firefox), kemudian pilih Tools

» Option » Advance » Encryption » View Certificates

Page 75: How to creat virtual host + ssl
Page 76: How to creat virtual host + ssl

2. lalu installkan sertifikat yang telah kita buat kedalam web browser dengan cara mengimportkan

sertifikat yang telah kita buat.

Page 77: How to creat virtual host + ssl

 

3. Disini penulis akan mengimportkan sertifikat dari dafitsyahputra.com

Page 78: How to creat virtual host + ssl

4. untuk melihat detail dari sertifikat yang telah kita install maka kita tinggal menekan view.

Page 79: How to creat virtual host + ssl

Sekalipun telah di install, koneksi https kita tetap akan tersilang di Google Chrome, tetapi tidak apa-apa, dan sedikit lebih baik daripada yang keluar adalah pesan Error koneksi tidak privat, walaupun kita tahu koneksi itu privat.

Page 80: How to creat virtual host + ssl