≡ Menu

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

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.

Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:



{ 35 comments… add one }
  • vijay prakash February 7, 2007, 1:28 pm

    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

  • bbm4n November 24, 2007, 10:44 pm

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

  • Vladimir May 8, 2008, 11:12 am

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

  • Active July 13, 2008, 3:14 am

    The post has helped us a lot.

  • abbas September 19, 2008, 7:16 am

    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

  • thx October 28, 2008, 12:04 am

    Shortest solution to my problem. Thanks!

  • Libran24 January 20, 2009, 7:51 pm

    Thanks. Worked great !!

  • terminator August 18, 2009, 12:15 am

    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?

  • Ted Sheckler August 18, 2009, 11:06 pm

    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.

  • ZeroCool September 2, 2009, 7:59 am

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

    And Start Apache

    • The Plague April 15, 2012, 11:22 pm

      Really? Really? Windows server? More like an oxymoron. Have fun playing as a “point ‘n’ click” admin wannabe, you little n00blet.

  • Flyboy November 12, 2009, 8:10 pm

    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!!!!!

    • Igor December 20, 2011, 9:03 am

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

  • oucil February 18, 2010, 6:45 pm

    Saved me @$$, tanks!

  • Viet Ngo May 2, 2010, 3:17 pm

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

  • Jack Read November 10, 2010, 4:11 pm

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

  • artur November 18, 2010, 6:11 pm

    it does’t help me…^(

  • paul mostertman January 14, 2011, 2:09 pm

    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.

  • Irwin April 13, 2011, 10:02 am

    Thank you so much, great post helpful

  • siros May 1, 2011, 1:59 pm

    Thank you so much , This post solved my problem.

  • jlamprung July 13, 2011, 8:28 am

    Thanks a lot, you saved my time :)

  • adaedasdad September 23, 2011, 10:09 am

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

  • vaibhav November 6, 2011, 9:52 am

    Hi,

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

  • Anoop December 2, 2011, 7:49 am

    Now its working thankssss………….

  • Sunil December 8, 2011, 5:32 pm

    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….

  • jitendra singh tomar December 19, 2011, 5:59 am

    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

  • guest January 17, 2012, 3:42 pm

    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.

  • Pothi Kalimuthu February 19, 2012, 7:53 am

    Thanks, Ted Sheckler. What you mentioned is correct. There were two declarations of 443.

  • Dead.Zone December 2, 2013, 3:22 pm

    Great . Ted Sheckler

    here is best way to disable selinux ! kloxo is need to disable it :)
    change
    SELINUX=enforcing
    to
    SELINUX=disabled

  • launchpad October 14, 2014, 4:16 am

    hey.
    thanks a lot. it saved a lot of time.

  • Siva April 15, 2015, 6:53 am

    Hi,

    Thanks for the post. It helped in getting up the server once again and save time & effort.
    RedHat & Httpd

  • Solo July 29, 2015, 5:22 pm

    Omg thank you!!!

  • Yakup Öztürk December 18, 2015, 7:35 am

    Thank you my friend. You solved my problem

    • Vikram January 28, 2016, 10:16 am

      This error is possible due to many reasons. one of the is as below.

      If you have configured your apache with a listen address that is hitting 80 or 443 and if there is a duplicate entry in the same file, you would see this issue.
      Ex: Listen marsp1uat01-indianrails.com:80 (You see if this is configured more than once in the same .conf file)
      So, just remove the duplicate entry, save the .conf file and try to start it.

  • SavaÅŸ karahan May 9, 2016, 11:41 am

    Thank you Frend

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">


   Tagged with: , ,