After Upgrading to Windows 10. My Apache just wont work;
wasted hours searching through internet. And I found this solution.
The following error appeared in the Application Event
Viewer (Administrative Tools):
The Apache service named reported the following error:
>>> (OS 10013) An attempt was made
to access a socket in a way forbidden by its access permissions.
:make_sock: could not bind to address 0.0.0.0:80.
Another application was hogging port 80.
The Obvious Candidates
There are a number of well-known Windows programs which
use port 80:
IIS
The most likely culprit is Microsoft Internet Information
Server. You can stop the service from the command line on
Windows 7/Vista:
net stop was /y
or XP:
net stop iisadmin /y
or Windows 10:
You can disable it by going to Programs and Features.
Click on Turn Windows features on or off. Uncheck Internet Information Services
and also Internet Information Services Hostable Web Core if it is checked.
Click OK to remove those applications.
SQL Server Reporting Services
SSRS can remain active even if you uninstall SQL Server.
To stop the service:
Right Click My Computer
Click Manage
Click Services and Applications
Open SQL Server Configuration Manager.
Select “SQL Server Services” in the left-hand pane.
Double-click “SQL Server Reporting Services”.
Hit Stop.
Switch to the Service tab and set the Start Mode to
“Manual”.
Skype
Irritatingly, Skype can switch to port 80. To disable it,
select Tools > Options > Advanced > Connection then
uncheck “Use port 80 and 443 as alternatives for incoming connections”.
What’s Using Port 80?
Further detective work is necessary if IIS, SSRS and
Skype are not to blame. Enter the following on the command line:
netstat -ao
The active TCP addresses and ports will be listed —
locate the line with local address “0.0.0.0:80″ and note the PID value.
Now right-click the task bar and select Start Task
Manager. Navigate to the Processes tab and, if necessary, click View >
Select Columns… to ensure “PID (Process Identifier)” is checked. You can now
locate the PID you noted above. The description and properties should help you
determine which application is using the port.
The Task Manager allows you to kill the process, but be a
little wary about doing that — especially if it’s “NT Kernel & System”.
Microsoft-HTTPAPI/2.0
NT Kernel & System is an essential service.
Stopping it will probably stop Windows in a blue-screeny-like way.
Install Telnet on Windows 10:
Open cmd with
admin rights.
Enter the command:
dism /online /Enable-Feature
/FeatureName:TelnetClient
Checking whats using up Port 80.Enter the following at
the command line:
telnet 127.0.0.1 80
If you’re faced with a blank screen, type “GET” and hit
return. The chances are, you’ll see a line stating that Microsoft-HTTPAPI/2.0
is listening on port 80.
If that’s the case, open Services from Administrative
Tools and locate “Web Deployment Agent Service”. Stop the service and set it’s
startup type to “Manual”.
The Web Deployment Agent Service is deployed with WebMatrix
and was the cause of my woes. It may also be distributed with other
applications installed using Microsoft’s Web Platform Installer.
That caused me a few frustrating hours so I hope it
solves your Apache or WAMP start-up problems.