Setting Up Virtual Hosts
To create a name-based virtual host, it is best to use the virtual host container provided in httpd.conf
as an example.
The virtual host example read as follows:
#NameVirtualHost *:80 # #<VirtualHost *:80> # ServerAdmin webmaster@dummy-host.example.com # 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 NameVirtualHost
line 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>
container.
On the <VirtualHost>
line, change the asterisk (*
) to the server's IP address. Change the ServerName
to a valid DNS name assigned to the machine, and configure the other directives as necessary.
The <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 Listen
directive in the global settings section of /etc/httpd/conf/httpd.conf
file.
To activate a newly created virtual host, the Apache HTTP Server must be reloaded or restarted. Refer to "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/.