Cara Membuat Virtual Hosts Di Web Server Apache

Share

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.

virtual host apache

Ada 2 tipe konfigurasi virtual hosts yang bisa diterapkan :

  1. Virtual Hosts berbasis IP
  2. 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 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.

virtual hosts berbasis name

 

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 :

httpd.conf

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.

vhost

3. Tambahkan baris hostname pada file hosts

Letaknya di windows : C:\Windows\System32\drivers\etc

hosts

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?

 

4 Comments

  1. Lengkap bangat penjelasannya.. nice info pak

  2. mantap…. dulu pernah setting ini.. local hosting, jadi tinggal beli domain aja..
    heheheee..
    Timpal…!!

Tinggalkan Balasan

Your email address will not be published.

*