≡ Menu

Apache: [warn] _default_ VirtualHost overlap on port 80, the first has precedence Error and Solution

Question:I'm using Apache 2 to host multiple site on a single host using Apache name based VirtualHost feature. However, Apache is displaying lots of warning as follows:

Performing sanity check on apache22 configuration:
[Portal Oct 05 06:59:34 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Portal Oct 05 06:59:34 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Portal Oct 05 06:59:34 2008] [warn] NameVirtualHost 81.aaa.www.yyy:80 has no VirtualHosts
Syntax OK
Stopping apache22.
Waiting for PIDS: 14968.
Syntax OK
Starting apache22.
[Portal Oct 05 06:59:36 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Portal Oct 05 06:59:36 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Portal Oct 05 06:59:36 2008] [warn] NameVirtualHost 81.aaa.www.yyy:80 has no VirtualHosts

How do I fix this warning and host multiple websites under UNIX / Linux Apache 2 webserver?

Answer: The NameVirtualHost directive is a required to configure name-based virtual hosts. Add this to your httpd.conf file to fix this issue. Open httpd.conf file:
# vi httpd.conf
Add NameVirtualHost as follows:
NameVirtualHost *:80
OR add server IP
NameVirtualHost 202.54.1.1:80
Save and close the file. Restart httpd web server under RHEL / Red Hat / Fedora / CentOS Linux:
# service httpd restart
OR type the following to restart Apache 2 under Debian / Ubuntu Linux:
# /etc/init.d/apache2 restart

Sample Apache 2 Virtual hosting configuration

If you want to maintain multiple domains/hostnames on your machine you can setup VirtualHost containers for them. Most configurations use only name-based virtual hosts so the server doesn't need to worry about IP addresses. This is indicated by the asterisks in the directives below.

# My Virtual Hosts Config File for Two Domains
NameVirtualHost *:80
 
<VirtualHost *:80>
    ServerAdmin webmaster@theos.in
    DocumentRoot "/usr/local/docs/theos.in"
    ServerName www.theos.in
    ServerAlias theos.in
    ErrorLog "/var/log/theos.in-error_log"
    CustomLog "/var/log/theos.in-access_log" common
</VirtualHost>
 
<VirtualHost *:80>
    ServerAdmin webmaster@nixcraft.com
    DocumentRoot "/usr/local/docs/nixcraft.com"
    ServerName www.nixcraft.com
    ServerAlias nixcraft.com
    ErrorLog "/var/log/nixcraft.com-error_log"
    CustomLog "/var/log/nixcraft.com-access_log" common
