|
|
|
|
NOTE: CentOS Enterprise Linux is built from the Red Hat Enterprise Linux source code. Other than logo and name changes CentOS Enterprise Linux is compatible with the equivalent Red Hat version. This document applies equally to both Red Hat and CentOS Enterprise Linux.
Virtual hosts allow you to run different servers for different
IP addresses, different host names, or different ports on the same
machine. For example, you can run the website for
https://www.example.com and https://www.anotherexample.com on the
same Web server using virtual hosts. This option corresponds to the
<VirtualHost> directive for the default
virtual host and IP based virtual hosts. It corresponds to the
<NameVirtualHost>
directive for a name based virtual host.
The directives set for a virtual host only apply to that
particular virtual host. If a directive is set server-wide using
the Edit Default Settings button and not
defined within the virtual host settings, the default setting is
used. For example, you can define a Webmaster
email address in the Main tab and not
define individual email addresses for each virtual host.
The HTTP Configuration Tool includes
a default virtual host as shown in Figure
25-8.
https://httpd.apache.org/docs-2.0/vhosts/ and the Apache
HTTP Server documentation on your machine provide more information
about virtual hosts.
To add a virtual host, click the Virtual
Hosts tab and then click the Add
button. You can also edit a virtual host by selecting it and
clicking the Edit button.
The General Options settings only apply
to the virtual host that you are configuring. Set the name of the
virtual host in the Virtual Host Name text
area. This name is used by HTTP
Configuration Tool to distinguish between virtual hosts.
Set the Document Root Directory value to
the directory that contains the root document (such as index.html)
for the virtual host. This option corresponds to the DocumentRoot directive
within the <VirtualHost>
directive. The default DocumentRoot is
/var/www/html.
The Webmaster email address corresponds
to the ServerAdmin directive
within the VirtualHost directive.
This email address is used in the footer of error pages if you
choose to show a footer with an email address on the error
pages.
In the Host Information section, choose
Default Virtual Host, IP based Virtual Host, or Name
based Virtual Host.
- Default Virtual Host
-
You should only configure one default virtual host (remember
that there is one setup by default). The default virtual host
settings are used when the requested IP address is not explicitly
listed in another virtual host. If there is no default virtual host
defined, the main server settings are used.
- IP based Virtual Host
-
If you choose IP based Virtual Host, a
window appears to configure the <VirtualHost> directive based on the IP
address of the server. Specify this IP address in the IP address field. To specify multiple IP addresses,
separate each IP address with spaces. To specify a port, use the
syntax IP Address:Port. Use "colon,
asterisk" (:*) to configure all ports for
the IP address. Specify the host name for the virtual host in the
Server Host Name field.
- Name based Virtual Host
-
If you choose Name based Virtual Host, a
window appears to configure the NameVirtualHost
directive based on the host name of the server. Specify the IP
address in the IP address field. To specify
multiple IP addresses, separate each IP address with spaces. To
specify a port, use the syntax IP
Address:Port. Use "colon, asterisk" (:*) to configure all ports for the IP address.
Specify the host name for the virtual host in the Server Host Name field. In the Aliases section, click Add
to add a host name alias. Adding an alias here adds a ServerAlias directive
within the NameVirtualHost
directive.
|
Note |
|
You cannot use name based virtual hosts with SSL because the SSL
handshake (when the browser accepts the secure Web server's
certificate) occurs before the HTTP request, which identifies the
appropriate name based virtual host. If you plan to use name-based
virtual hosts, remember that they only work with your non-secure
Web server.
|
If an Apache HTTP Server is not configured with SSL support,
communications between an Apache HTTP Server and its clients are
not encrypted. This is appropriate for websites without personal or
confidential information. For example, an open source website that
distributes open source software and documentation has no need for
secure communications. However, an ecommerce website that requires
credit card information should use the Apache SSL support to
encrypt its communications. Enabling Apache SSL support enables the
use of the mod_ssl security module. To
enable it through the HTTP Configuration
Tool, you must allow access through port 443 under the
Main tab => Available Addresses. Refer to Section 25.1 Basic
Settings for details. Then, select the virtual host name in
the Virtual Hosts tab, click the Edit button, choose SSL
from the left-hand menu, and check the Enable
SSL Support option as shown in
Figure 25-9. The SSL Configuration
section is pre-configured with the dummy digital certificate. The
digital certificate provides authentication for your secure Web
server and identifies the secure server to client Web browsers. You
must purchase your own digital certificate. Do not use the dummy
one provided for your website. For details on purchasing a
CA-approved digital certificate, refer to the Chapter 26 Apache HTTP Secure
Server Configuration.
The Site Configuration, Environment Variables, and Directories options for the virtual hosts are the
same directives that you set when you clicked the Edit Default Settings button, except the options set
here are for the individual virtual hosts that you are configuring.
Refer to Section 25.2
Default Settings for details on these options.
|
|
|