IIS Configuration

Running IIS and Apache on the same server

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

IIS5 Disable Socket Pooling

To disable socket pooling, follow these steps:

1) Open a command prompt and make sure you are in the X:\Inetpub\Adminscripts folder (where X is the IIS installation drive).
2) From that folder run:
cscript adsutil.vbs set w3svc/disablesocketpooling true

The command replies as follows:

IIS: Install PHP connector

I've done many of these installs. Most of my servers run IIS5 with PHP4.x, but right now I'm in Apacheland.
I will review this later. But it's probably nearly good to go.

As a general note, remember IUSR_WebUser needs read permission on any files required to execute PHP (PHP connector DLL and/or EXE plus depend DLLs and the extensions), and read/write permissions to the session & upload folders.
These are defined in the php.ini, see: Php.ini common directives

Once you have PHP nicely installed, see: PHP Install
You need to add the connector to IIS.

It's pretty well documented here: http://us2.php.net/manual/en/install.windows.php

Native IIS 6 compression could be good ?

Many places with help to set it up.
http://www.it-hq.org/modules/AMS/article.php?storyid=122&page=2
http://www.wwwcoder.com/main/parentid/170/site/3669/68/default.aspx