With this tutorial, we are going to take a look at the best way to configure a local web server to serve fake domain/subdomains (or virtual hosts) accessible via our browser of choice. Using virtual hosts is a really useful solution to isolate configurations for each virtual host–and it’s easier to migrate code.
We are using Windows 7 as our OS and AppServ v2.5.10
Step 1: Enable the vhost_alias_module in our Apache configuration file:
Open file httpd.conf file located in D:\AppServ\Apache2.2\conf ( or C:\AppServ\Apache2.2\conf)
Change line 203:
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
To this:
LoadModule vhost_alias_module modules/mod_vhost_alias.so
In the same file, we change line 561:
#Include conf/extra/httpd-vhosts.conf
To this:
Include conf/extra/httpd-vhosts.conf
Save the changes and close the file.
Step 2: Edit the vhosts configuration file (httpd-vhosts.conf) in order to define our virtual hosts:
We open the file (located in D:\AppServ\Apache2.2\conf\extra or C:\AppServ\Apache2.2\conf\extra)
Change line 27-34:
<VirtualHost *:80> ServerAdmin webmaster@dummy-host.x DocumentRoot "C:/Apache2.2/docs/dummy-host.x" ServerName dummy-host.x ServerAlias www.dummy-host.x ErrorLog "logs/dummy-host.x-error.log" CustomLog "logs/dummy-host.x-access.log" common </VirtualHost>
To this:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot "D:/AppServ/www" ServerName localhost ServerAlias localhost ErrorLog "logs/localhost-error.log" CustomLog "logs/localhost-access.log" common </VirtualHost>
Now our localhost vhost is setup. Next, we will setup a custom vhost for our webapp project. To do this, let’s create a new folder called ex: “s3” in D:\AppServ\www . We can create some file in that folder like index.php.
Ex: we need create virtual host “s3.localhost”:
In the same file, we change lines 36-42
<VirtualHost *:80> ServerAdmin webmaster@dummy-host2.x DocumentRoot "C:/Apache2.2/docs/dummy-host2.x" ServerName dummy-host2.x ErrorLog "logs/dummy-host2.x-error.log" CustomLog "logs/dummy-host2.x-access.log" common </VirtualHost>
To this:
<VirtualHost *:80> ServerAdmin webmaster@s3.localhost DocumentRoot "D:/AppServ/www/s3" ServerName s3.localhost ErrorLog "logs/s3-error.log" CustomLog "logs/s3-access.log" common </VirtualHost>
Now, we save the changes and close the file.
Step 3: Open file C:\Windows\System32\drives\etc\hosts
We add 2 lines to the end of file:
127.0.0.1 localhost
127.0.0.1 s3.localhost
Step 4: restart your machine.
Now, open our browser and go to our newly created virtual host “s3.localhost”