tags:

views:

941

answers:

1

I'm using Apache2, and when reloading/restarting the server I get this warning:

apache2: Could not reliably determine the server's fully qualified domain name, using (my FQDN) for ServerName

Everything works fine, but I'm trying to figure out what's causing the error. I'm grabbing the source to see if can find it, but since my C's not very good....

Some notes:

  • If I change the system hostname, Apache uses the new hostname
  • I have a ServerName set; it's the same as the hostname
  • I have a static, unique IP - dig (hostname) returns (my ip), dig -x (my ip) returns (hostname)
  • My hosts file is correct

Versions:

Apache/2.2.9
Linux 2.6.24-23-xen x86_64
Description:    Debian GNU/Linux 5.0 (lenny)

Any ideas?

+1  A: 

Are you sure you have a ServerName directive with the proper value - outside any <VirtualHost> blocks? (You also need a ServerName inside each <VirtualHost> block, of course)

When Apache gives out that error message, usually it means that it's not finding a ServerName for the server as a whole. If you do have that directive set properly, I can't imagine why Apache would still be complaining...

David Zaslavsky
Hey, you're right - I didn't and that fixes it. So then does "reliably determine the fqdn" really mean "find a default/global ServerName in my config file"?
Peter Stone
@Peter Stone Apache will try to determine the ServerName with a reverse ip lookup if you don't set it in the configuration. If there is no PTR record for the ip specified, then Apache gives that error message.
guns
@guns see my original post - "dig -x (my ip) returns (hostname)". `dig -x` returns the PTR.
Peter Stone
OK, that is in fact what it means - the main site config is parsed like any other vhost in server/vhost.c: "if (!s->server_hostname) { s->server_hostname = ap_get_local_host(p); }" (ap_get_local_host prints the error). I guess it's just a slightly confusing error message.
Peter Stone

related questions