Building an IIS web server on a home LAN

This post explains how to set up an IIS 5.1 server on your home network for serving web pages, and then add it to your Workgroup so you can edit those pages from a different PC without the need for an FTP server and client.

You’ll need a PC running Windows 2000, XP Professional, or 2003. The different operating systems offer different versions of IIS, with 5.0 and 6.0 being much more full-featured than the 5.1 version that ships with XP Professional. But if all you want to do is test ASP pages and serve them to computers on your home network, 5.1 should suffice.

I’m using an ancient Compaq Armada laptop with a 700 MHz Intel Pentium III and 192 MB RAM. I did a clean install of XP, and it works surprisingly smoothly. I’m serious.

If you want your server to be accessible from outside the LAN, you’ll have to look elsewhere for instructions. I’m not comfortable advising anyone on the security risks of doing that.

Install IIS

Find your Windows XP Professional installation CD and pop it in. Open your Control Panel -> Add or Remove Programs -> Add/Remove Windows Components. Check the box next to Internet Information Services (IIS) and click Next to install. The default settings for the components should be fine.

Open a browser and enter “http://localhost/localstart.asp” into the address bar to confirm the server is running. You’ll likely be prompted for your username and password. You don’t need to go any further if you don’t want to.

Add the PC to your Workgroup

Right click My Computer -> Properties -> Computer Name tab. Click the Change button and enter the name of your Workgroup. Click Ok to save the change and then reboot.

Share the web folders

Open Windows Explorer and navigate to “C:\”. Right-click on the “Inetpub” folder and select “Sharing and security…” Either run through the Network Setup Wizard, or just start sharing the folder. (If you run through the wizard, you’ll be asked how your computer connects to the Internet. Chances are you’ll want to select “Other” at the first opportunity. It’s head-slappingly annoying that there are only five possible choices, yet Microsoft decided to spread them across two pages of options, and then put the two most likely choices on the second page.)

Navigate to “C:\Inetpub” and share the “wwwroot” folder. For some reason, this needs to be shared specifically, while the other folders at this level inherit sharing from the “Inetpub” folder.

Confirm you can access the folders from your primary PC. In Windows Explorer, navigate to My Network Places -> Entire Network -> Microsoft Windows Network -> Workgroup -> <your_server> -> Inetpub -> wwwroot.

Turn on the server

If the server isn’t running automatically after the reboot, open your Control Panel -> Administrative Tools -> Internet Information Services. You might want to right-click and drag this to make a shortcut on the desktop. (The IIS control panel is located at “%SystemRoot%\system32\inetsrv\iis.msc”.)

Drill down to “Web Sites” -> “Default Web Site”, right-click and select Start.

You can also create Virtual Directories, if you like, from the right-click menu.

Add a test folder (optional)

I’d recommend creating a folder in “C:\Inetpub\wwwroot\” called “test” or something and throwing a simple index.html file into it. If you browse to http://localhost on the server, you’ll be prompted for a username and password, but if you browse to a subfolder, such as http://localhost/test/index.html, you’ll get right in. This makes testing your setup from another PC easier.

Once you can get to http://localhost/test/index.html from the server, continue.

Open the Windows Firewall port

Open your Control Panel -> Windows Firewall -> Exceptions tab. Click on “Add Port”, name it HTTP, enter “80” as the port number and leave “TCP” selected. Click OK.

The web server can now act like one and respond to non-local port 80 requests.

Get the IP address

Start -> Run. Type “CMD” and click OK. Type “ipconfig” and press Enter. Jot down the IP address.

You will probably want to make this IP address static. I’ve found that doing it from the router’s admin panel is better than doing it from that connection’s properties.

Browse to the site from another PC on the LAN

Open a browser and enter http://192.168.x.x/test/index.html

You should be looking at your test page. You should also be able to connect using the server’s name instead of the IP address.

7 thoughts on “Building an IIS web server on a home LAN

  1. James

    Cheers you have helped to set up my testing server, am running virtual pcs with alternate versions of Internet Explorer to test web pages on, as Microsoft have decided to release yet another browser that doesn’t comply to W3C standards.

  2. Bhavna

    Thanks a lot.
    It works great. I was looking for testing my website on intranet and this solution works great.

    Cheers.

  3. criollo

    Helpful but very light. Most important discussion should include how to set up the security features to make sure the access to IIS local site is only from the intranet. A good discussion of inbound and outbound rules would be appreciated.

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>