It is possible to run both IIS and Apache on the same Windows machine, both using port 80 (http) and 443 (https), without any start-up or conflict issues.
To do this, you simply configure IIS and Apache to use different interfaces (i.e., IP addresses) with: one web-server binding on the Public IP address, and the other web-server binding on 127.0.0.1 (local host). Depending on your situation and needs, you can also assign the LAN IP to either IIS or Apache (…just ask yourself which web-server do you want reachable on the local/internal network?).
This way you’ll have both web-servers, and their hosted websites, using standard ports (with no need to use non standard URLs), just on different IPs.
With this method (for example), you could keep your existing IIS websites in production, while at the same time developing on and/or migrating to Apache (which is accessible on the local host). Later, you can move Apache to production by re-binding it.
1. Rebind all IIS websites (including “Default Web Site”) from “
*” and “
0.0.0.0” (“0.0.0.0″ means all IPs the system has) to the Public IP address… Select each website one by one, and in the Action pane, click Bindings.
2. Bind Apache from
127.0.0.1 per these simple instructions…
Binding Apache to a Specific Or [local] Secondary IP Address
Note that when you install a WAMP server such as WampDeveloper Pro, it will stop the IIS Service and change its “Startup Type” from “Automatic” to “Disabled”…
To minimize production downtime, after WAMP installation –
- Stop Apache.
- Go into Services (run services.msc), select the IIS Service (W3SVC / “World Wide Web Publishing Service”), change its startup type back to “Auto”, and start it.
- Rebind all IIS websites to the public IP address, and restart IIS.
- Rebind Apache to 127.0.0.1 per the above instructions, and start it.