XAMAPP Apache failed to start – Port 80 is busy in Windows 7 / Windows 8 - PID 4 running
XAMAPP Apache error–Port 80 is busy
This is one of the most popular problems. There are several common situations, and remedies.
Common Situation 1: Skype
You have Skype installed. You need to disable the following things to fix it.
![]() |
| Skype settings responsible for grabbing port 80 |
Common Situation 2: IIS
You are running IIS Server. There are two possible solutions. One is to turn off IIS server by opening IIS Server Manager, the other is to completely disable IIS server service in your computer.
![]() |
| Turned off IIS |
Uncommon Situation 3: Unknown process using port 80
First of all, open cmd. You can do so by opening Run and then typing cmd, then pressing enter.
After opening cmd, type this
netstat -aon
It will give some output. Find out the line something like this. It will contain something that will look like :80.
Notice the PID (Process ID)? Now, open task manager by pressing Ctrl+Shift+Esc. Go to the process details and look for the PID you found out. In this case, its PID is 4.
Now, this is a weird situation. As you can see, it is a system process. You should not close a system process. Moreover, it’s description NT Kernel & System, meaning it is being used to run the process which is using port 80 and we don’t actually know which process is using it.
However, this is also solvable. After a bit of digging, I found that it is also a common scenario(!) to have NT Kernet & System grab port 80 for one particular service in both Windows 7 and Windows 8.
Go to Run prompt again. Type services.msc and press enter. It will show the services. Find the service by the name Web Deployment Agent Service. You have to stop it (by right clicking, or by the left menu). And after stopping you should be able to run Apache in port 80 without any problem.
![]() |
| turn off the service! |
What if Web Deployment Agent Service is not running?
Well – I am not sure what to do if it is a system process, and grabbed port 80, and is not Web Deployment Agent Service.
I didn't find the Web Deployment Agent Service. What should I do?
- Timur Bakarov mentioned that stopping the World Wide Web Publishing Service worked in that case. Thanks Timur!
- Sanden mentioned that SQL reporting service might grab port 80, so you might want to look out for that as well.
I found the Process ID and it is not Skype, or IIS, or System!
Cool. Shut it down through task manager. (After you are sure that you have saved all things related to it and it is not an important process)
I do not want to stop the process which grabbed port 80. But I still want to run Apache!
Great. You will have to change the port of Apache then. You can change it by opening this file
ApacheDirectory/conf/httpd.conf
Then, find this line.
Listen 80
See that 80? That’s the port. Change it to another value, for example 8080. You will be able to start Apache after that. Remember to access it through browser using port. For example, if the address you want to access is localhost of Apache running in port 8080, you have to enter localhost:8080 in browser.





Comments
Post a Comment