Recently I was trying to setup SubVersion on my server system, and wanted Apache based access from the clients to the source control. This will give me the option to control the access from a central place and also enable the source control to be access through web at a later stage.
So to enable both the application to listen on port 80, I created a sub domain in my DNS which points to a different IP from the one which IIS is currently listening. After making sure the 'Default Web Site' is not listening to 'All UnAssigned' IP addresses and setting DisableSocketPooling to TRUE, I tried starting the apache service. But Apache gave out a error stating that it could not bind to the mentioned IP (the second one).
After doing some googling, I came across a useful FAQ from Macromedia site which was explaining how to setup breeze server and IIS 6.0 on the same server. It also had a link to a Microsoft KB Article which explained the reason why IIS 6.0 is taking up all the present IP's on the server and how do we go about installing more than one application which listens on port 80 using different IP's.
It seems that just setting DisableSocketPooling to TRUE would not help in the case of IIS 6, so we need to make use of a utility called Httpcfg which comes in the Support tools directory of windows installation CD to make the IIS 6 to listen on specific IP's.
And also, after following the instruction to set the listening IP list for IIS 6, just restarting the IIS service is not sufficient; the HTTP service has to be restarted; which can be accomplished using the following commands:
net stop http /y
net start w3svc
Now all is fine and both IIS 6 and Apache are running along side happily :)