Home » » Setting multiple virtual host pada localhost dengan XAMPP

Setting multiple virtual host pada localhost dengan XAMPP


Pernahkah anda membuat virtual host pada localhost anda? Jika belum saya akan menjelaskannya sedikit. Virtual host merupakan sebuah metode pada localhost anda untuk memberikan penamaan inisial. Biasanya saya menggunakan metode ini untuk mengembangkan aplikasi berbasis MVC (saya menggunakan framework Codeigniter).

Inisial ini diperlukan agar aplikasi yang kita kembangkan mendapatkan simulasi cara kerja selayaknya pada server hosting nanti. Sehingga meminimalkan hal setting-mensetting pada proses migrasi dari localhost ke hosting nantu. Misalkan jika menggunakan cara biasa biasanya kita mengakses
http://localhost/aplikasiSaya/login

Namun dengan bantuan virtual host ini kita bisa memberikan nama URL tanpa menggunakan kata2 localhost dan sama persis dengan versi hosting
http://www.sim-rumahsakit.dev

(domain tidak menggunakan yang .com atau yg lain karena takutnya browser malah menunjuk ke alamat yang ada di internet. Jadi nama domainnya juga virtual saja ya.)


Nah, yang biasanya jadi masalah adalah ketika kita sudah membuat satu virtual host pada localhost. Maka aplikasi kita yang lain, yang berada pada htdocs jadi tidak bisa diakses. Terutama yang masih menggunakan awalan localhost. Waktu belum tahu caranya saya biasanya mengganti-ganti pada file C:\WINDOWS\system32\drivers\etc dan C:\xampp\apache\conf\extra\httpd-vhosts setiap kali mau berkunjung ke aplikasi lain. Tentu hal ini akan sangat merepotkan, apalagi bagi kita yang suka develop lebih dari satu aplikasi.

Nah, alhamdulillah. Saya menemukan cara bagaimana caranya membuat multiple virtual host pada localhost kita. Caranya adalah
  1. Membuat virtual hosts entries
Bukalah file x:\\apache\conf\extra\httpd-vhosts.conf. Kemudian tambahkan konfigurasi ini pada file tersebut


<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot D:/srv/xampp/projects/testproject/public
ServerName www.testproject.dev

<Directory "D:/srv/xampp/projects/testproject/public">

Options Indexes FollowSymLinks Includes ExecCGI

AllowOverride All
Order allow,deny
Allow from all
</Directory>

</VirtualHost>

Konfigurasi diatas diibaratkan project yang anda kerjakan berada pada folder /projects/testprojects/public dan inisialnya menggunakan www.testproject.dev. Setelah menambahkan konfigurasi tersebut, jangan lupa untuk menambahkan konfigurasi untuk server localhostnya, yaitu:


<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot D:/srv/xampp/localhost
ServerName localhost

<Directory "D:/srv/xampp/projects/testproject/public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Konfigurasi localhost diatas mesti ditambahkan, agar semua aplikasi yang berada pada htdocs anda masih bisa untuk diakses. Oke, lanjut ke step ke dua

2. Edit windows hosts file

Konfigurasi hosts file anda. Letak file hosts file pada system Windows ada di C:\WINDOWS\system32\drivers\etc\hosts. Setelah anda buka file tersebut, daftarkan dua server yang telah anda daftarkan:
127.0.0.1 localhost
127.0.0.1 testproject

Nah, rampung sudah pembuatan virtual host pada localhost anda. Sekarang coba saja mengakses www.testprojects.dev. Pasti akan menunjuk aplikasi testprojects pada htdocs anda. Jika anda ingin menambahkan inisial lain, caranya sama. Tambahkan saja pada file httpd-vhost dan host anda. Sekian tutorial dari saya.. Semoga bermanfaat :D


ref : http://ailoo.net/2008/07/set-up-multiple-virtual-hosts-on-xampp-for-windows/

Saya melupakan hal kecil pada tutorial ini. Jangan lupa untuk meng-uncomment statement ini :

##NameVirtualHost *:80

Hilangkan tanda pagarnya menjadi

NameVirtualHost *:80
Thanks for reading Setting multiple virtual host pada localhost dengan XAMPP

« Previous
« Prev Post
Next »
Next Post »

1 comments:

  1. makasih gan...share nya..tapi ada yg mau ane tanyain nih. directory root itu maksudnya directory tempat xampp diinstall atau bukan gan?
    maaf ane masih baru gan..

    ReplyDelete