Debian has a reasonably sane way of setting up Apache 2 for virtual hosts, with each site's config being in a separate file and the opportunity to enable/disable a site while leaving its config intact:
http://svn.debian.org/wsvn/pkg-apache/trunk/apache2/README.Debian Ubuntu ships with a sites-available/default which provides a default site, and it's symlinked from sites-enabled/000-default, which is fair enough. On a server I'm setting up we have no need for a default Ubuntu site (nor indeed one customized by a hosting provider), so I remove the above symlink. And lots of sites -- sites which definitely weren't the default -- suddenly fail. Put it back and (even though the other sites' config mean no URL is serving the site it configures) the other sites start working again. Oh, that's because Ubuntu bundle the config to turn on name-based virtual hosting, a directive that only needs setting once on the server, into the top of a config file which supposedly only configures one virtual host: http://www.mirrorservice.org/sites/archive.ubuntu.com/ubuntu/pool/main/a/apache2/apache2-common_2.0.55-4ubuntu2.5_i386.deb/etc/apache2/sites-available/default?extract=true So there's this nice infrastructure for enabling sites separately ... completely undermined by one of them containing necessary server-wide config. Nice one, Ubuntu. Smylers
