You can not have two services offered on the same ip and port numbers.
On the same server, different services (IIS and Apache) need a unique IP/Port combination.
1) IIS might be binding to all ips on port 80. This has been the standard behavior of IIS since many years. So to run Apache with IIS, you first need to make sure IIS does not bind (i.e. listen) on all ips. The following article will help you disable IIS 6 from automatically binding to all ips on the Windows 2003 Server.
Before IIS6 (i.e IIS5), you simply had to set the metabase property "DisableSocketPooling"
to true (and that was it).
For details on doing this see: Disable socket pooling on IIS5
Apache comes standard with the mod_deflate module that enable you to compress the content of web pages before they are sent over the wire. Please note that you should probably disable other compressors (like PHP compression, if enable) before using the Apache compression feature.
To enable compression under Apache with the module mod_deflate, please follow these instructions: