Been banging my head on this problem for several weeks, and now it's solved I thought I'd share the solution!
One reason Apache won't start is because it can't listen to port 80; i.e. something currently installed is using that port already. Don't assume that whatever was using port 80 is a web server! Download fport, follow the instructions to run it. Look down the list is provides until you find port 80, and make a note of the program/path; this listener is what you need to disable to get Apache to install.
In my case it was Skype, which by default has "listen to port 80 as an alternative" checked in the advanced options. In your case... who knows.