I have a Windows 7 machine serving a very few (but important!) pages. I have an exception that allows any traffic to port 80*, but Apache 2.2 still can't serve pages (though I can see them from the machine itself). If I disable the Windows Firewall entirely, though, I can ping the box and load pages.
What else do I need to configure so that Apache can do its job?
* Actually, the same thing happens even if I change the exception to "all ports" rather than just 80.
Best Answer
Whether or not port 80 is open on your firewall, doesn't mean that ping will start working if Apache is running correctly. Ping uses ICMP which is a protocol of it's own that needs to be opened on the firewall in order to receive ping replies from your machine. So don't count on ping to verify if your apache configuration/firewall configuration is working.
In response to your firewall rule for tcp 80, please go to your rule's properties and check if all 3 checkboxes (Domain, Private, Public) are checked, and if not check them.
Here's a HOWTO with the exact steps you need to take in order to open port 80 on Windows 7: link
Update:
Please also check if you're not blocking the apache process itself with Windows Firewall.
1. Go to Control Panel
2. Select System and Security
3. In the Windows Firewall section, select Allow a program through Windows Firewall.
4. Unchecking the box to the left of the application name disallows it from accessing network resources, while checking it allows access.
If Apache is not listed, you can click the Allow another program… button to add it and then check the boxes under Home/Work and Public.