</VirtualHost>
Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 40 comments… add one }

  • 4F2E4A2E February 4, 2009, 11:37 pm

    is not working for me… really dont know why… its always taking the first entry…

    my domain provider:
    -----------halbgasse.at:
    http://80.108.98.115
    -----------hebron.at:
    http://80.108.98.115

    —————/etc/apache2/sites-available:

    NameVirtualHost *:80
        ServerAdmin webmaster@halbgasse.at
        DocumentRoot "/var/www/halbgasse"
        ServerName www.halbgasse.at
        ServerAlias halbgasse.at
        ErrorLog "/home/www/halbgasse_error_log"
        CustomLog "/home/www/halbgasse_in-access_log" common
        ServerAdmin webmaster@hebron.at
        DocumentRoot "/var/www/hebron"
        ServerName www.hebron.at
        ServerAlias hebron.at
        ErrorLog "/home/www/hebron_error_log"
        CustomLog "/home/www/hebron_access_log" common
    -------------------------------------------------------------
  • mnorland February 19, 2009, 8:35 pm

    The NameVirtualHost *:80 directive should go in your httpd.conf – sites available is generally symlinks of the actual virtual hosts.

  • freelancer March 2, 2009, 5:37 am

    Thanks a lot.
    NameVirtualHost *:80

    It’s very usefull

  • napolik April 24, 2009, 5:53 am

    Thanks. NameVirtualHost *:80 help with all my problems.

    PS Sorry for my English =)

  • Seth May 2, 2009, 2:11 pm

    Yup, needed this reminder again when I migrated all my sites to a new VPS :)

  • xmen May 13, 2009, 6:24 pm

    # My Virtual Hosts Config File for Two Domains
    NameVirtualHost *:80

    ServerAdmin webmaster@theos.in
    DocumentRoot “/usr/local/docs/theos.in”
    ServerName http://www.theos.in
    ServerAlias theos.in
    ErrorLog “/var/log/theos.in-error_log”
    CustomLog “/var/log/theos.in-access_log” common

    ServerAdmin webmaster@nixcraft.com
    DocumentRoot “/usr/local/docs/nixcraft.com”
    ServerName http://www.nixcraft.com
    ServerAlias nixcraft.com
    ErrorLog “/var/log/nixcraft.com-error_log”
    CustomLog “/var/log/nixcraft.com-access_log” common

    When I configure the same file , I have a problem. I used Firefox, everytime I type http://www.theos.in or http://www.nixcraft.com, I only see mainpage (theos.in), no nixcraft.com

  • 4F2E4A2E September 4, 2009, 7:52 am

    thx alot
    every thing working fine now :)

  • iNovek October 7, 2009, 9:06 pm

    I’ve read many forum-posts with really crazy answers to this error message. And this litte * fix it. Thanks.

  • Omar Yepez January 15, 2010, 8:35 pm

    Thanks very muchhhhhhhhhhhhhhhhhh

  • Ben February 2, 2010, 9:11 pm

    Hi all i don t understund why it s always the first entry that is taken into account ??
    I don t understund at all
    Please help me

  • egoleo March 13, 2010, 7:29 am

    thank dude. it works like magic.

  • Luke March 27, 2010, 5:16 pm

    Finally it fixed.

    I’ve had this problem on an Ubuntu Server for the whole time I’ve been running it (about 18 months) and have just avoided using Apache on it since I couldn’t find a fix and it seemed to work fine everywhere else. Now its fixed and I can use it properly.

    My eternal gratitude!!!!

  • Alisson June 29, 2010, 6:40 pm

    Thanks a LOT!

    simple and fantastic

    NameVirtualHost *:80

    :)

  • Oscar July 17, 2010, 2:35 am

    I want to say “Thanks a LOT”.
    I have 15 days looking for a help, finally i found it.

  • Sid September 20, 2010, 6:22 pm

    Thank you so much For that post!

  • Marc February 5, 2011, 8:26 am

    Hi,
    Thanks for all. It’s up
    Regards
    Marc

  • Olfried February 28, 2011, 8:44 pm

    If you use Ubutu 10.10 as server and have configured as they suppose
    For example:
    under apache2/sites-enabled/eww.test.de
    with the content:
    # —————–
    # eww.test.de
    # ——————————————————-

    ServerName eww.test.de
    ServerAlias eww.test.de
    ServerAdmin admin@localhost
    ErrorLog /var/log/httpd/test-error_log
    CustomLog /var/log/httpd/test-access_log common
    DocumentRoot /home/eww/local

    and edit your /etc/apache2/apache2.conf to add “NameVirtualHost *:80”
    beware that you don’t add this at the end of the file instead put it over
    >Include httpd.conf< or add this directive in the httpd.conf.
    It took some hours of "service apache2 restart" until I found it.

    • Olfried February 28, 2011, 8:47 pm

      Oops, the blog eat my <
      Again the eww.test.de content\

      # -----------------
      # eww.test.de
      # -------------------------------------------------------
      <VirtualHost *:80>
      ServerName eww.test.de
      ServerAlias eww.test.de
      ServerAdmin ernst@localhost
      ErrorLog /var/log/httpd/test-error_log
      CustomLog /var/log/httpd/test-access_log common
      DocumentRoot /home/eww/local
      <Directory /home/eww/local>
      #	AllowOverride None
      #	Order Allow,Deny
      #	Allow from all
      #	Options +Indexes
      </Directory>
      </VirtualHost>
      
  • tukdalang May 31, 2011, 2:52 am

    Terima kasih banyak ….. after many days i lookingfor this, i get the answer
    simple but very important
    NameVirtualHost *:80

    Thankyu very much….:)

  • TK Kocheran June 13, 2011, 8:34 pm

    Thanks, this helps a lot.

  • Pablo August 30, 2011, 11:11 pm

    Thanks, work fine for me.

  • Brian Lacy September 13, 2011, 4:14 pm

    If you find yourself really stuck with this error, make sure that ALL of your VirtualHosts’ port designators match the port designated on the NameVirtualHost directive!

    For instance:

    NameVirtualHost *:80
        # Some Apache Directives
    

    That will result in the Port Overlap error because your VHost port doesn’t match the NameVirtualHost port.

  • Brian Lacy September 13, 2011, 4:15 pm

    Oops, that last should have been:

    NameVirtualHost *:80
    <VirtualHost *>
        # Some Apache Directives
    </VirtualHost >
    
  • Amit December 17, 2011, 8:10 pm

    Thanks man u saved me…..this virtual hosting made me almost crazy in last 2-3 month

  • ctopher916 March 22, 2012, 2:18 pm

    Thanks for this info. I couldn’t figure out why my virtual host config was not working. The Apache error message is not very useful for this problem.

  • Angelo May 1, 2012, 6:29 pm

    Thanks guy.

    You have solved my problem.

  • Andres May 29, 2012, 7:31 pm

    Also remember, at least on Red-hat based distors, that all the site configurations are loaded from /etc/httpd/conf.d in alphabetical order making the first one the default virtual host.

  • Vivek August 31, 2012, 7:10 am

    Cheers..!!
    You have resolve my problem.

  • TAD September 13, 2012, 11:34 am

    For all of you who got problem.

    This line : NameVirtualHost *:80 MUST be just before :

        ServerAdmin webmaster@theos.in
        DocumentRoot "/usr/local/docs/theos.in"
        ServerName www.theos.in
        ServerAlias theos.in
        ErrorLog "/var/log/theos.in-error_log"
        CustomLog "/var/log/theos.in-access_log" common
        ServerAdmin webmaster@nixcraft.com
        DocumentRoot "/usr/local/docs/nixcraft.com"
        ServerName www.nixcraft.com
        ServerAlias nixcraft.com
        ErrorLog "/var/log/nixcraft.com-error_log"
        CustomLog "/var/log/nixcraft.com-access_log" common
    

    Thx for this tweak !

  • Jordan September 21, 2012, 4:38 pm

    Greate!
    Thanks!

  • Terry October 5, 2012, 4:20 pm

    Thank you!

  • Saku February 22, 2013, 4:30 pm

    Tahnks, just what I needed for my Ubuntu server

  • John May 30, 2013, 11:46 pm

    Thanks, that was what was missing :D

  • Alexandra July 12, 2013, 7:27 pm

    Thank you! You solved my configuration problem. Just googled and found this solution

  • JustinM November 4, 2013, 1:00 am

    Awesome, this totally helped me get set up. I upgraded to Mavericks in-place from Lion, and my Apache vhosts were completely fubared until I found your post. Thanks!

  • yoosaf March 7, 2014, 4:40 pm

    Thanks a lot!!!

  • Admin User June 30, 2014, 12:14 am

    Hey men, you saved my life !! Works great

  • jaceob July 13, 2014, 7:15 am

    thaaaaaaaaaaaaaaaaaaaaaanks. very helpful

  • Jaap November 6, 2014, 8:37 pm

    Thank you for this solution…

    NameVirtualHost *:80

    ….above my hosts

Leave a Comment