how to creat virtual host + ssl
TRANSCRIPT
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
LANGKAH-LANGKAH
1. Menjalankan CMD sebagai administrator
» Pilih Accessories » Command Prompt » Klik Kanan Pada Command Prompt » Run as Administrator.
CMD yang telah dijalankan sebagai administrator akan memiliki judul Administrator: seperti terlihat pada gambar berikut:
2. Kita lakukan pengujian dengan menjalankan perintah SET USPerintah SET US disini gunanya hanya untuk menampilkan Environment Variable yang dimulai
dengan huruf US.
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.
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.
(Sebelum Ditambahkan)
(Sesudah di Ditambahkan)
Setelah selesai menambahkan 127.0.0.1 dafitsyahputra.com pada baris bagian bawah maka pilih file » save.
5. Selanjutnya masukkan perintah ping dafitsyahputra.com pada CMD untuk melakukan pengujian apakah berkash hosts tersebut telah berhasil ditambahkan atau belum
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)
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"
8. Selanjutnya buatlah sebuah folder
sites-enabled pada direktori conf dengan
perintah:
mkdir C:\xampp\apache\conf\sites-enabled
notepad C:\xampp\apache\conf\sites-enabled\rahmad.riansyah.conf
9. Kemudian buat sebuah berkas di
dalam folder sites-enabled tersebut :
notepad C:\xampp\apache\conf\sites-enabled\dafitsyahputra.conf
Kemudian akan muncul pesan peringatan dari notepad bahwa dia tidak bisa menemukan dafitsyahputra dan akan
membuat file baru dengan nama dafitsyahputra .
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>
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
12. Jangan lupa untuk menambahkan
dafitsyahputra ke berkas host Anda:
Notepad C:\Windows\System32\drivers\etc\hos ts
13. Kemudian Tambahkan 127.0.0.1 dafitsyahputra dan
127.0.0.1 dafitsyahputra.com
14. Sekarang, restart Apache Anda dengan menekan tombol Stop, tunggu sebentar, lalu start.
Kalau belum dijalankan, cukup di start saja.
15. Langkah terakhir kita tinggal mengisi
folder public_html dengan
website. disini contoh website yang
saya tampilkan adalah
website kepegawaian.
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
Persiapan 1. Buka CMD, lalu ketikan perintah cd \ (enter)
2. Lalu buat folder baru dengan nama sslcert, untuk membuat direktori menggunakan CMD ketikan Perintah mkdir. mkdir sslcert (enter)
3. Kemudian masuk kedalam folder sslcert dengan perintah cd \sslcert (enter)
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.
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)
6. Kemudian Buat sebuah berkas baru, namanya certindex.txt untuk menampung daftar sertifikat yang telah kita tandatangani.
ketikan perintah notepad certindex.txt (enter)
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.
7. Sekarang buat konfigurasi OpenSSL kita, dengan perintah notepad openssl.cnf (enter)
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
[ 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
[ policy_match ]countryName = matchstateOrProvinceName
= matchorganizationName = matchorganizationalUnitName = optionalcommonName = suppliedemailAddress = optional
[ 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
[ 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
# 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
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 :
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)
2. kemudian masukan password yang akan kita gunakan untuk sertifikat CA kita :
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
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
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.
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.
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
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
1. Adapaun perintah untuk mengsetting path agar memasukkan direktori C:\xampp\apache\bin adalah :set path=C:\xampp\apache\bin;%PATH% (enter)
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)
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
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.
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
Letakkan CRT ke folder ssl.crt
Dan KEY ke ssl.key
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
Kemudian ganti dengan
sertifikat yang baru :
Menginstall Sertifikat CA.
1. Buka Web Browser anda. (disini penulis menggunakan Mozila Firefox), kemudian pilih Tools
» Option » Advance » Encryption » View Certificates
2. lalu installkan sertifikat yang telah kita buat kedalam web browser dengan cara mengimportkan
sertifikat yang telah kita buat.
3. Disini penulis akan mengimportkan sertifikat dari dafitsyahputra.com
4. untuk melihat detail dari sertifikat yang telah kita install maka kita tinggal menekan view.
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.