I installed IIS on a Windows 8.1 machine but my Web pages were only visible from the machine with IIS, not from any other machine on my work network. To fix I had to modify a setting in Windows Firewall.
It all started when I needed to do some experiments with Web applications. I had a relatively new Dell desktop machine so I figured I’d install IIS (Internet Information Services) on the machine. How hard could it be?
First, I correctly remembered that you don’t really install IIS, instead you sort of activate IIS. So I went to Control Panel, Programs and Features -> Turn Windows features on or off. In the dialog window I expanded the Internet Information Services item and checked IIS Management Console under the Web Management Tools section, and the all the sub-items in the Application Development Features item.
Then, to test, I launched Notepad with “Run as administrator” (necessary) and created a tiny hello.html page, and saved it at C:\inetpub\wwwroot\Hello (I first created the Hello directory).
I launched Internet Explorer and navigated to //localhost/Hello/hello.html and my page displayed. For a moment I thought everything was good. But when I tried to view the hello page from another machine on my work network, the page was not accessible. I don’t remember the exact error message.
Then I remembered that there was some additional setting I needed but I couldn’t remember exactly what it was. I only set up a Web server once every couple of years or so. Anyway, after some Internet searching I remembered I had to adjust the Windows Firewall “World Wide Web Services” setting from Enabled = No to Enabled = Yes. I got to the firewall settings from Control Panel -> Administrative Tools -> Windows Firewall with Advanced Security, then the Inbound Rules item, then Properties.
After enabling the WWWS inbound rules, I restarted IIS from the IIS manager, and my Web page was then visible from other machines on my network.