Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've spent hours researching and trying all kinds of things to get Apache running as part of Xampp, but nothing is working.

  • I've turned off Skype
  • Changed values in the registry
  • Uninstalled IIS and IIS manager

...and still no luck.

I'm running a Windows 7 Dell laptop. When I run netstat from command line, and look up the processes/services, I find out that System is using port 80.

I'm too afraid of ending that service, so I thought I have nothing else to do but post a question online. I've spent way too much time working on this, so hopefully someone knows what's going on.

share|improve this question
add comment

4 Answers

I found the following link useful while in a similar situation:

http://www.lukebrowning.com/blog/nt-kernel-system-using-port-80/

It appears there are a couple of different applications that can cause this same problem;

  1. IIS is still running.
  2. SQL Server Reporting Services is running.
  3. Web Deployment Agent Service is running (this was my problem).

To fix my issue (number 3), I followed the following procedure:

  1. Open up the services screen (Right click "Computer" from either your desktop or start menu, then "Manage". Once the window has opened, expand "Services and Applications" and select "Services").
  2. On the services screen there should be one called "Web Deployment Agent Service", if this is running, double click it and stop the service.
  3. Finally, change the startup type to "Disabled".

Now if you try to run apache on port 80, it should start fine!

In my case I had the reporting services left running and shutting it down resolved the issue.

share|improve this answer
add comment

You will definitely need to stop the service that is currently using port 80 if you want Apache to use port 80. You need to find out which service is still using port 80, "System" sounds too generic to be the right service to stop. Have you tried rebooting after uninstalling IIS?

Alternatively you can change Apache's port to something unused, for example 8080. Then when accessing your Apache server specify the port like this: http://localhost:8080/

share|improve this answer
    
I just rebooted, and when I opened the Xampp control panel and clicked start for Apache, it said Apache started [Port 80], as it always has, but now it says running in green! But when click the admin button, it goes to localhost and says not found –  Pat Oct 12 '11 at 23:40
add comment

As the name implies, it is the system, ie the kernel, so you can not stop or kill it without killing all of windows. Moreover, the System process is like svchost, that is, it contains multiple items, so you would need to figure out which specific component is the one occupying port 80. The concern is that most of the components that run in the System component tend to be drivers and the like, and as such, have high-level access to the system. A webserver does not need such access, so I would be extremely wary because it sounds like a virus or rootkit is running on the system and is providing a web interface.

You will want to run some security software to check your system for malware.

(From what I can tell, it seems that for some reason, IIS does implant itself in the System instead of a dedicated process like a well behaved program, but if you uninstalled it, then it cannot be the source of the problem. That said, check Services.msc to make sure that IIS is not still present and/or running.)

To find the specific component that is occupying port 80, run Process Explorer and double-click System in the process tree. Look in the Threads tab and sort by Start Address. Now look through the list of drivers and see if any look suspicious. There will be some Windows files as well as driver files for your video, audio, network cards, and such, but you can Google any that do not look familiar. You can check TCPView to monitor any connections to your system.

share|improve this answer
    
whyever IIS runs .. it runs as a "service", that is similar to the terminalogy "daemon" on unix. so, neither your malware advice, nor your reference to "it is 'the system'", nor "drivers" etc. IIS is just running on port 80 as a single program and that's all there is. just end that service or launch apache on another port OR bind apache to an ip/interface where IIS is not listening to and thats it. all the rest of your answer has nothing to do with the issue OP has. –  akira Aug 23 '12 at 13:09
    
This is a horrible answer in 2011, and even a worst answer, now that its 2012.. –  Ramhound Sep 18 '12 at 14:35
add comment

You just need to do the following:

  1. Stop and quit the Xampp Control Panel
  2. Restart it as an administrator
  3. Tick all the red crosses that should appear on the left of the listed services (Apache, MySQL, FileZilla, Tomcat, etc.)
  4. Install those services

Note that the services are not installed by default.

share|improve this answer
1  
This does not answer the question. The original poster stated that something else (a different service) has the port 80 open. –  pabouk Oct 10 '13 at 12:07
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.