Solution to a problem with VirtualHosts on Debian
Lenny (Default Virtualhost opening by default overwritting the rest
of the configured VirtualHosts)
Configuring some Virtualhosts on a Debian server I administrate has
led me to
a really shitty problem. The problem itself consisted in that
nomatter what
kind of the configured VirtualHosts on the server I try to access
the default
one or the first one listed among Virtualhosts gets accessed.
Believe me such an Apache behaviour is a real pain in the ass! I
went through
the VirtualHosts configurations many without finding any fault in
them,
everything seemed perfectly fine there.
I started doubting something might prevent VirtualHosts to be
served by the
Webserver. Therefore to check if VirtualHosts configurations are
properly loaded
I used the following command:
debian-server:~# /usr/sbin/apache2ctl -S
Guess what, All was perfectly fine there as well. The command
returned, my
webserver configured VirtualHosts as enabled (linked) in:
/etc/apache2/sites-enabled
I took some time to ask in irc.freenode.net #debian channel if
somebody has
encountered the same weirdness, but unfortunately noobody could
help there.
I thinked over and over the problem and I started experimenting
with various
stuff in configurations until I got the problem.
The issue with non-working Virtualhosts in Debian lenny was caused
by;
wrong NameVirtualHost *:80 directive
It's really odd because enabling the directive as
NameVirtualHost *:80
would report a warning just like there are more than one
NameVirtualHost
variable in configuration, on the other hand completely removing it
won't
report any warnings during Apache start/restart but same time
VirtualHosts
would still be non-working.
So to fix the whole mess-up with VirtualHosts not working I had to
modify in;
my
/etc/apache2/sites-enabled/000-default as
follows;
NameVirtualHost *:80 changes to
NameVirtualHost *
The rest of the Virtualhost stays the same e.g.;
This simple thing eradicated the f*cking issue which tortured
me
for almost 3 hours! ghhh