Dengan menggunakan web server apache, kita bisa menjalankan beberapa website dengan server yang sama. Sebagai contoh, saya akan menjalankan yudana.com dan yudana.org dalam 1 server yang telah diinstal web server apache.
Ada 2 tipe konfigurasi virtual hosts yang bisa diterapkan :
- Virtual Hosts berbasis IP
- Virtual Hosts berbasis Name
Pilihan no 2 lebih direkomendasikan
Virtual Hosts Berbasis IP
Dalam konfigurasi ini, ketika Anda mengarahkan 2 website (dengan IP address yang berbeda) di dalam server yang menjalankan apache, server tersebut harus memiliki konfigurasi 2 IP address yang berbeda. Hal itu berarti server tersebut harus memiliki 2 ethernet card, setiap ethernet card dikonfigurasi IP addressnya yang disesuaikan dengan website di mana virtual hosts apache akan melayani hal tersebut.
Pada gambar dibawah, di dalam server terdapat 2 NIC card, salah satunya dikonfigurasi memakai IP address 192.168.100.1 untuk yudana.com dan yang lainnya memakai 192.168.100.2 untuk yudana.org. Kedua IP address tersebut dilayani oleh satu web server apache oleh karena itu model ini virtual berbasis IP.
Virtual Hosts Berbasis Name
Di dalam konfirgurasi ini, ketika web server apache menerima permintaan, web server akan melihat hostname pada http header. Hal ini sangat mudah, Anda hanya membutuhkan 1 IP address pada server. Tapi Anda harus mengupdate DNS dengan beberapa website yang mengarah IP address yang sama. Karena kemudahan ini, Anda akan lebih menyukai memakai konfigurasi virtual hosts berbasis Name.
Pada gambar di bawah, server hanya memiliki 1 NIC card dan 1 IP address yaitu 192.160.100.1. Update DNS untuk yudana.com dan yudana.org yang mengarah dari IP address 192.168.100.1. Ketika apache menerima permintaan, apache akan melihat hostname yang dimasukkan pada http header dan kemudian dilayani sesuai dengan website yang diminta.
Kemudian, bagaimana cara mengkonfigurasi virtual hosts berbasis Name?
1. Hapus komentar httpd-vhosts.conf pada httpd.conf
Jika Anda telah menginstall apache, secara default garis kode di bawah merupakan sebuah komentar, hapus komentar tersebut dengan menghilangkan tanda #, sehingga menjadi seperti di bawah :
2. Konfigurasi virtual hosts
Edit file httpd-vhost.conf seperti cara di bawah untuk konfigurasi 2 host.
- NameVirtualHost *:80 : berarti semua virtual hosts berbasis Name akan menggunakan port 80
- <VirtualHost *:80></VirtualHost> : bagian yang berisi konfigurasi parameter untuk setiap virtual host.
- Dalam contoh di bawah, kita akan melakukan konfigurasi virtual host untuk yudana.com dan yudana.org yang menggunakan port yang sama yaitu 80. Sehingga kita akan membuat 2 <VirtualHost *:80></VirtualHost>.
- Untuk konfigurasi yudana.com, semua file di dalam C:/xampp/htdocs/yudana.com (saya menggunakan windows) akan dilayani oleh apache. Dan access_log serta error_log dari website ini akan ditempatkan di C:/xampp/htdocs/yudana.com/logs/yudana.com-error.log.
3. Tambahkan baris hostname pada file hosts
Letaknya di windows : C:\Windows\System32\drivers\etc
4. Restart apache, kemudian tes
Sekarang, jika Anda membuka yudana.com, Anda akan diarahkan apache menuju ke folder C:/xampp/htdocs/yudana.com. Begitupun ketika Anda membuka yudana.org, maka Anda akan diarahkan menuju folder C:/xampp/htdocs/yudana.org.
Cukup mudah bukan?
Lengkap bangat penjelasannya.. nice info pak
mantap…. dulu pernah setting ini.. local hosting, jadi tinggal beli domain aja..
heheheee..
Timpal…!!
127.0.0.1 yudana.org // boleh begitu om…?
127.0.0.1 yudana.id // boleh begitu om…?
boleh om, cek saja dulu ip addressnya
Bagaimana cara konfigurasi virtual host di linux ubuntu server mas? Mohon bantuannya.
Sip, nanti saya tulis artikelnya