24

Here is the error I get when booting up Apache2:

 * Starting web server apache2
 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [warn] NameVirtualHost *:80 has no VirtualHosts

I first followed this guide on setting up Apache to host multiple sites:

http://www.debian-administration.org/articles/412

I then found a similar question on ServerFault and tried applying the solution, but it didn't help.

Here is an example of my final VirtualHost config:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName  www.xxx.com
    ServerAlias xxx.com

    # Indexes + Directory Root.
    DirectoryIndex index.html
    DocumentRoot /var/www/www.xxx.com

    # Logfiles
    ErrorLog  /var/www/www.xxx.com/logs/error.log
    CustomLog /var/www/www.xxx.com/logs/access.log combined
</VirtualHost>

with the domain X'd out to protect the innocent :-)

Also, I have the conf.d/virtual.conf file mentioned in the guide looking like this:

NameVirtualHost *

The odd thing is that everything appears to work fine for two of the three sites.

2
  • Post your complete(!) Apache httpd configuration or at least every NameVirtualHost and <VirtualHost ...> line.
    – joschi
    Oct 21, 2009 at 15:39
  • You cannot mix the two types on the same ip:port. I've had a setup where I had two ip's, one had massvhost hanging off it, the other had all the regular namebased hosts. More importantly, what is the goal? What are you trying to achieve? What are your constraints?
    – Marcin
    Oct 21, 2009 at 17:31

4 Answers 4

29

The IP addresses named with NameVirtualHost have to match the IP address in each VirtualHost element.

Example:

NameVirtualHost *:80
NameVirtualHost *:81

<VirtualHost *:80>
# ...
</VirtualHost>

<VirtualHost *:81>
# ...
</VirtualHost>

# This will not work!
<VirtualHost *>
# ...
</VirtualHost>

Read the Apache Virtual Host documentation for details.

1
  • Wish I could up vote more than once. They really should call this out more clearly in the documentation.
    – Alex W
    Dec 1, 2015 at 19:34
13

Replace this:

NameVirtualHost *

With this:

NameVirtualHost *:80
1
  • 2
    I appreciate the simple answer and wish I could accept both
    – rcampbell
    Oct 23, 2009 at 14:08
5

Adding to the responses, one thing that i noticed is that you can't run SSL without having explicit declaring the :80 on every NameVirtualHost and VirtualHost directives, apache won't support having:

NameVirtualHost *

and

NameVirtualHost *:443

Mixed up in the same config, you will get errors on apache listening on port zero if you do that.

For me i just added :80 to every host so SSL could work proprietly.

0

Ex:

<VirtualHost 85.25.97.252:80>
ServerName domain.com
ServerAlias *.domain.com
ServerAdmin [email protected]
DocumentRoot "/var/www/domain.com/httpdocs/"
<Directory "/var/www/domain.com/httpdocs/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .