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

{ 32 comments… add one }

  • vijay prakash February 7, 2007, 1:28 pm


    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* LISTEN –

    Please help me in this situation what should i do.



  • 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


    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


    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 :)

  • launchpad October 14, 2014, 4:16 am

    thanks a lot. it saved a lot of time.

  • Siva April 15, 2015, 6:53 am


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

Leave a Comment

   Tagged with: , ,