post link:
http://forums.iis.net/t/1154162.aspx
Question:
I am running IIS 7 for all my web hosting needs. I use it for a web, print, and Exchange server. However I am setting up a subversion server and to use subversion over HTTP I need to use Apache. I still want to run subversion/Apache on port 80 though which is the same port IIS is running on. I want to set up a subdomain of http://dev.mydomain.org that will only be used for subversion traffic. Is there anyway to tell IIS to foward the subversion traffic from http://dev.mydomain.org to Apache?
I know this can easily accomplished if I set Apache to listen on a different port, but if I can keep on port 80, that would be the most perferred.
Weird question I know.
Answer:
by Steve Schofield
http://weblogs.asp.net/steveschofield/archive/2007/07/06/iis7-post-44-iis7-and-apache-on-the-same-machine.aspx
There was a question on http://forums.iis.net about having Apache and IIS7 on the same box. here are the instructions I tested on Vista RTM and Windows Server 2008 B3. This assumes you have two ip addresses on the box, 192.168.0.90 and 192.168.0.91. It can be any ip's.
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 blank
6) Type add iplisten ipaddress=192.168.0.90
You should get IP address successfully added
7) Type sho iplisten again
It should sho 192.168.0.90 in the list
8) 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 ( I did it with 2.2.4)
http://mirror.nyi.net/apache/httpd/binaries/win32/apache_2.2.4-win32-x86-no_ssl.msi
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. (for some reason the start / stop thing didn't work for me, I used net stop apache2 net start apache2.)
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) Test restarting Apache service 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.
Hope this helps