Chapter 2. Server Environment

This chapter discusses how the server environment is configured, including the setup of virtual hosts, networking, and process scheduling. It also covers the new framework modules, mod_dbd and mod_ldap. These provide interfaces to the SQL database and LDAP APIs of APR, thus removing the need for every module that accesses a database or LDAP server to provide its own code to do so.

Main Server and Virtual Hosts

Apache is configured with the Listen directive to listen on multiple IP addresses on one or more ports. Without any virtual host definitions, all requests will refer to the main server.

Virtual hosts are defined using <VirtualHost> sections, but these have an effect only if Apache is listening on the IP address and port specified on the opening <VirtualHost> directive. If no NameVirtualHost directive is specified, all virtual hosts are based on IP address.

NameVirtualHost directives are used to designate IP addresses with optional port numbers that will accept requests for the name-based virtual hosts—hostnames can be used instead of IP addresses. Apache determines the virtual host to be used by matching the value of the Host header on requests arriving on these IP addresses and ports against the server name or the aliases defined in virtual host sections where the address and port on the <VirtualHost> directive exactly match the values on the NameVirtualHost directive. Note that name-based virtual hosts do not work with HTTPS connections, because ...

Get Apache 2 Pocket Reference now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.