Table of Contents
With a share of more than 60%, Apache is the world's most widely-used Web server (source: http://www.netcraft.com). For Web applications, Apache is often combined with Linux, the database MySQL, and the programming languages PHP and Perl. This combination is commonly referred to as LAMP.
This chapter presents the Web server Apache. As well as explaining how to perform installation and configuration, it also describes some of the available modules. Variations for virtual hosts are also introduced.
This section provides a basic understanding of Web servers and the protocols they use. Also, most important features are introduced.
A Web server issues HTML pages requested by a client. These pages can be stored in a directory (passive or static pages) or generated in response to a query (active contents).
The clients are usually Web browsers, like Konqueror or Mozilla. Communication between the browser and the Web server takes place using the hypertext transfer protocol (HTTP). The current version, HTTP 1.1, is documented in RFC 2068 and in the update RFC 2616. These RFCs are available at http://www.w3.org.
Clients use URLs, such as http://www.novell.com/linux/suse/, to request pages from the server. A URL consists of:
In this example,
www.suse.com. The domain
can be subdivided into two parts. The first part (
points to a computer. The second part (
the actual domain. Together, they are referred to as FQDN (fully
qualified domain name).
In this example,
index_us.html. This part
specifies the full path to the resource. The resource can be a file, as
in this example. However, it can also be a CGI script, a JavaServer
page, or some other resource.
The responsible Internet mechanism, such as the domain name system, DNS,
forwards the query to the domain
directing it to one or several computers hosting the
resource. Apache then delivers the actual
resource, in this example, the page
from its file directory. In this case, the file is located in the top
level of the directory. However, resources can also be located in
subdirectories, as in
The file path is relative to the
which can be changed in the configuration file. Section 18.104.22.168, “DocumentRoot” describes how
this is done.
If no default page is specified, Apache
automatically appends one of the common names to the URL. The most
frequently-used name for such pages is
index.html. This function, together with the
actual page names the server should use, can be configured as described
in Section 22.214.171.124, “DirectoryIndex”. In this example, http://www.suse.com is sufficient to prompt the server to deliver
the page http://www.novell.com/linux/suse/.