Bagaimana Cara Virtualisasi Web Server dengan VirtualBox ? Dalam tutorial ini saya menggunakan apache web server sebagai host utama dengan virtualbox sebagai host guest.

Saya memiliki Database Server (MySql) di VirtualBox menggunakan CentOs dan Web Server (apache) berada di host utama yaitu Windows, lalu bagaimana menghubungkan web server dengan database server di VirtualBox ?

Langkah Pertama (Aktifkan Mod Proxy di Web Server Apache)

Buka file httpd.conf di apache/conf/httpd.conf

Lalu hilangkan tanda comment # untuk module :

  • LoadModule proxy_module modules/mod_proxy.so
  • LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  • LoadModule proxy_http_module modules/mod_proxy_http.so

Langkah Kedua (Enable Port Forwarding di VirtualBox)

  • Buka VirtualBox > Settings > Network

Network yang digunakan di VirtualBox adalah NAT lalu klik tombol Port Forwarding, port default MySql adalah 3306. Anda bisa melihat gambar dibawah :

Proxy Pass VIrtualBox Kodingspace

Database Server anda sudah mengakses ke virtualbox, jadi setiap port 3306 akan di forward ke VirtualBox.

Pertanyaannya, apakah hal ini hanya untuk database ?

Tentu saja tidak, anda bisa install git di VirtualBox, atau bahkan Web Server pun di VirtualBox. Lalu gunakan Proxy Pass di VirtualHost apache, apa sih proxy pass itu ? Fungsi proxy sendiri adalah sebagai penghubung dari satu host ke host yang lain

Sebagai contoh, anda ingin web server berada di VirtualBox, maka kita bisa menambahkan port forwarding di VirtualBox.

Port default web server adalah 80 maka kita akan forward ke VirtualBox dengan port 80.

dan tambahkan di VirtualHost apache windows anda menjadi :

 <VirtualHost *:80>
              
     ProxyPreserveHost On
     ProxyRequests Off
     ServerName testcontoh.com
     ProxyPass / http://localhost:80/
     ProxyPassReverse / http://localhost:80/

 </VirtualHost>

Pertanyaan Berikutnya apakah hanya untuk sesama port ?

Tidak juga, contoh berikutnya adalah apabila host utama anda menggunakan Linux, lalu Web Server anda di VirtualBox menggunakan Window Server (IIS).

Lalu bagaimana konfigurasinya, agar bisa berjalan di Linux dan Bisa juga berjalan dengan Window Server (IIS) ?

Mari kita anggap port apache server yang digunakan untuk forwarding ke VirtualBox adalah port localhost:8080 sedangkan port default VirtualBox tetap 80.

dengan adanya port forwarding, anda bisa berjalan di keduanya, bisa menggunakan platform PHP, atau dotnet.

Untuk dotnet anda bisa upload di VirtualBox sedangkan untuk PHP anda bisa upload di Linux Server. Contoh konfigurasi virtualhost untuk proxy pass :

Pada contoh dibawah Web Server Apache (Host Utama) akan menghandel request testcontoh.com ke virtualbox karena terdapat ProxyPass localhost:8080 yang kita portforward ke virtualbox seperti gambar diatas.

 <VirtualHost *:80>
             
     ProxyPreserveHost On
     ProxyRequests Off
     ServerName testcontoh.com
     ProxyPass / http://localhost:8080/
     ProxyPassReverse / http://localhost:8080/

 </VirtualHost>
Baca Juga Konfigurasi VirtualHost d Xampp

Semoga Bermanfaat.
Bila terdapat pertanyaan silahkan isi kolom komentar.