Viaduct Productions wrote:
[...]
As much as by now the subject has become inappropriate, if you change it
in the middle, it becomes very hard for people to follow.
So I'll restore the original one.
By marking [OT], I was talking about the other discussion about how bad
Apache and the documentation and the people on this list are etc..
;-)
So, to get back to the real subject :
"NameVirtualHost 8:80 has no VirtualHosts", to me, conflicts with "*:80
is a NameVirtualHost".
It does not really. The message
NameVirtualHost *:80 has no VirtualHosts
is relative to one line
NameVirtualHost *:80
(the superfluous one that lingers somewhere), which does not have
corresponding/matching <VirtualHost ..> sections.
The second message
*:80 is a NameVirtualHost
is maybe not the most explicit, but it corresponds to the other line
NameVirtualHost *:80
which /does/ have corresponding <VirtualHost ..> sections that seem to
match it.
That is probably because Apache, as it (sequentially) reads the
configuration files (starting with httpd.conf), then finding in there
"Include some_other_file" directives, finds
a) a first "NameVirtualHost *:80" somewhere,
and then
b) a second "NameVirtualHost *:80" line, without having seen in-between,
<VirtualHost> sections that would correspond to the first
"NameVirtualHost *:80".
So it warns you that something is missing there.
c) after it finds the second "NameVirtualHost *:80" line however, it
does find your corresponding <VirtualHost> sections, so it is happy then.
Is that clearer ?
My vhosts are registering twice in apachectl
-S.
Now that is interesting. It would tend to confirm the guess that
somewhere, you have a duplicated "Include" directive, which somehow
reads a certain configuration file one too many times.
Very little of this makes any sense.
I can assure you that it most probably does make a lot of sense.
It is just that you are still overlooking something that would make it
all fall into place logically.
Maybe this :
Apache basically has only /one/ configuration file, the one indicated by
the initial "-f" command-line parameter of the httpd program. By default
that is "httpd.conf" in the ServerRoot directory.
But on different platforms, depending on the Apache distribution, it may
be another name somewhere else.
Anyway, Apache starts there, and basically sticks with that file.
Only, whenever in that file it finds an "Include" directive, it will
read the included file (or files) at that point, just as if the content
of that included file(s) had been in httpd.conf in the first place.
If in the included file(s), there is another "Include", it will do this
again, recursively. When it gets to the end of the included file(s), it
resumes with the next line of the current file, just after the "Include".
What you may have overlooked, is a line like
Include /some/directory/*.conf
which would read /all/ the *.conf files present in that directory, at
this point.
Then later there is an
Include /some/directory/somefile.conf
(from the same directory) and oops, the same file is read and included
again.
And it just happens that this file starts with a "NameVirtualHost *:80".
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
" from the digest: users-digest-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org