So, I've changed the port Apache uses to port 500 because 80 was full of system and some IIS that kept coming back every time I killed it. Whenever I run that pre-run check it says ports are free, and when I try to start Apache, a command prompt flashes up and then closes faster than I can read what's on screen. My current guess is that port 500 isn't actually a free port or something or the port doesn't exist, I haven't checked that yet though. When I run server status, it tells me MySQL is running fine, but that Apache isn't running and both its SSL and normal ports are free.