How to run IIS Web Server in Windows XP Home

Microsoft tell you that it’s not possible to run IIS, the Windows Web Server, on Windows XP Home Edition (see note 1). In previous versions of Windows, the home versions (Windows 98, ME etc) included something called Personal Web Server, which was a bit like a cut down version of IIS. Imagine my horror when I had to create a website using ASP (not my choice, I’m a PHP kinda nerd.) only to find that my shiny new operating system couldn’t even do something my mum and dad’s old Windows 98 box could do.

Having paid seventy odd pounds for this ‘upgrade’ I was a bit miffed that Microsoft had discontinued PWS. Then, after a bit of Googling, I discovered Win XP Home could run a web server after all – and IIS at that. As a bit of a bonus, you can also access the Windows XP Pro / Windows 2000 style advanced security settings (see note 2). Here’s how it’s done.

You will need:

  • Your Windows XP Home CD (or the I386 folder on your hard drive)
  • A Windows 2000 Advanced Server CD (I imagine it’s possible to use a 2000 Professional or XP Professional CD, but I can’t confirm this)

Instructions

  1. Find and edit the file X:\WINDOWS\INF\SYSOC.INF where X is the drive with your Windows XP Home Edition installation.
  2. Near the top should be a section called [Components]
  3. Find a line like this:
    iis=iis.dll,OcEntry,iis.inf,hide,7
  4. Change it to this:
    iis=iis2.dll,OcEntry,iis2.inf,,7
  5. Get the iis.dl_ and iis.in_ from the win2k server cd and copy them to a directory on your HDD.
    Use EXPAND IIS.DL_ IIS2.DLL from a command prompt
    Same for IIS2.INF, place IIS2.INF in x:\WINDOWS\INF and IIS2.DLL in
    x:\WINDOWS\SYSTEM32\SETUP where X is your Windows drive.
  6. Now go to Add/Remove Programs in the control panel and Add/Remove Windows Components.
    You should have IIS options and I could even options to deselect components which (apparently) you can’t do on XP Pro.
    If you just need

    IIS web server I recommend the default settings to stop any confusion. If you are confident enough to change these and want to then go right ahead.

  7. It will prompt you for files. Get them from XP Home CDs, Windows 2000 CDs, X:\WINNT\SYSTEM32\INETSRV, X:\WINDOWS\I386, etc. (the CDs should have all you need)
  8. You can get to your IIS from Control Panel’s Administrative Tools.
    Put an index.html file in the x:\Inetpub\wwwroot and add it to the list of Default Documents under the Documents tab of your website’s properties.
    Make sure you set up Inetupb’s wwwroot to be shared with other users. (See Note 2 for if this causes any problems)
    Open up IIS from Administrative Tools and click the Directory Security tab, right click your default web site and choose properties. Click Edit under “Anonymous access…” and Edit the account for anonymous access. Click Browse, Advanced and Find Now. Select the new user account IUSR_PCname. Click OK, OK, delete any characters in the password field and click OK, OK and OK again.
  9. If you have followed these steps you should see your website when you type http://localhost/ in the address bar of your browser.

Thanks to Richard Sandoz whose guide helped me a lot.

Note 1: As far as Microsoft are concerned, you need Windows XP Pro to do IIS – full stop. There was a workaround for this posted on their MSDN knowledgebase as Q310090 – but this has been removed You can notice that while it doesn’t exist, both Q310089 and Q310091 (totally unrelated) do!

Note 2: Contrary to common belief, you can also access the Windows XP Pro / Win2k security type settings on XP Home. To do this, all you have to do is reboot into safe mode and logon as the administrator. If you’re having any problems accessing the site from other PCs on your network, try doing this and selecting the wwwroot folder. Right click it and select Properties. There you’ll see our beloved Security tab with all the users listed. What you need to do now is Add the user mentioned above (IUSR_PCname) to the users with read access to this directory. After this everything should function normally.

Note 3: Don’t make the mistake I did of spending hours trying to figure out why you couldn’t see your site from it’s IP address. You will be able to see it from your own internal IP address for your network (in my case 192.168.1.69). However, if you try to use your WAN/Internet IP address, you will get a DNS error or “Cannot find server” message. However, if you can get someone outside your LAN to try and access it then it should work just fine.

Author: nerd.

An experienced IT professional, I used to run a number of small websites and spend a lot of time tinkering with my sites or my PC - back when I had free time.

7 thoughts on “How to run IIS Web Server in Windows XP Home”

  1. Thanks John (Izimi staff). Unfortunately Izimi is nothing remotely like the same thing. For a start is doesn’t run ASP, which was the whole point of getting IIS running.
    But this isn’t a thread to discuss Izimi, you can do that here: http://webworkerdaily.com/2007/03/05/izimi-internet-publishing-for-the-masses/

    In fact, it’s so unrelated to IIS, I’d guess that you just scrawled the internet looking for anything that said “Personal Web Server” and then spammed it. I find myself wondering if you even left the comment yourself or had a bot do it for you.

  2. Hi,

    I just tried this but the option for “application server” in the windows components section is unclickable, even when I press on details, none of the options can be selected.

    Any ideas ? btw, I used the files from a server 2003 disk, could this be why ? I dont have windows 2000 to try that, could you send me the two files off the disk ?

    Thanks,

    Chris

  3. Hi,

    I just tried this but the option for “application server” in the windows components section is unclickable, even when I press on details, none of the options can be selected.

    Any ideas ? btw, I used the files from a server 2003 disk, could this be why ? I dont have windows 2000 to try that, could you send me the two files off the disk ?

    Same for me

    Thanks

    Musarraf

  4. If you can “not” click on the components, you did not change the IIS.Dll in the SYSOC.INF to “ISS2.dll”…… iis=iis2.dll,OcEntry,iis2.inf,,7 …..

  5. thanks dear..
    i have follow the step as you have suggest, but still browser ask for username and password……
    whats the solution?????

Leave a Reply

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