Tweeter button
Facebook button

Running IIS 6 and Apache on the Same Server

We have a Windows 2003 server in the office, with Apache installed to run test sites on.  However, we wanted to install Exchange 2003, which meant installing IIS 6 onto the machine as well.  We had added multiple IP addresses to the server so that IIS could have one and Apache could have another (so they could both run on port 80).  However, we ran into the problem that IIS was taking control of all IP addresses on port 80 and so Apache wouldn’t start. It seems that IIS 6 has a “feature” called Socket Pooling that claims all ports for all loaded IP address (even if not configured in IIS).  So IIS had control of the port 80 on the IP address we had assigned to Apache.

Workaround:

  1. Extract the httpcfg.exe utility from the support tools area on the Win2003 CD.
  2. Stop all IIS services:  net stop http /y
  3. Have IIS listen only on the IP address I’d designated for IIS:  httpcfg set iplisten -i 192.168.1.253:80
  4. To test:  httpcfg query iplisten (the ip’s listed are the only ip addresses that IIS will be listening on)
  5. Restart IIS Services:  net start w3svc
  6. Start Apache service

Now, Apache and IIS6 co-exist on the same server, both listening on port 80.

You must be logged in to post a comment.