Membuat Virtualhost di Apache2 & Cara Kerjanya
Ini adalah postingan yang berkaitan dengan beberapa postingan sebelumnya (ini dan ini). Jika kamu penasaran cara kerja sebuah server hosting berkerja, disini kamu akan tahu jawabanya. Di dalam dunia per server hostingan ada macam macam jenisnya. Antara lain yang paling umum adalah,
- Shared Hosting, ini biasanya harganya murah. Karena satu server bisa dihuni beberapa website
- VPS / Cloud Hosting. Lumayan mahal karena satu server virtual di huni oleh satu orang pemilik web.
- Dedicated Server, kalau ini sekelas perusahaan besar. Harganya jelas mahal. Sesuai namanya, ini satu hardware (seperangkat komputer server yang dijadikan server). Nah kalau diruntut dari level di atas, dapat saya gambarkan. Kalau kita punya Dedicated server, kita bisa membuat beberapa mesin VPS di dalam server kita. Nah, dalam setiap VPS itu, masih bisa dibagi bagi lagi sehingga menjadi shared hosting. Nah, shared hosting itu sangat berhubungan erat dengan virtual host di web server, seperti apache2.
Shared hosting itu bisa di ibaratkan rumah susun, punya satu alamat tapi penghuninya banyak. Cara mengenalinya, bisa dengan nomor rumah atau nama pemilik masing masing rumah. Nah, alamat rusun itu saya ibaratkan alamat IP server. Sedangkan pengenalnya (nama pemilik rumah) adalah nama domain. Jadi satu server atau satu alamat ip memiliki beberapa pengenal atau domain. Yap, pinterrr..
Jadi si mbah apache 2 itu selain menjadi web server, dia juga mempunyai tugas tambahan sebagai resepsionis. Yang mengarahkan visitor atau pengunjung web menuju rumah yang benar. Ya, anggap saja situs web adalah sebuah rumah, rumah susun. Anggap saja si mbah apache ini adalah resepsionis di sebuah rumah susun, saya tidak tahu pasti di rumah susun itu ada resepsionisnya atau tidak, hehe. Misalkan saya adalah pengunjung, dan saya mencari rumahnya sucipto.net di alamat rumah susun 201.124.133.99, bingung ya?. Yaudah gini aja, misalkan saya seorang tamu mencari mas sucipto di alamat rumah susun Jl. Sirigan Raya Jaya No. 45. Nah, si mbaknya resepsionis tadi akan memberi tahu lokasi rumah saya, di lantai berapa dan lorong berapa.
Begitupun apache 2, misalkan saya mencari sucipto.net di ip 201.124.133.99 maka simbah apache akan mencari folder website saya berada dan menampilkanya ke visitor. Hai visitor, disini lho foldernya mas sucipto.net = /home/sucipto/public_html. Misalkan gitu kalau apache bisa ngomong mah.
Biar kamu tidak bingung, mari langsung saja kita buat virtualhost di apache, syaratnya harus sudah install apache dan sudah di konfigurasi sesuai keinginan, kalau belum silahkan baca baca di postingan saya kemarin (baca disini).
Membuat Virtualhost di Apache 2
Note : Pada saat saya menulis ini dan mempraktekanya di Sistem Operasi Ubuntu 14.04, pengguna sistem operasi lain harap menyesuaikan. Kalau bingung, jangan ragu coret coret di kotak komentar. Sesuai settingan kemarin (di posting sebelumnya) kita sudah membuat konfigurasi default untuk apache pada file
Settingan diatas berlaku untuk localhost dan akses tanpa menggunakan domain. Untuk membuat virtualhost, kita cukup mengcopy konfigurasi default di atas, dan membuat file baru sesuai nama domain kita, misalkan saya ingin membuat virtualhost dengan nama domain http://sucipto.dev maka saya mengcopy file default seperti perintah di bawah ini.
Karena settingan berada di folder /etc/ jadi kita perlu menggunakan hak akses super user (sudo). Kemudian saya mengedit file yang baru saja di copy.
Gedit bisa digantikan dengan text editor yang lain, suka suka anda. Kemudian saya menambahkan konfigurasi pada baris setelah
Dengan menambahkan ini..
Sehingga kode keseluruhan akan terlihat seperti di bawah ini
Intinya ada pada ServerName, jadi ketika ada visitor yang mengakses melalui domain sucipto.dev dan mengarah ke ip server saya, maka akan ditunjukkan document rootnya adalah /home/sucipto/Dev/Web. Untuk soal port, secara default port http adalah 80, namun kamu bisa menggantinya sendiri, dulu saya sudah pernah bahas soal mengganti port di apache, coba baca disini.
Selanjutnya kita membuat DNS yang super simple, soal dns yang lebih rumit kita bahas nanti nanti saja. Di linux, kita cukup mengedit file /etc/hosts, dengan perintah
dan menambahkan baris berikut ini di baris paling bawah,
Sehingga terlihat sepert ini nantinya,
Di file ini kita bisa membuat domain apa saja sesuka kita, misalkan anu.com, google.com, facebook.com dapat kamu arahkan ke ip localhost kamu, tapi hanya berlaku di komputer kamu saja.
Sekarang coba akses domain yang baru saja kamu buat menggunakan browser, misalkan disini saya membuat sucipto.dev. Dan huala, satu virtualhost sudah jadi. Ini buktinya
Dalam setiap virtualhost kita bisa mengatur konfigurasi secara mandiri, misalkan letak folder web root kita bisa pindah, port yang ingin digunakan yang mana, dan lain lain. Mungkin akan dibahas lain kali ya, saya kira ini sudah cukup untuk Membuat Virtualhost di Apache 2. Semoga bermanfaat.