This document covers compilation and installation of Apache on Unix systems, using the manual build and install method. If you wish to use the autoconf-style configure interface, you should instead read the INSTALL file in the root directory of the Apache source distribution. For compiling and installation on specific platforms, see
If you downloaded a binary distribution, skip to Installing Apache. Otherwise read the next section for how to compile the server.
All configuration of Apache is performed in the
src
directory of the Apache distribution. Change
into this directory.
Configuration
file. Uncomment lines
corresponding to those optional modules you wish to include
(among the AddModule lines at the bottom of the file), or
add new lines corresponding to additional modules you have
downloaded or written. (See API.html for preliminary docs on
how to write Apache modules). Advanced users can comment
out some of the default modules if they are sure they will
not need them (be careful though, since many of the default
modules are vital for the correct operation and security of
the server).
You should also read the instructions in the
Configuration
file to see if you need to set
any of the Rule
lines.
Configure
script as given
below. However if this fails or you have any special
requirements (e.g., to include an additional
library required by an optional module) you might need to
edit one or more of the following options in the
Configuration
file: EXTRA_CFLAGS, LIBS,
LDFLAGS, INCLUDES
.
Run the Configure
script:
(*: Depending on Configuration and your system, Configure might not print these lines. That's OK).% Configure Using 'Configuration' as config file + configured for <whatever> platform + setting C compiler to <whatever> * + setting C compiler optimization-level to <whatever> * + Adding selected modules + doing sanity check on compiler and options Creating Makefile in support Creating Makefile in main Creating Makefile in os/unix Creating Makefile in modules/standard
This generates a Makefile for use in stage 3. It also creates a Makefile in the support directory, for compilation of the optional support programs.
(If you want to maintain multiple configurations, you
can give an option to Configure
to tell it to
read an alternative Configuration file, such as
Configure -file Configuration.ai
).
make
.httpd
in the
src
directory. A binary distribution of Apache
will supply this file.
The next step is to install the program and configure it.
Apache is designed to be configured and run from the same set
of directories where it is compiled. If you want to run it from
somewhere else, make a directory and copy the
conf
, logs
and icons
directories into it. In either case you should read the security tips
describing how to set the permissions on the server root
directory.
The next step is to edit the configuration files for the
server. This consists of setting up various
directives in up to three central
configuration files. By default, these files are located in the
conf
directory and are called
srm.conf
, access.conf
and
httpd.conf
. To help you get started there are same
files in the conf
directory of the distribution,
called srm.conf-dist
,
access.conf-dist
and httpd.conf-dist
.
Copy or rename these files to the names without the
-dist
. Then edit each of the files. Read the
comments in each file carefully. Failure to setup these files
correctly could lead to your server not working or being
insecure. You should also have an additional file in the
conf
directory called mime.types
.
This file usually does not need editing.
First edit httpd.conf
. This sets up general
attributes about the server: the port number, the user it runs
as, etc. Next edit the srm.conf
file;
this sets up the root of the document tree, special functions
like server-parsed HTML or internal imagemap parsing,
etc. Finally, edit the access.conf
file
to at least set the base cases of access.
In addition to these three files, the server behavior can be
configured on a directory-by-directory basis by using
.htaccess
files in directories accessed by the
server.
httpd
server which is
compiled and configured as above, Apache includes a number of
support programs. These are not compiled by default. The
support programs are in the support
directory of
the distribution. To compile the support programs, change into
this directory and type
make