How to: Setup Multiple Virtual Hosts in WAMP Server

wamp5_logoWAMP, or Windows Apache MySQL PHP has been a very server for lots of PHP developers who uses Windows environment. These are mainly the freelancers who mostly uses laptops as their local development machines. Whatever may be the reason, but when you use WAMP, it becomes difficult to manage multiple application installed in same root. For example while we use WAMP as a development environment, we have different client specific projects residing in different folders in the root and whenever these projects needs to be uploaded in production environment, the absolute paths has to be manually change. What if we want to have different root folder for each client? Well, this is possible in WAMP using Virtual Hosts. Let us see how to setup the virtual hosts. First we need to modify two files to create virtual hosts:
  1. hosts file: This file is in the c:\windows\system32\drivers\etc\ folder
  2. httpd.conf file: This is in your Apache install’s ‘conf’ folder – e.g. c:\wamp\Apache2\conf\httpd.conf
The hosts files has entries which maps IP Address to a name. By default the name “localhost” is mapped to 127.0.0.1 IP Address.
127.0.0.1 localhost
Code language: HTML, XML (xml)
Now what we have to do is to simply add few more entries per client in this file. You may want to use your clients domain name as mapping key (e.g. viralpatel.local)
127.0.0.1 client1.local
Code language: HTML, XML (xml)
Add as many entries as you want in hosts file. Whenever you enter “client1.local” in your web browser, windows will first look into hosts file and if it gets the corresponding entry, it sends the request to that IP Address. Now we have to change httpd.conf. Open the httpd.conf file and search for something like:
'DocumentRoot 'c:/wamp/www''
Code language: HTML, XML (xml)
Add following code after the ‘DocumentRoot “c:/wamp/www”‘ entry in httpd.conf file.
NameVirtualHost 127.0.0.1 <VirtualHost 127.0.0.1> ServerName localhost DocumentRoot 'C:\wamp\www' </VirtualHost> <VirtualHost 127.0.0.1> ServerName myclient.local DocumentRoot 'C:\wamp\www\ClientsMyClient' </VirtualHost>
Code language: HTML, XML (xml)
And now you need to modify the code a bit to match the server name with the one from your ‘hosts’ file and the DocumentRoot with your clients file path.
Get our Articles via Email. Enter your email address.

You may also like...

22 Comments

  1. amit says:

    Quite helpful

  2. Gaurav Gupta says:

    thankx, it was helpful

  3. thom says:

    does not work

  4. Chathura says:

    Thank you for sharing this great tutorial

  5. Nimesha says:

    Your blog posts are really helpful.This is for windows operating system. I have written this for Linux.
    http://www.nimesha.comyr.com/wordpress/?p=274
    http://www.nimesha.comyr.com/wordpress

  6. serty says:

    Isn’t that cute? But it’s wrong!
    Doesn’t work by me. I used *:80 instead of 127.0.0.1 and everything started to work as it should. Cheers!

  7. Dan says:

    *:80 is what I usually use instead of 127.0.0.1

    I’ve posted an article on setting up multiple virtual hosts in WAMP with little effort
    http://speedydan.co.uk/tutorials/set-multiple-virtual-hosts-wamp/

  8. Neelesh says:

    Nice..Thanks

  9. coz says:

    The tutorial is bad practice. This is the right way to do it.
    In httpd.conf uncomment
    LoadModule vhost_alias_module modules/mod_vhost_alias.so
    That loads up the virtual hosts file
    Then in extra/httpd-vhosts.conf
    add your virtual containers

  10. nha says:

    thanks

  11. Aset says:

    Code worked for me! But correction needed.
    1) Go to “C:\wamp\bin\apache\apache2.2.11\conf” folder and open “httpd.conf” file.
    Uncomment “#Include conf/extra/httpd-vhosts.conf” by removing # sign.
    2) Now open “httpd-vhosts.conf” file and add :
    NameVirtualHost 127.0.0.1

    ServerName localhost
    DocumentRoot ‘C:\wamp\www’

    ServerName myclient.local
    DocumentRoot ‘C:\wamp\www\ClientsMyClient’

    change data according to your folder name.
    Section on adding entry in hosts file is correct.

  12. Aset says:

    Sorry, I forgot to use tags and code is shown differently, use code from the article, but open another file which I indicated.

  13. Sandeep says:

    Thanks a lot….
    For me it is highly helpful, because I have setup static servers for static content. So I redirected static servers to a folder inside localhost….

    So, it saved my time…..

    Thanks again

  14. shyantan says:

    thanks a lot admin , at last i have success fully setup multiple hosting in WAMP server

  15. Jon says:

    Out of about 5 different tutorials on this subject, this one was the only one that worked, thanks!

  16. Taryono says:

    mantap bro….

  17. Gibson says:

    I have all whag you suggested but nothing done it does not work for me

  18. Maxim says:

    Thanks, you saved my time.

  19. TARYO says:

    great!,, thanks

  20. saran says:

    Awesome info. Worked to me without any issues.

  21. saran says:

    But the problem is that, I have created three virtual host with test php files. The first one is working fine. Other two is taking too much time. Let me know if I need to change something in this files.

  22. Joseph Bailey says:

    It depends on what wamp you have to do it how he did or have to uncomment

    Include conf/extra/httpd-vhosts.conf 

Leave a Reply

Your email address will not be published. Required fields are marked *