46

I have installed WAMP on Windows 7 64-bit. When I try to start it, it says port 80 is used by "Server: Microsoft HTTPAPI/2.0".

I have checked and IIS is not installed. What should I do?

reformed
  • 3,922
  • 9
  • 51
  • 77
datisdesign
  • 3,005
  • 7
  • 25
  • 29
  • 1
    Some case Port 80 is being used by SYSTEM or other services. This like may helps you http://openguider.wordpress.com/2014/01/31/how-to-solve-port-80-problems-on-windows/ – Dharmalingam Arumugam Jan 31 '14 at 17:38
  • That message means its something to do with IIS. If you are not using IIS then uninstall it, or disable it. This may help http://forum.wampserver.com/read.php?2,126303,126315#msg-126315 – RiggsFolly Feb 05 '15 at 11:13
  • Uninstall it or disable it. Because stupid Apache's open source ass can't just determine what ports are free when it's installed. You just have to uninstall or disable IIS and live with not using it. – Christine Jan 08 '16 at 21:51

26 Answers26

74

This problem can be also from SQL Server Reporting Services. You need to stop/disable this service from:

  1. Control Panel->System and Security->Administrative Tool->Services and stop the service named SQL Server Reporting Services (InstanceName) enter image description here

  2. Open SQL Server Configuration Manager -> SQL Server Services stop/disable SQL Server Reporting Services (InstanceName) enter image description here

TotPeRo
  • 6,065
  • 3
  • 39
  • 55
34

I've solved this today!!! You go to "Control Panel" >> "System And Security" >> "Administrative Tools" >> "Component Services" >> "Services (LOCAL)"

Now, since you are using WAMP and not IIS you should disable the "World Wide Web Publishing Service" and the "Web Deployment Agent Service". You are good to go.

If this doesn't work you probably have Skype using Port 80 (if you actually have Skype). (If you have IIS installed you should also disable it. But if you don't have it installed you shouldn't worry!)

Martijn Pieters
  • 889,049
  • 245
  • 3,507
  • 2,997
The Computer Hugger
  • 1,044
  • 8
  • 10
22

An other solution could be to simply alter the appache httpd.conf. You can acces this file from the wamp menu > Apache > httpd.conf

Next alter the

#Listen 12.34.56.78:80
Listen 80

To for example

#Listen 12.34.56.78:7080
Listen 7080

Restart wamp and services then type http://localhost:7080 and you'll have wamp up and running

And disable the IIS service if installed.

Syneryx
  • 1,258
  • 11
  • 18
7

I came across this other post which helped me. For me

The Apache service wouldn't start because TCP/IP port 80 was in use.

The error was, Port 80 is used by "Server : Microsoft HTTPAPI/2.0".

The obvious thing was to disable the IIS web server, which can also use port 80. But this didn't solve the problem.

It turns out there are a long list of other services that can also use Port 80: These include the following services.

  • SQL Server Reporting Services
  • World Wide Web Publishing Service
  • Web Deployment Agent Service
  • Branch Cache Service (<== This was the important one for us, and also the one that is least documented)

Source

Bhargav
  • 841
  • 1
  • 13
  • 24
  • 1
    stopping SQL Server Reporting Services solved my problem – grvpanchal Feb 25 '17 at 12:50
  • Just to add on that after intalling `Visual Studio 2017`, `Web Deployment Agent Service` is re-enabled. You will have to disable it again then re-enable when required...or at least stop it, if you feel you will be needing it – user919426 Mar 12 '17 at 15:18
6

I have successfully rooted out the problem in windows 8. I hope this will be helpful to others 1) Go to control panel -Turn window features on or off - uncheck: internet information service IIS and internet information service hostable web core.

2) Control panel + system and security + Administrative + services (Disable all SQL Servers).

3) This one no one so far mention it: -control panel + system and security + Administrative tools + system configuration + services (uncheck Web Deployment Agent Services).

Omer Sakin
  • 61
  • 1
  • 1
5

This worked for me:

  • Services > “Web Deployment Service Agent”
  • Stop, set to Manual
  • Restart WAMP

Source: http://theandystratton.com/2012/wampapache-broken-from-microsoft-httpapi-2-0-using-port-80

sura2k
  • 6,447
  • 12
  • 57
  • 78
4

I had this issue as well.

