Perkembangan ilmu pengetahuan dan teknologi suatu bangsa tidak terlepas dari keberhasilan proses belajar mengajar dilembaga pendidikan. Tahapan perubahan tersebut dapat untuk membawa bangsa kearah yang lebih bisa maju lagi dari keadaan yang sekarang, sehingga menjadi jati diri dari suatu bangsa. Tingkat penguasaan ilmu dan tekologi merupakan bukti nyata dari keberhasilan dari pembangunan menuju bangsa yang baik.

Teknologi jaringan secara terus menerus berkembang pesat khususnya infrastruktur jaringan komputer dengan cakupan kemampuan untuk melakukan instalasi dan konfigurasi server tentunya juga bermanfaat untuk melakukan estimasi sumber daya termasuk hardware yang akan digunakan. Istilah virtual host menunjukkan pada praktik pemeliharaan beberapa server HTTP dalam satu mesin. Dalam pengertian ini, virtual host menunjukkan satu komputer yang dapat menangani  beberapa server HTTP. Ketika suatu server HTTP dihubungi dengan nama atau alamat IP tertentu, server akan menanggapi dengan tanggapan yang berbeda ketika server dihubungi dengan nama atau alamat IP lain. Misalkan ada dua host atau domain berbeda dikelola oleh satu mesin dan masing-masing domain mempunyai server HTTP. Misalkan juga nama host tersebut http://host1.belajar.com dan http://host2.belajar.com. Ketika server HTTP dihubungi dengan http://host1.belajar.com server akan menanggapi secara berbeda dengan ketika server dihubungi http://host2.belajar.com. Mekanisme seperti ini dapat dibuat dengan cara mengkonfigurasi virtual host server HTTP.

Apache sebagai program server HTTP dapat dikonfigurasikan untuk menjalankan dukungan terhadap virtual host. Dukungan Apache terhadap virtual host diwujudkan dengan beberapa konfigurasi pengarah yaitu <VirtualHost>, NameVirtualHost, ServerName, ServerAlias dan ServerPath. Penerapan virtual host pada Apache didasarkan pada dua hal yaitu :

  • Virtual host berdasarkan nama (name based virtual host), dan
  • VirtualHost berdasarkan alamat IP (IP based virtual host)

Virtual Host Berdasarkan Nama

Pada penerapan virtual host berdasarkan nama, Apache akan menanggapi permintaan koneksi HTTP berdasarkan nama host yang merupakan  bagian dari header HTTP. Penerapan virtual host berdasarkan nama sangat mudah, cukup dirancang supaya suatu nama host harus dipetakan pada suatu alamat  IP tertentu. Dalam pengertian ini, yang penting adalah bahwa suatu nama host harus punya alamat IP tertentu. Sehingga dalam penerapan ini sangat dimungkinkan untuk menggunakan satu alamat IP untuk beberapa nama host. Pada konfigurasi DNS server, hal ini dapat dilakukan dengan mengatur RRs tipe CNAME yaitu membuat nama kanonik, dengan cara ini, beberapa nama host akan mengacu pada alamat IP yang sama.

Hal diatas merupakan keuntungan virtual host berdasarkan nama, yaitu dimungkinkan mempunya beberapa nama server HTTP, hanya dengan satu alamat IP. Berikut ini contoh penerapatn virtual host berdasarkan nama.

 NameVirtualHost *

 <VirtualHost     *:80>
               ServerName    host1.belajar.com
               ServerAlias      host1.belajar.com
               ServerPath       /host1
               DocumentRoot            /var/www/html/host1
 </VirtualHost>
 <VirtualHost     *:80>
               ServerName    host2.belajar.com
               ServerAlias      host2.belajar.com
               ServerPath       /host2
               DocumentRoot            /var/www/html/host2
 </VirtualHost>
 <Directory        /var/www/html>
               Options Indexes
               Allow From all
 </Directory> 

Virtual Host Berdasarkan Alamat IP

<VirtualHost     *:80>
               ServerName    192.168.100.1
               ServerAlias      host1.belajar.com
               ServerPath       /host1
               DocumentRoot            /var/www/html/host1
 </VirtualHost>
 <VirtualHost     *:80>
               ServerName    192.168.100.2
               ServerAlias      host2.belajar.com
               ServerPath       /host2
               DocumentRoot            /var/www/html/host2
 </VirtualHost>
 <Directory        /var/www/html>
               Options Indexes
               Allow From all
 </Directory>