Operation Manual
TIP: Always Create a Virtual Host Conguration
It is recommended to always create a virtual host conguration le, even if
your Web server only hosts one domain. By doing so, you not only have the
domain-specic conguration in one le, but you can always fall back to a
working basic conguration by simply moving, deleting, or renaming the con-
guration le for the virtual host. For the same reason, you should also create
separate conguration les for each virtual host.
When using name-based virtual hosts it is recommended to set up a default
conguration that will be used when a domain name does not match a virtual
host conguration. The default virtual host is the one whose conguration is
loaded rst. Since the order of the conguration les is determined by lename,
start the lename of the default virtual host conguration with an underscore
character (_) to make sure it is loaded rst (for example: _default_vhost
.conf).
The <VirtualHost></VirtualHost> block holds the information that applies
to a particular domain. When Apache receives a client request for a dened virtual host,
it uses the directives enclosed in this section. Almost all directives can be used in a
virtual host context. See http://httpd.apache.org/docs/2.2/mod/
quickreference.html for further information about Apache's conguration di-
rectives.
Name-Based Virtual Hosts
With name-based virtual hosts, more than one Web site is served per IP address. Apache
uses the host eld in the HTTP header that is sent by the client to connect the request
to a matching ServerName entry of one of the virtual host declarations. If no matching
ServerName is found, the rst specied virtual host is used as a default.
The directive NameVirtualHost tells Apache on which IP address and, optionally,
which port it should listen to for requests by clients containing the domain name in the
HTTP header. This option is congured in the conguration le /etc/apache2/
listen.conf.
The rst argument can be a fully qualied domain name, but it is recommended to use
the IP address. The second argument is the port and is optional. By default, port 80 is
used and is congured via the Listen directive.
366 Reference