After testing port 80 in the apache folder, it said that port 80 was being used by HTTPAPI/2.0.

I disabled web deployment agent service(MsDepSvc) then clicked start on wampapache and it started working.

Elrond_EGLDer
  • 47,430
  • 25
  • 189
  • 180
iman
  • 1,455
  • 1
  • 18
  • 31
4

Recently found another service that steals port 80 - a recent update of Razer Synapse installed the "Razer Chrome SDK Server" service which takes it. Disabling this freed the port for me.

Dragan Marjanovic
  • 1,209
  • 5
  • 16
  • 27
3

Your WAMP does not start because port 80 is being use by another program (Microsoft-HTTP API).

So just change the port Apache uses. To do that click on your WAMP icon in tray go to APACHE and open httpd.conf. In the opened text editor look for the line

Listen 80

and replace it with

Listen x

where x is your desired new port.

Now WAMP should start ok and you could access localhost with http://localhost:x where x is your desired new port.

If by any chance you want a port that is already being used by another program you could see busy ports by going to command prompt and typing

netstat -ao

Also you should allow access to that port in your default browser too. You can find out how to do this for Firefox 3 by reading this article: Unblock a nonstandard port in Firefox3.

Mat
  • 188,820
  • 38
  • 367
  • 383
amin k
  • 1,682
  • 1
  • 12
  • 28
3

On my Windows 10, netstat said PID 4 was listening at port 80 and the solution was to stop BranchCache service.

This was already mentioned in a comment by Adrian Adkison, but I add it in a comment for better visibility.

xorcus
  • 840
  • 1
  • 9
  • 11
3

try to disable the service BranchCache:

  1. Press Start --> Run --> services.msc --> Enter
  2. Search for BranchCache service
  3. Right click on it & choose properties
  4. Change startup type to disabled
  5. Stop the service
  6. Hallelujah :)
1O1
  • 265
  • 1
  • 3
  • 12
2

I have also facing the same issues.. I did the following steps to resolve the issue:-

1) Go to Control Panel-Administrative tools->Services

a) Stop the Web deployment Agent services and then right click on the service then click on the Properties and make it startup type Manual.

b) In the same way Stop the World Wide Web Publishing Services and mark it stratup type Manual.

c) Stop all services related to Sql Server

2) If IIS is already installed in your System..

a) Change the default port of IIS by opening IIS Manager

b) Then go to default Site->Default Web Site->Edit Bindings then chage the port to other than 80 i.e. 800

3) If Skype is installed and is in running state then also quit the skpye..

Then Click on Restart all services of WAMP server..(Now it should display green in colour) You can check it by write the following on your web browser.. http://localhost/phpmyadmin/

Hope the above steps will help you in starting WAMP server..

Henry Disoza
  • 203
  • 3
  • 11
2

In my case the port test said "Server : Microsoft HTTPAPI/2.0". Netstat revealed it was pid 4, system. I tried everything here so far and it was not:

  • IIS (Internet Information Services)
  • SQL Server Reporting Services
  • Any other SQL service
  • World Wide Web Publishing Service
  • Web Deployment Agent Service (MsDepSvc)
  • Skype
  • Remote agent service for the Microsoft Web Deploy 3.0
  • Visual Studio Test Controller

I finally found more answers on superuser and in my case it turned out to be http.sys. I changed the port it binds to with this:

netsh http add iplisten ipaddress=::

It freed the port immediately although i had te reboot before i could start wamp. Maybe because of all the random stuff i had disabled before :-)

Community
  • 1
  • 1
Tubeliar
  • 746
  • 4
  • 17
2

Update 2017- Wamp version 3.0.6

Right click on Wamp--> tool--> apache section-->use a port other than 80

enter image description here

Now listen to

http://localhost:7080/phpmyadmin/

Hitesh Sahu
  • 31,496
  • 11
  • 150
  • 116
2

If you have Visual Studio the Web Deployment Service also takes Port 80 by default.

John Swaringen
  • 697
  • 4
  • 11
  • 29
1

try starting wamp before skype ;]

Skype likes port 80...

tzim
  • 1,665
  • 14
  • 35
1

I had the same problem caused by Skype.

To disable use of port 80 in Skype:

Go to File -> Options... -> Connection and uncheck the one called "Use port 80 as an alternative for..."

