11.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.conf
as an example.
The virtual host example read as follows:
#<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>
#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.
Tip
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.