(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 - error

February 10, 2015 61.4k views


Being a novice on configuring Apache servers I managed to get my droplet up and running and have two domains pointing to it.
Made my own virtual host files using the given tutorials, DNS all figured out...great! It worked all just fine.

But now I cannot reach my two domain anymore and when I restart Apache using terminal (sudo service apache2 restart) I get this error:

  • Restarting web server apache2 AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/sites-enabled/huizenmeteenverhaal.nl.conf:5 (98)Address already in use: AH00072: makesock: could not bind to address [::]:80 (98)Address already in use: AH00072: makesock: could not bind to address [::]:80

I googled a fair bit but got lost in all these different solutions that make my novice head spin.

Any help on this...?

Just can't get my head around the fact that it was al working just fine, and just stopped.

  • Ok, actually got it back working by changing the .conf files in /sites-available and /sites-enabled to .config and back to .conf again. (WHY? HOW?)

    Really don't get that either....
    If somebody is able to shed some light it would be highly appreciated.

    Thank you.

  • By using :: you are listening to a IPv6 Loopback?

    Anyway.. In your virtualhost, Use * and not the IP.
    Also, .conf is default for apache, so keep your stuff as .conf and not .config.

    Also at the top, listen by port and not ip and port.. use *:80 / *:443 in your Vhosts.


    Listen 80

    <VirtualHost *:80>
    DocumentRoot "/var/www/html/blaaaa"
    ServerName blaaaa.com
    <Directory "/var/www/html/blaaaa">
    allow from all
    Options +Indexes

    <VirtualHost *:80>
    DocumentRoot "/var/www/html/Moooo"
    ServerName Moooo.com
    <Directory "/var/www/html/Moooo">
    allow from all
    Options +Indexes

  • OK,

    So it was all working just fine...and it stopped again.

    As far as I can tell my .conf file is correct:

    Ensure that Apache listens on port 80

    Listen 80

    Listen for virtual host requests on all IP addresses

    NameVirtualHost *:80

    <VirtualHost *:80>
    ServerAdmin me@mywebsite.com
    ServerName huizenmetkarakter.nl
    ServerAlias www.huizenmetkarakter.nl
    DocumentRoot /var/www/huizenmetkarakter.nl

    Correct me if I'm wrong.

    Then if I try to run the : service apache2 reload command it tells me apache is not running.

    I really can't see what is going wrong here. I was working on my sites and not even fiddling my .conf-files or whatever. It just stopped working....

    Please advice...

    Kind regards,


  • Hi Jasper,

    Did you get this resolved? I'm experiencing it now and haven't found a solution.


  • Hi,
    on my server when i restart the apache it gives error.
    sudo service apache2 restart

    • Restarting web server apache2 (98)Address already in use: AH00072: makesock: could not bind to address [::]:80 (98)Address already in use: AH00072: makesock: could not bind to address no listening sockets available, shutting down AH00015: Unable to open logs Action 'start' failed. The Apache error log may have more information. ...fail!

    Please reply me ASAP
    Thanks in advance

  • I had the same issue because I had a process of apache waiting for the passphrase for ssl.
    Check your running commands for apache with any top program.

6 Answers

This could be brought about by Nginx, if you have it install run these two command to uninstall it. Use commands(1 or 2) and 3

  1. sudo apt-get remove nginx nginx-common # Removes all but config files.

  2. sudo apt-get purge nginx nginx-common # Removes everything.

  3. sudo apt-get autoremove #After using any of the above commands, use this in order to remove dependencies used by nginx which are no longer required.

  • This was the solution to my problem. I was wondering why I had ngix while my websites were supposed to work on apache2. Thanks!

I also have the same problem too on my Ubuntu 14.04.
After fresh install everything was normal until I want to change default port on ports.conf to 8080 (and VirtualHost on sites-enabled/000-default.conf) but failed. I changed it all back to port 80.
Restart apache2 and failed :(

Problem is solved by comment line: Listen 80 on ports.conf, and add this "Listen 80" to end of file /etc/apache2/apache2.conf. And restart apache2.

Hope it helps.


I tried to restore to default setting (move Listen 80 back to ports.conf) and it runs normally again.
It's really strange :(

I have the same issue on my brand-new Ubuntu droplet and nothing above seems to work.

I added Listen 80 to ports.conf and still was unable to start Apache.

I have the same issues, so please put the following on ports.conf
NameVirtualHost *:80
NameVirtualHost *:443

A few people seem to be having this problem. The error message says, in part,: "Address already in use", so I guess you're getting the error because of the duplication, i.e., when you have both 'Listen x.x.x.x:80' and 'Listen 80' at the head of your conf file. All you really need is: 'Listen 80'. I hope this helps.

I recently had the same problem and found some answers here.

The fact that port 80 could be busy with something else sounded strange. I checked port 80 and noticed that a to me unknown process occupied it. I killed it and apache2 could then be run normally.

If there is nothing wrong with your files, check what process could block access to the relevant port.

Have another answer? Share your knowledge.