Ok so you want both IIS and Apache on the same machine. The problem is that IIS is rather greedy and takes up any IP addresses that you have on the machine so that Apache can not have a lock on any IP address, even if you specify IP's in the IIS management console. If you type in netstat -an and you see 0.0.0.0:80 it means that IIS has got hole of everything.
1) Added or make sure your machine has two ip’s
2) Open a command prompt
3) Type netsh
4) Type http
5) Type sho iplisten. It should be blank6) Type add iplisten ipaddress=192.168.0.90
You should get IP address successfully added7) Type sho iplisten again
It should sho 192.168.0.90 in the list8) Type exit to get out of netsh
9) Type type netstat -an. See if you notice 192.168.0.90:80 in the list. If you see 0.0.0.0:80, do an iisreset
10) Download and install Apache (actually I installed Xamp)
11) Do a default install,
12) Open httpd.conf and adjust the ip listen to 192.168.0.91:80
2) Open a command prompt
3) Type netsh
4) Type http
5) Type sho iplisten. It should be blank6) Type add iplisten ipaddress=192.168.0.90
You should get IP address successfully added7) Type sho iplisten again
It should sho 192.168.0.90 in the list8) Type exit to get out of netsh
9) Type type netstat -an. See if you notice 192.168.0.90:80 in the list. If you see 0.0.0.0:80, do an iisreset
10) Download and install Apache (actually I installed Xamp)
11) Do a default install,
12) Open httpd.conf and adjust the ip listen to 192.168.0.91:80
# Listen: Allows you to bind Apache to specific IP addresses and/or# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80
#Was 80
#Change to
Listen 192.168.0.91:80
12) Restart the Apache service.
13) Type netstat -an
14) You should see 192.168.0.90:80 and 192.168.0.91:80. Open a browser and test both IP’s to see if IIS7 and Apache come up.
15) Reboot the server to see if it works after that.
16) Turn off Apache, browse IIS, turn of IIS, browse Apache. Test it every which way to see if it works.
13) Type netstat -an
14) You should see 192.168.0.90:80 and 192.168.0.91:80. Open a browser and test both IP’s to see if IIS7 and Apache come up.
15) Reboot the server to see if it works after that.
16) Turn off Apache, browse IIS, turn of IIS, browse Apache. Test it every which way to see if it works.
I got this from http://iislogs.com/steveschofield/2007/07/07/iis7-post-44-iis7-and-apache-on-the-same-machine/ and I am repeating it here so I know where to find it in the future.