Logo


Virtual Hosts under Windows and Apache

Posted in php, windows, Apache by Dragan on the April 8th, 2007

Or, yes I'm sick of http://localhost/projects/

When i work under linux, i setup virtual host for every new project, so i don't have to have to deal with paths and other stuff you get when you keep your project in /projects/ folder.
I never even tried to setup Virtual Host under windows, I was convinced that it takes some voodoo magic to get it work, but it turns out to be 5 minutes of work.

For web development under windows I personally use wamp. It's good any other all-in-one solutions, but for some reason i stick to it. You may also wanna try xampp.

So, lets get down to action.
Step 1.
First you must create new local directory for your new project, eg: C:\wamp\test-project

Step 2.
Next, you need to edit C:\WINDOWS\system32\drivers\etc\hosts, and add line with ip and your project virtual host name
eg:

      127.0.0.1 localhost
      127.0.0.1 test-project.example.com

Step 3.
Try to ping your new host. Go to command prompt and type ping test-project.example.com

C:>ping test-project.example.com

Pinging test-project.example.com [127.0.0.1] with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
.
.

Step 4. Edit the httpd.conf file at the virtual hosts section (usualy at the end of file).

      NameVirtualHost *

      # this is the default mapping to http://localhost/
      <VirtualHost *>
          DocumentRoot C:\wamp\www
          ServerName localhost
      </VirtualHost>

      # the new virtual host mapping to http://project-name/
      <VirtualHost *>
          DocumentRoot "C:\wamp\test-project"
          ServerName test-project.example.com
      <Directory "C:\wamp\test-project">
          Options Indexes FollowSymLinks Includes
          AllowOverride All
          Order deny,allow
          Deny from all
          Allow from 127.0.0.1
          DirectoryIndex index.php
        </Directory>
     </VirtualHost>

5. Restart Apache and point your browser to http://test-project.example.com

Congratulations, now you can enjoy you virtual server and forgot about http://localhost. :)

Viewed 104262 times by 36816 viewers


All Rights Reserved, Copyright © 2007 Dragan Bajcic.
YourTree | Dragan@YourTree | LG Shop | Web Development and Consulting