Apache Address already in use: make_sock: could not bind to port 80 or 443 error and solution

by Vivek Gite on September 18, 2006 · 26 comments

Q. How do I fix an error, while restarting Apache ~ Address already in use: make_sock: could not bind to port 80?

A. If you are running SELinux disable temporary for port 80.

Apache Address already in use: make_sock: could not bind to port 80 error and solution

First make sure port 80/443 is not used by any other service or application with netstat command:

# netstat -tulpn| grep :80

If port 80 is bind to httpd, kill all process:
# killall -9 httpd

Now start the httpd:
# /etc/init.d/httpd start

Also make sure you are root while starting the httpd.

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

{ 26 comments… read them below or add one }

1 vijay prakash February 7, 2007

Sir,

I have already used above commands but still the problem persist. When i use netstat then no pid/program name displays associated with it as below output.

netstat -tulpn | grep :80

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -

Please help me in this situation what should i do.

thankyou.

vijay

Reply

2 bbm4n November 24, 2007

you must sudo netstat or it won’t show you everything (sudo killall also)

Reply

3 Vladimir May 8, 2008

Try to killall -9 php – this should solve your problem

Reply

4 Active July 13, 2008

The post has helped us a lot.

Reply

5 abbas September 19, 2008

Is this step are applicable for Ubuntu 7.10? , if trying step no2 killall -9 httpd displaying no process kill however if trying to run step 3 its displying no such file or directory

Reply

6 thx October 28, 2008

Shortest solution to my problem. Thanks!

Reply

7 Libran24 January 20, 2009

Thanks. Worked great !!

Reply

8 terminator August 18, 2009

Thanks heaps, it solves my problem

But do you know why it causes it? Looks like the apache2 crashes then it didn’t shut down the connection to port 80?

Reply

9 Ted Sheckler August 18, 2009

Some linux builds are configured to include conf.d/ssl.conf which binds to the hosts IP at port 443. This will generate the same error mentioned here.

I resolved the problem by deleting the VirtualHost block in /etc/conf.d/ssl.conf and commenting out the Listen 443 directive.

One might run into this if they define their own instance with SSL enabled.

Reply

10 ZeroCool September 2, 2009

Stop iis server from windows service
(administrator tool -> services – > world wide web)

And Start Apache

Reply

11 Flyboy November 12, 2009

Ok. I had the same issue. I was running Apache2 so after running the:

sudo netstat -tulpn| grep :80

I saw that apache2 was listening to that port. I shut all apache2 services down by doing the following:

sudo killall -9 apache2

Then ran:
netstat -tulpn| grep :80
to see if there was anything left open. If no results, the process was killed.

Then start up your apache2 services using:

sudo /etc/init.d/apache2 start

This resolved my problems! Hope this helps others. What a freakin pain!!!!!

Reply

12 Igor December 20, 2011

@Flyboy, thanks a lot, was helpful for me.

Reply

13 oucil February 18, 2010

Saved me @$$, tanks!

Reply

14 Viet Ngo May 2, 2010

Thanks for the comment to take out ssl :443. That’s what been stopping my restarting httpd.

Reply

15 Jack Read November 10, 2010

Yes! Thanks for your post… you saved me :-)

Reply

16 artur November 18, 2010

it does’t help me…^(

Reply

17 paul mostertman January 14, 2011

And what if the system reboots? Than again port 80 is in use. So
# netstat -tulpn| grep :80
If port 80 is bind to httpd, kill all process:
# killall -9 httpd
Now start the httpd:
# /etc/init.d/httpd start
fixes the symtoms but it is not the solution.

Reply

18 Irwin April 13, 2011

Thank you so much, great post helpful

Reply

19 siros May 1, 2011

Thank you so much , This post solved my problem.

Reply

20 jlamprung July 13, 2011

Thanks a lot, you saved my time :)

Reply

21 adaedasdad September 23, 2011

FIRST and foremost thing don’t keep more than 1 ssl config file in /etc/httpd/conf.d/ folder

Reply

22 vaibhav November 6, 2011

Hi,

I am also having same problem. I have killed and restarted the httpd, afterwards tried to start my server but it didnt worked….

Reply

23 Anoop December 2, 2011

Now its working thankssss………….

Reply

24 Sunil December 8, 2011

Screwed up almost 100s of pages for the solution of this issue…Just a small command “Killall” gave me a way from dark light..thkx guys….

Reply

25 jitendra singh tomar December 19, 2011

How can I know that my board MAC address is already in use or it’s free to use. That means How can I identify that someone else is using my Board’s Mac address or not ? Please post the command if it’s available.

Thanks in advance

Reply

26 guest January 17, 2012

If you are trying to bind to port 80, you may also want to try disabling selinux to see if that is an issue.

echo 0 > /selinux/config /selinux/config <-enable

The above tmp. sets that seeing and reboot clears it. To permanently set it to disabled

vi /etc/selinux/config

change
SELINUX=enforcing
to
SELINUX=disabled

Reboot or put in the temp change above until you can reboot.

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 11 + 14 ?
Please leave these two fields as-is:
Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: