Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I installed appache server on my computer, but when I run it, the error log indicate that the application can not get access to the port 80, here is the error message:

  • could not bind to address [::]:80
  • could not bind to address no listening sockets available, shutting down

I am not using IIS services, so what the hell is going wrong with this? Help!


migration rejected from stackoverflow.com Aug 14 '13 at 21:21

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by Tom O'Connor Aug 14 '13 at 21:21

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions must be relevant to professional system administration. Server Fault is a site dedicated to professionals; novice questions are off-topic. Please see the Help Center for more information on topicality. The best advice we can give you is to hire a professional to help you out." – Tom O'Connor
If this question can be reworded to fit the rules in the help center, please edit the question.

What OS? Are you running with admin rights? Historically ports <1024 require admin privileges to bind to, at least on some platforms. –  Joe Jun 26 '10 at 1:17
Most likely, the problem is that you are spelling "Apache" incorrectly. –  John Saunders Jun 26 '10 at 2:33
I tried netstat -aon and it says a process with PID 4 is listening on port 80, is this mystery process blocking my Apache server getting port 80? How can I identify this process, I can't find it with task manager.. –  baboonWorksFine Jun 26 '10 at 5:32
comments disabled on deleted / locked posts

4 Answers 4

There could be something already on the port. Are you running Skype? If so it by default will bind and listen on that port.

There is an advanced connection option in the settings that you can disable this.

If you are not running skype, try telnetting to the port 80 and see if it responds.

Not only skype, many applications that need open ports use 80 that is almost never blocked to do the job. This is especially true when you're behind the NAT and everything else is blocked. –  kubal5003 Jun 26 '10 at 1:27
Well, I tried telnet localhost on 80, it turned out to be a blank area with cursor flicker only, is that IIS running behind, because after that, I typed something randomly and it returned an error DHTML page saying BAD REQUEST! –  baboonWorksFine Jun 26 '10 at 5:23
add comment

You're probably using Windows Vista/Seven. Here you probably need to use netsh to allow binding to ports/addresses. You have to give the account that apache runs on appropriate privileges.

This is accomplished by using netsh http add urlacl. For more details see:


Also make sure that any other program is not using this port.

add comment

it would be easier if you just change the binding port so you wont get other programs/services disrupted

I tried netstat -aon and it says PID 4 is listening on port 80, I tried to find this PID 4, but it is nowhere!! so what the hell is this PID 4 process? –  baboonWorksFine Jun 26 '10 at 5:27
@baboonWorksFine: PID 4 is System. Which likely means something is using Http.sys (kernel HTTP receiver) which allows multiple processes to listen to HTTP (on different URLs). Use netsh http show servicestate (from an elevated cmd/PSH prompt) to see what is listening on http with port 80. (Note there will be various things listening on non-port 80 HTTP depending on system setup.) –  Richard Jun 26 '10 at 11:08
add comment

Finally, it turns out that the SQL server is using my port 80, I shut it down, and everything back to normal, thanks you guys.

add comment

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