This tutorial assumes XAMPP or AMPPS installed on a Windows XP machine with Service Pack 3.
The instructions should work for other versions of Windows, but no guarantee is made.
For non-Windows systems, the general causes and procedures should be the same, but adapted for whatever OS you are running.
It is frustrating to install the Apache Server (whether through a package like XAMPP or AMPPS or separately installed) and not have it work.
The most common reason is that some other application is using the ports needed by the Apache Server. These are port 80 (http) and port 443 (https).
To check this, we need to see what applications are using which ports.
Some images may be clicked for full sized versions.
Download a TCP Port Monitoring Application
1) Download CurrPorts from NirSoft. The download link is located near the bottom of the page (just above all the various language packs available for it):
2) You will be prompted to Open or Save the application. Saving is probably the better option. Remember where you saved it:
3) Open the download:
The next step assumes Windows is providing archiving functionality for you. If you are using some other application (like WinZip or IZarc) then the instructions will be different.
4) Click on File and select Extract all:
5) Click on Next:
6) Click on Next if you accept the location the files will be extracted to, otherwise, enter a different location to extract the files to:
7) Ensure the Show extracted files checkbox is checked and click on Finish:
8) Double-click on the CurrPorts application to launch it:
9) Windows may popup a warning dialog. Click Run. You may also click on the Always ask before opening this file checkbox to prevent this warning form appearing in future:
In future, you can simply go to the directory that the CurrPorts application is located and double-click on the icon to start it. You can also create a shortcut to it, if you like, or add it to your Start Menu.
Checking which Ports are in Use
CurrPorts shows a lot of information about which applications are using which port:
10) Locate the tab Local Ports and click on it to sort the ports in ascending order:
Locating Port Conflicts
With the ports sorted, you can now check to see which applications (if any) are using the following ports:
Port 80 (http): the Apache Server, in both XAMPP and AMPPS, uses this port to serve up web pages using the Hyper Text Transfer Protocol. The most common application using this port (aside from Apache Server) is the Microsoft Internet Information Server (IIS). In order for Apache Server to work correctly, you need to disable any application using this port, or configure it to use some other port.
Port 443 (https): the Apache Server, in XAMPP, uses this port to serve up web pages using the Hyper Text Transfer Protocol Secure. The most common application using this port (aside from Apache Server) is the Microsoft Internet Information Server (IIS). In order for Apache Server to work correctly, you need to disable any application using this port, or configure it to use some other port. The Apache Server in AMPPS does not use this port or protocol.
Port 3306: this port is used by the MySQL database. If some other application is using this port, then your MySQL database will not work. In order for MySQL database to work correctly, you need to disable any other application using this port or configure it to use some other port.
Instructions for disabling the IIS can be found here.