Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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/
  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
   2: ServerAdmin
   4: ServerSignature EMail
In file: /etc/apache2/sites-enabled/000-default
   1: <VirtualHost *:80>
   2:   ServerAdmin
   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/
   2: <VirtualHost *>
   3:   ServerName
   4:   ServerAlias
   5:   ServerAdmin
   7:   DocumentRoot /www/
   8:   <Directory />
   9:     Options FollowSymLinks
  10:     AllowOverride None
    :   </Directory>
  12:   <Directory /www/>
  13:     Options Indexes FollowSymLinks MultiViews Includes
  15:     AllowOverride FileInfo AuthConfig Limit
    :   </Directory>
  20:   <Directory "/www/">
  21:     AllowOverride None
  22:     Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
    :   </Directory>
  27:   ErrorLog /var/log/apache2/error.log
  31:   LogLevel warn
  34:   ServerSignature EMail
    : </VirtualHost>
share|improve this question
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

share|improve this answer

Check the output of

apachectl -S

I think you're missing a piece of config like

Include /etc/apache2/sites-enabled/*
share|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

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

<VirtualHost *:80>

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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