Yada
  • 27,686
  • 20
  • 97
  • 138
1

To find the service that is running under port 80:

netsh http show servicestate
  1. Check the Process ID in output
  2. Find the related service through Task Manager (Win+R > taskmgr)
  3. Stop / disable the service (Win+R > services.msc).

Typically, the service to stop can be BranchCache.

Donatello
  • 2,597
  • 2
  • 22
  • 28
0

In my case i got "your port 80 is used by microsoft-httpapi" Service I had to stop is "Remote agent service for the Microsoft Web Deploy 3.0." After i stoped it my apache is started to work on port 80. I dont want to add every time port (8080) when i work. (Skype i changed too to some port (not 80))

Hope it helps

aleXela
  • 1,066
  • 1
  • 16
  • 29
0

BTW, this type of problem ties to similar posts concerning: port 80 in use by NT Kernel & System. For me, the problem was tied to Visual Studio 2012. I am running a test controller on my machine which communicates with test agents on remoted machines. The name of the service runing on my windows 7 x64 laptop is "Visual Studio Test Controller". Once I shut this service down, I was able to run anything I wanted on port 80 (apache in my case). The post by John above got me on the correct path to figure this out.

Jim Kennedy
  • 560
  • 6
  • 18
0

It exists an easy way:

  1. Go to control panel->system and security->administrative tool->services and stop the services like sql, webdeployment and mics etc.
  2. Go to wamp manu-> apache->install services and then start services->test port 80 (make sure port 80 is free)
  3. Go to your browser and write [//localhost] or simply localhost a page will be shown.
  4. Create a directory in wamp/www/yourDirectory(i.e test). Put in this your php file with the name index.php. Now go to browser and type http://localhost/yourDirectory(i.e test)/.

That worked for me...

Reporter
  • 3,547
  • 5
  • 28
  • 45
0

A bunch of upvotes here for each answer identifying the culprit in an individual situation. But it would be good if there was an answer here with a list of the possible culprits to work through.

Sitepoint has a good post listing, identifying and resolving this problem for a range of possible port-80-using-services.

In summary, the possible culprits will be:

  • IIS
  • SQL Server Reporting Services
  • Skype
  • Web Deployment Agent Service

Check the Sitepoint post for full details.

hawbsl
  • 13,626
  • 23
  • 67
  • 109
0

netsh http show servicestate will show information on what http services are running. use this to try to track down & locate the guilty service.

before finding this, i'd tried shutting down oodles of services. nothing seemed to work. for me, it was a MultiPoint service that was causing port 80 to be taken. i don't think i ever would have found it, had i not found out about netsh http show servicestate.

rektide
  • 946
  • 7
  • 17
0

netsh http show servicestate will show the current http services that are running. this can make it much easier to track down & locate the specific things holding open port 80. for me it was a MultiPoint service.

rektide
  • 946
  • 7
  • 17
-1

Detail blog to fix this issue is : http://goo.gl/JXWqfJ

You can solve this problem by following two ways:

  • A) Start your WAMP befor you login to skype. So that WAMP will take over the the port and there will be no conflict with the port number. And you are able to use Skype as well as WAMP. But this is not the permanent solution for your problem. Whenever you want to start WAMP you need to signout Skype first and than only you are able to start WAMP. Which is really i don’t like.

  • B) Second option is to change the port of Skype itself, so that it will not conflict with WAMP. Following screen/steps will help you to solve this problem:

    1. SignIn to Skype.
    2. Got to the Tools -> options
    3. Select the “Advanced” -> Connection
    4. Unchecked “Use port 80 and 443 as alternatives for incoming connections” checkbox and click save.
    5. Now Signout and SignIn again to skype. (this change will take affect only you relogin to skype)

Now every time you start WAMP will not conflict with skype.

loan.burger
  • 3,578
  • 6
  • 39
  • 59
Suresh Kamrushi
  • 13,699
  • 12
  • 70
  • 84
  • 1
    It is not SKYPE that is causing the problem `Server : Microsoft HTTPAPI/2.0` means something to do with `IIS` and its associated technology. – RiggsFolly Feb 05 '15 at 11:08
-1

My way to resolve this problem is only to close Web Deployment Service Agent and set it "Manual" -- forever solved. Referenced:websites

Young Lee
  • 41
  • 1
  • 2