I am trying to reconstruct a server from backups after a hardware crash. Rather than restore the entire image, I'm trying a combination of installing software and then restoring configuration files from backups. But Apache2 doesn't seem to be honouring the "ServerName" directives in my /etc/apache2/sites-enabled/* files. /server-info shows that it's picking up the right configuration, but it's not displaying my sites, just the default index page in /var/www/html/index.html. Here's a snippet from /server-info:

Module Name: core.c
Content handlers: yes

...

Current Configuration:
In file: /etc/apache2/apache2.conf
  57: LockFile /var/lock/apache2/accept.lock
  66: PidFile /var/run/apache2.pid
  71: Timeout 300
 107: MaxRequestsPerChild 0
 136: AccessFileName .htaccess
 156: DefaultType text/plain
 167: HostnameLookups Off
 175: ErrorLog /var/log/apache2/error.log
 182: LogLevel warn
In file: /etc/apache2/mods-enabled/alias.conf
  17: <Directory "/usr/share/apache2/icons">
  18:   Options Indexes MultiViews
  19:   AllowOverride None
    : </Directory>
In file: /etc/apache2/ports.conf
   8: NameVirtualHost *:80
In file: /etc/apache2/conf.d/security
  27: ServerTokens Full
  38: ServerSignature On
  49: TraceEnable On
In file: /etc/apache2/conf.d/servername
   1: ServerName xen1.xcski.com
   2: ServerAdmin ptomblin@xcski.com
   4: ServerSignature EMail
In file: /etc/apache2/sites-enabled/000-default
   1: <VirtualHost *:80>
   2:   ServerAdmin ptomblin@xcski.com
   4:   DocumentRoot /var/www/html
   5:   <Directory />
   6:     Options FollowSymLinks
   7:     AllowOverride None
    :   </Directory>
   9:   <Directory /var/www/html>
  10:     Options Indexes FollowSymLinks MultiViews
  11:     AllowOverride None
    :   </Directory>
  17:   <Directory "/var/www/cgi-bin">
  18:     AllowOverride None
  19:     Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    :   </Directory>
  80:   ErrorLog /var/log/apache2/error.log
  84:   LogLevel warn
  87:   ServerSignature EMail
    : </VirtualHost>
In file: /etc/apache2/sites-enabled/rochesterflyingclub.com
   2: <VirtualHost *>
   3:   ServerName rochesterflyingclub.com
   4:   ServerAlias www.rochesterflyingclub.com
   5:   ServerAdmin webmaster@rochesterflyingclub.com
   7:   DocumentRoot /www/rochesterflyingclub.com/www
   8:   <Directory />
   9:     Options FollowSymLinks
  10:     AllowOverride None
    :   </Directory>
  12:   <Directory /www/rochesterflyingclub.com/www/>
  13:     Options Indexes FollowSymLinks MultiViews Includes
  15:     AllowOverride FileInfo AuthConfig Limit
    :   </Directory>
  20:   <Directory "/www/rochesterflyingclub.com/cgi-bin/">
  21:     AllowOverride None
  22:     Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
    :   </Directory>
  27:   ErrorLog /var/log/apache2/error.log
  31:   LogLevel warn
  34:   ServerSignature EMail
    : </VirtualHost>
link|improve this question

feedback

3 Answers

up vote 1 down vote accepted

Either take :80 off the first or repeat it for all elements. I think the most specific address definition has precedence

link|improve this answer
feedback

I believe you need to define the port for the Virtual Hosts:

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

Give that a go. Otherwise, I am just guessing, have you tried looking at your error / access logs to see where the files are coming from? Apache2 isn't difficult to setup. VirtualHost issues are most commonly typo's or broken conf format.

link|improve this answer
feedback

Check the output of

apachectl -S

I think you're missing a piece of config like

Include /etc/apache2/sites-enabled/*
link|improve this answer
I think the information given above shows pretty conclusively that it's read /etc/apache2/sites-enabled/* since it mentions them by name and shows all the configuration. – Paul Tomblin Mar 3 '10 at 11:42
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.