Step-by-Step: Host Headers: Running Multiple Websites on 1 IP Address
Updated: April 28, 2001


For Windows 2000 Advanced Server/Server - Adding new virtual servers (DSLwebserver.com)

In this section, we'll go through how to run a website with several domains on one IP number. The more typical way of setting up a website is to have one IP number for one domain name. However, if you are doing this from home, getting an additional IP numbers can be expensive. My ISP charges $8 a month for each additional IP number. That's where IP-less (also known as "virtual" hosting) comes in.

Question style kicking in:

How does it work?
Basically, the webserver will get the domain that is typed in from the user and send the appropriate request to the proper site. For example, this webserver runs about 10 sites on 1 IP number. When the server gets a web request with "www.dslwebserver.com/etc/...." it looks at the root "www.dslwebserver.com" and directs it to the proper site. This feature may not be compatible with all web browsers, but works fine with all current versions of IE and Netscape.

Which webserver support this?
Various version of Linux and Windows NT/2000 Server flavors. Sorry, this feature is not available in Personal Web Server (PWS) or Windows 2000 Professional. Those operating systems can only host 1 website/1 domain name.

What if you just type in the IP number in your web browser, which website will you get?
You'll get the default message, but you can set it up to go to which ever website you'd like. I personally like to leave it at the "You are not authorized to view this page" front page. That way I can keep all my websites separate.

Let's first get to the Internet Services Manager where we can control the setup of our webserver.

Start -> Settings -> Control Panel -> Administrative Tools -> Internet Services Manager

My server computer is cleverly named "Server" which is why all the screen shots have "*server" on them. If you call your server "doofus", then you'll see "*doofus". 

To add a new website, we first right click on your server name -> New -> Web Site

Now we have the handy wizards to help us out.

Click "Next"

Enter a description of your Website, just for your own personal use. Click "Next"

Here you will get to choose the IP number that your website is supposed to respond to. If you had several IP numbers that each went to a particular website, you would use the drop down list to assign a particular IP to a particular domain name. Since most of us will have only have 1 IP, you can leave the box as "All Unassigned" which means that all requests to that server will be answered by this website that you are currently configuring.  For the most part, "All Unassigned" works fine, however, there are certain instances where this will cause problems.  Therefore, I recommend that you always pick and IP address and NOT choose "All Unassigned".

First Box:
Here I choose the IP number of my server which is "192.168.1.20". This however is NOT the IP number of my DSL line. This is the IP number of the server on my internal network know as the Local Area Network (LAN). The Wide Area Network (WAN) includes the whole internet.  Why do I have it setup this way? The reason is that my server and several other computers don't actually connect directly to the Internet, but instead connect to a router which is connected to the Internet. Using a router, several computers can share one DSL connection and one IP number. The router is setup to send all web requests to my server computer which I have setup as 192.168.1.20. "192.168.1.xxx" may look familiar to you because it is one of the range of IP numbers that are official LAN network IP numbers. If your computer is directly connected to your DSL/Cable line, then you would select your DSL/Cable IP number.

Second Box:
Next choose the port number the website should use. Almost all web requests use port 80 and unless you have a very specific reason for changing the port number, leave it at 80.

Third Box:
Here is the host header box. This box connects the proper website to the proper domain name. In my case, it's "www.dslwebserver.com"

Click "Next" to move to the next step.

This screen assigns which directory on your hard drive the website is supposed to reside in. This can be any directory you want.  The default directory is "c:\Inetpub\wwwroot" but you can set this to any directory or even a different hard drive.  If you have multiple websites on this server,  then you should probably create a different directory for each site.  In my example, I created a new directory named "dslwebserver".

The check box allows you to choose to have anonymous access to your website which is what most of us want, so we leave it checked here.

Here are the permission you give visitors to your site. Here the permissions include every part of your website. But if you only want certain parts to have certain permissions, you can choose to do that later. For example, if you have CGI scripts on your server, you can set it up so only the CGI directory has the "Execute" permission needed to run CGI scripts.

Click "Next" and we are done setting up the web service part.

So far, your webserver will respond to: www.yourdomain.com. Now I need to add it so people can leave off the "www" and still access the the website.

In Internet Information Services select the name of the domain. Right click on the domain name, then select "Properties".

Click on "Advanced" in the "Website" tab.

Click "Add" then enter the IP number of your computer (LAN side) the port number 80 and then the domain name without the "www". It should look like this when you're done.

Now you can access your webserver from "www.yourdomain.com" and "yourdomain.com".
 



Step by Step Menu