Cara Konfigurasi Virtual Host XAMPP di Windows 10

Istilah Virtual Host mengacu pada praktik menjalankan lebih dari satu situs web (seperti example1.com dan example2.com) di satu mesin. Host virtual dapat berupa “berbasis IP”, artinya Anda memiliki alamat IP yang berbeda untuk setiap situs web, atau “berbasis nama”, yang berarti Anda memiliki banyak nama yang berjalan di setiap alamat IP. Fakta bahwa mereka berjalan di server fisik yang sama tidak terlihat oleh pengguna akhir.

Apache adalah salah satu server pertama yang mendukung virtual host berbasis IP. Apache versi 1.1 dan yang lebih baru mendukung virtual host berbasis IP dan berbasis nama (vhosts). Varian terakhir dari virtual host terkadang juga disebut virtual host berbasis host atau non-IP.

Konfigurasi Virtual Host di XAMPP

xampp 2
XAMPP Control Panel
  1. Buka file konfigurasi Apache Virtual Hosts di direktori instalasi XAMPP (sebagai contoh) di C:xamppapacheconfextrahttpd-vhosts.conf
  2. Tambahkan kode berikut pada akhir file
<VirtualHost *:80>
    ServerName www.example1.com
    DocumentRoot "C:\XAMPP\htdocs"
   <Directory "C:\XAMPP\htdocs">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
  1. Tambahkan setting pada akhir file host windows di C:WindowsSystem32driversetchost.
127.0.0.1  www.example1.com

Konfigurasi Virtual Host Banyak Domain dengan Satu IP Publik

  1. Misalnya kita punya 2 domain dengan nama www.example1.com dan www.example2.com.
  2. Tambahkan kode berikut pada akhir file httpd-vhosts.conf
<VirtualHost *:80>
    ServerName www.example1.com
    DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
   <Directory "C:\XAMPP\htdocs\www.example1.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
 
<VirtualHost *:80>
    ServerName www.example2.com
    DocumentRoot "C:\XAMPP\htdocs\www.example2.com"
   <Directory "C:\XAMPP\htdocs\www.example2.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
  1. Tambahkan setting pada akhir file host windows di C:WindowsSystem32driversetchost.
127.0.0.1  www.example1.com
127.0.0.1  www.example2.com

Konfigurasi Virtual Host Satu Server Banyak Domain dan IP

  1. Misalnya kita punya 2 domain dengan nama www.example1.com, ip 172.20.30.40 dan www.example2.com, ip 172.20.30.50.
  2. Tambahkan kode berikut pada akhir file httpd-vhosts.conf
<VirtualHost 172.20.30.40:80>
    ServerName www.example1.com
    DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
   <Directory "C:\XAMPP\htdocs\www.example1.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
 
<VirtualHost 172.20.30.50:80>
    ServerName www.example2.com
    DocumentRoot "C:\XAMPP\htdocs\www.example2.com"
   <Directory "C:\XAMPP\htdocs\www.example2.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
  1. Tambahkan setting pada akhir file host windows di C:WindowsSystem32driversetchost.
127.0.0.1  www.example1.com
127.0.0.1  www.example2.com

Konfigurasi Virtual Host dengan Port berbeda

  1. Misalnya kita punya 2 domain dengan nama www.example1.com, ip 172.20.30.40 dan www.example2.com, ip 172.20.30.50 yang berjalan pada port 80 dan www.example3com, ip 172.20.30.50 dengan port 8080.
  2. Tambahkan kode berikut pada akhir file httpd-vhosts.conf
<VirtualHost 172.20.30.40:80>
    ServerName www.example1.com
    DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
   <Directory "C:\XAMPP\htdocs\www.example1.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
 
<VirtualHost 172.20.30.50:80>
    ServerName www.example2.com
    DocumentRoot "C:\XAMPP\htdocs\www.example2.com"
   <Directory "C:XAMPP\htdocs\www.example2.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
 
<VirtualHost 172.20.30.50:8080>
    ServerName www.example3.com
    DocumentRoot "C:\XAMPP\htdocs\www.example3.com"
   <Directory "C:XAMPP\htdocs\www.example3.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
  1. Tambahkan setting pada akhir file host windows di C:\Windows\System32\drivers\etc\host.
127.0.0.1  www.example1.com
127.0.0.1  www.example2.com
127.0.0.1  www.example3.com

Konfigurasi Virtual Host dengan SSL

  1. Buat Sertifikat SSL, dibahas pada artikel berikutnya.
    Misalnya sertifikat dengan nama file server.crt, server.key
  2. Letakkan sertifikat SSL pada C:\XAMPPapacheconf
  3. Tambahkan kode berikut pada akhir file httpd-vhosts.conf
<virtualhost *:443>
    ServerName www.example1.com
    DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
   <directory "c:\xampp\htdocs\www.example1.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </directory>
</virtualhost>

ARTIKEL TERKAIT

Artikel Terbaru