Show Table of Contents
25.7. Virtual Hosts
The Apache HTTP Server's built in virtual hosting allows the server to provide different information based on which IP address, hostname, or port is being requested. A complete guide to using virtual hosts is available online at http://httpd.apache.org/docs/2.2/vhosts/.
25.7.1. Setting Up Virtual Hosts
To create a name-based virtual host, it is best to use the virtual host container provided in
httpd.confas an example.
The virtual host example read as follows:
#NameVirtualHost *:80 # #<VirtualHost *:80> # ServerAdmin firstname.lastname@example.org # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common #</VirtualHost>
To activate name-based virtual hosting, uncomment the
NameVirtualHostline by removing the hash mark (
#) and replace the asterisk (
*) with the IP address assigned to the machine.
Next, configure a virtual host by uncommenting and customizing the
<VirtualHost>line, change the asterisk (
*) to the server's IP address. Change the
ServerNameto a valid DNS name assigned to the machine, and configure the other directives as necessary.
<VirtualHost>container is highly customizable and accepts almost every directive available within the main server configuration.
If configuring a virtual host to listen on a non-default port, that port must be added to the
Listendirective in the global settings section of
To activate a newly created virtual host, the Apache HTTP Server must be reloaded or restarted. Refer to Section 25.3, “Starting and Stopping
httpd” for further instructions.
Comprehensive information about creating and configuring both name-based and IP address-based virtual hosts is provided online at http://httpd.apache.org/docs/2.2/vhosts/.