INSTALL revision df8da21162700425d5be70a043469895a45d09c9
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin APACHE INSTALLATION
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Introduction
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin ============
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Apache 2.0's configuration and installation environment has changed
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin completely from Apache 1.3. Apache 1.3 used a custom set of scripts
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin to achieve easy installation. Apache 2.0 now uses libtool and
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin autoconf to create an environment that looks like many other Open
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Source projects.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Installing the Apache 2.0 HTTP server
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin =====================================
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 1. Overview for the impatient
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --------------------------
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin $ ./configure --prefix=PREFIX
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin $ make install
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin NOTE: PREFIX is not the string "PREFIX". Instead use the Unix
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin filesystem path under which Apache should be installed. For
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin instance use "/usr/local/apache" for PREFIX above.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin NOTE: if you are building from a copy of the Apache CVS
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin repository, rather than a release distribution, then you
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin must use the "buildconf" script before running configure.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin NOTE: If you are building on FreeBSD, you should add the argument
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --with-mpm=prefork to the configure line. The Apache Group
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin has discovered that threads do not work well with Apache
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin on FreeBSD. For that reason, we disable threads by default
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin on FreeBSD, and you need to build the prefork MPM. If you wish
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin to try to make threads work on FreeBSD, they can be re-enabled
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin by using --enable-threads
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 2. Requirements
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin ------------
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin The following requirements exist for building Apache:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o Disk Space:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Make sure you have approximately 12 MB of temporary free disk
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin space available. After installation Apache occupies
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin approximately 5 MB of disk space (the actual required disk
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin space depends on the amount of compiled in third party
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin modules, etc).
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o ANSI-C Compiler:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Make sure you have an ANSI-C compiler installed. The GNU C
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin compiler (GCC) from the Free Software Foundation (FSF) is
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin recommended (version 2.7.2 is fine). If you don't have GCC
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin then at least make sure your vendors compiler is ANSI
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin compliant. You can find the homepage of GNU at
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin http://www.gnu.org/ and the GCC distribution under
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o Perl 5 Interpreter [OPTIONAL]:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin For some of the support scripts like `apxs' or `dbmmanage'
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (which are written in Perl) the Perl 5 interpreter is required
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (versions 5.003 and 5.004 are fine). If no such interpreter is
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin found by the `configure' script this is no harm. Of
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin course, you still can build and install Apache 2.0. Only those
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin support scripts cannot be used. If you have multiple Perl
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin interpreters installed (perhaps a Perl 4 from the vendor and a
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Perl 5 from your own), then it is recommended to use the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --with-perl option (see below) to make sure the correct one is
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin selected by ./configure.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o Dynamic Shared Object (DSO) support [OPTIONAL]:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin To provide maximum flexibility Apache now is able to load
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin modules under runtime via the DSO mechanism by using the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin pragmatic apr_dso_open()/apr_dso_sym() calls. These calls
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin are not available under all operating systems therefore you
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin cannot use the DSO mechanism on all platforms. Apache relies
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin on autoconf to detect the ability to use DSOs, and libtool to
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin determine how to build DSOs. If your platform is supported by
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin libtool, and we can find DSO system calls, then DSOs should
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin work out-of-the-box.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin If your system is not on these lists but has the dlopen-style
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin interface, you either have to provide the appropriate compiler
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin and linker flags manually or at least make sure a Perl 5
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin interpreter is installed from which Apache can guess the options.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin If you are building from a copy of the CVS repository, rather
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin than a release distribution, then you will need these additional
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o Libtool 1.3.3:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Make sure that you have libtool 1.3.3 or later installed
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin before trying to configure and build Apache 2.0. Libtool can
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin be downloaded from the Free Software Foundation (FSF), at
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o Autoconf 2.13:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Make sure that you have autoconf 2.13 or later installed
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin before trying to configure and build Apache 2.0. Autoconf can
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin be downloaded from the Free Software Foundation (FSF), at
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 3. Configuring the source tree
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin ---------------------------
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin If you have downloading the Apache 2.0 from the CVS, rather than
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin a release distribution, then you will need to prepare the source
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin tree for configuration and compilation. This is done by running:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin ./buildconf
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin This script ensures that all required programs are installed on
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin the currently machine, and creates the ./configure script. If
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin you are using a package downloaded from apache.org then this step
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin is not necessary.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Introduction:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin The next step is to configure the Apache source tree for your
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin particular platform and personal requirements. The most important
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin setup here is the location prefix where Apache is to be installed
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin later, because Apache has to be configured for this location to
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin work correctly. But there are a lot of other options available
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin for your pleasure.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin For a short impression of what possibilities you have, here is a
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin typical example which compiles Apache for the installation tree
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin /sw/pkg/apache with a particular compiler and flags plus the two
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin additional modules mod_rewrite and mod_speling for later loading
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin through the DSO mechanism:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin $ CC="pgcc" CFLAGS="-O2" \
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin ./configure --prefix=/sw/pkg/apache \
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --enable-rewrite=shared \
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --enable-speling=shared
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin The easiest way to find all of the configuration flags for Apache
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 2.0 is to run ./configure --help. What follows is a brief
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin description of most of the arguments.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin $ [CC=...] [TARGET=...]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [CPPFLAGS=...] [NOTEST_CPPFLAGS=...]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [CFLAGS=...] [NOTEST_CFLAGS=...]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [CXXFLAGS=...] [NOTEST_CXXFLAGS=...]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [LDFLAGS=...] [NOTEST_LDFLAGS=...]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [LIBS=...] [NOTEST_LIBS=...]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [INCLUDES=...] [SHLIB_PATH=...]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin ./configure
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--quiet] [--prefix=DIR] [--enable-NAME=(shared)]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--verbose] [--exec-prefix=PREFIX] [--disable-NAME]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--shadow[=DIR]] [--bindir=EPREFIX] [--with-mpm=NAME]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--show-layout] [--sbindir=DIR]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--help] [--libexecdir=DIR]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--mandir=DIR]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--sysconfdir=DIR]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--datadir=DIR]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--includedir=DIR]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--localstatedir=DIR]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--runtimedir=DIR] [--enable-suexec]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--logfiledir=DIR] [--suexec-caller=UID]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--proxycachedir=DIR] [--suexec-docroot=DIR]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--with-layout=[FILE:]ID] [--suexec-logfile=FILE]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--suexec-userdir=DIR]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--with-perl=FILE] [--suexec-uidmin=UID]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--without-support] [--suexec-gidmin=GID]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--without-confadjust] [--suexec-safepath=PATH]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--without-execstrip]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--server-uid=UID]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--server-gid=GID]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--enable-maintainter-mode]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin [--enable-debug]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Use the CC, CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LIBS, INCLUDES,
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin SHLIB_PATH and TARGET environment variables to override or expand the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin corresponding default entries as determined by configure.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Use NOTEST_CPPFLAGS, NOTEST_CFLAGS, NOTEST_CXXFLAGS, NOTEST_LDFLAGS,
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin and NOTEST_LIBS to add entries that should only be used during
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin the actual build and compilation of Apache, such as -Werror.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Use the --prefix=PREFIX and --exec-prefix=EPREFIX options to
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin configure Apache to use a particular installation prefix. The
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin default is PREFIX=/usr/local/apache and EPREFIX=PREFIX.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Use the --bindir=DIR, --sbindir=DIR, --libexecdir=DIR,
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --mandir=DIR, --sysconfdir=DIR, --datadir=DIR, --iconsdir=DIR,
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --htdocsdir=DIR, --cgidir=DIR, --includedir=DIR,
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --localstatedir=DIR, --runtimedir=DIR, --logfiledir=DIR and
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --proxycachedir=DIR option to change the paths for particular
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin subdirectories of the installation tree. Defaults are
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin sysconfdir=PREFIX/conf, datadir=PREFIX, iconsdir=PREFIX/icons,
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin includedir=PREFIX/include, localstatedir=PREFIX,
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin proxycachedir=PREFIX/proxy.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Note: To reduce the pollution of shared installation
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin locations (like /usr/local/ or /etc) with Apache files
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin to a minimum the string ``/apache'' is automatically
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin appended to 'libexecdir', 'sysconfdir', 'datadir',
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 'localstatedir' and 'includedir' if (and only if) the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin following points apply for each path individually:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 1. the path doesn't already contain the word ``apache''
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 2. the path was not directly customized by the user
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Keep in mind that per default these paths are derived
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin from 'prefix' and 'exec-prefix', so usually its only a
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin matter whether these paths contain ``apache'' or
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin not. Although the defaults were defined with experience
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin in mind you always should make sure the paths fit your
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin situation by checking the finally chosen paths via the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --layout option.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Use the --with-layout=[F:]ID option to select a particular
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin installation path base-layout. You always _HAVE_ to select a
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin base-layout. There are currently two layouts pre-defined in the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin file config.layout: `Apache' for the classical Apache path layout
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin and `GNU' for a path layout conforming to the GNU `standards'
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin document. When you want to use your own custom layout FOO, either
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin add a corresponding "<Layout FOO>...</Layout>" section to
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin config.layout and use --with-layout=FOO or place it into your own
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin file, say config.mypaths, and use
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --with-layout=config.mypaths:FOO.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Use the --show-layout option to check the final installation path
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin layout while fiddling with the options above.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Use the --enable-NAME=(shared) and --disable-NAME options to
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin enable or disable a particular already distributed module from
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin the Apache package.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Use the --with-mpm=NAME option to determine which MPM should be
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin built for your server.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin _________________________________________________________________________
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin LIST OF AVAILABLE MODULES
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Environment creation
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_env .......... Set environment variables for CGI/SSI scripts
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_setenvif ..... Set environment variables based on HTTP headers
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_unique_id .... Generate unique identifiers for request
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Content type decisions
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_mime ......... Content type/encoding determination (configured)
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_mime_magic ... Content type/encoding determination (automatic)
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_negotiation .. Content selection based on the HTTP Accept* headers
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin URL mapping
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_alias ........ Simple URL translation and redirection
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_rewrite ...... Advanced URL translation and redirection
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_userdir ...... Selection of resource directories by username
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_speling ...... Correction of misspelled URLs
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Directory Handling
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_dir .......... Directory and directory default file handling
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_autoindex .... Automated directory index file generation
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Access Control and Authentication
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_access ....... Access Control (user, host, network)
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_auth ......... HTTP Basic Authentication (user, passwd)
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_auth_dbm ..... HTTP Basic Authentication via Unix NDBM files
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_auth_db ...... HTTP Basic Authentication via Berkeley-DB files
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_auth_anon .... HTTP Basic Authentication for Anonymous-style users
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_digest ....... HTTP Digest Authentication
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin HTTP response
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_headers ...... Arbitrary HTTP response headers (configured)
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_cern_meta .... Arbitrary HTTP response headers (CERN-style files)
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_expires ...... Expires HTTP responses
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_asis ......... Raw HTTP responses
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_include ...... Server Side Includes (SSI) support
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_cgi .......... Common Gateway Interface (CGI) support
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_cgid ......... Common Gateway Interface (CGI) support for
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin multi-threaded MPMs
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_actions ...... Map CGI scripts to act as internal `handlers'
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Internal Content Handlers
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_status ....... Content handler for server run-time status
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_info ......... Content handler for server configuration summary
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Request Logging
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_log_config ... Customizable logging of requests
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_usertrack .... Logging of user click-trails via HTTP Cookies
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Content Management
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_dav .......... WebDAV (RFC 2518) support for Apache
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_dav_fs ....... mod_dav backend to managing filesystem content
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Miscellaneous
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) mod_imap ......... Server-side Image Map support
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_proxy ........ Caching Proxy Module (HTTP, HTTPS, FTP)
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_so ........... Dynamic Shared Object (DSO) bootstrapping
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Experimental
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_mmap_static .. Caching of frequently served pages via mmap()
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Development
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) mod_example ...... Apache API demonstration (developers only)
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin mpmt_pthread ..... Multi-process(dynamic) Multi-threaded(static)
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin prefork .......... Preforking Unix MPM
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin perchild ......... Multi-process(static) Multi-threaded(dynamic)
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Unix MPM, that allows a User per child process
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin winnt ............ Multi-process(1) Multi-threaded Windows MPM
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin mpmt_beos ........ Multi-process Multi-threaded Beos MPM
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin beos ............. Multi-process Multi-threaded Beos MPM
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin spmt_os2 ......... Single-process Multi-threaded OS/2 MPM
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin _________________________________________________________________________
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (+) = enabled per default [disable with --disable-module]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (-) = disabled per default [enable with --enable-module ]
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Use the --enable-suexec option to enable the suEXEC feature by
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin building and installing the "suexec" support program.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin CAUTION: FOR DETAILS ABOUT THE SUEXEC FEATURE WE HIGHLY RECOMMEND
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin YOU TO FIRST READ THE DOCUMENT htdocs/manual/suexec.html
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin BEFORE USING THE ABOVE OPTIONS.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin USING THE SUEXEC FEATURE PROPERLY CAN REDUCE
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin CONSIDERABLY THE SECURITY RISKS INVOLVED WITH ALLOWING
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin USERS TO DEVELOP AND RUN PRIVATE CGI OR SSI
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin PROGRAMS. HOWEVER, IF SUEXEC IS IMPROPERLY CONFIGURED,
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin IT CAN CAUSE ANY NUMBER OF PROBLEMS AND POSSIBLY CREATE
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin NEW HOLES IN YOUR COMPUTER'S SECURITY. IF YOU AREN'T
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin FAMILIAR WITH MANAGING SETUID ROOT PROGRAMS AND THE
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin SECURITY ISSUES THEY PRESENT, WE HIGHLY RECOMMEND THAT
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin YOU NOT CONSIDER USING SUEXEC AND KEEP AWAY FROM THESE
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Use the --quiet option to disable all configuration verbose
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 4. Building the package
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --------------------
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Now you can build the various parts which form the Apache package
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin by simply running the command:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Please be patient here, this takes approximately 2 minutes to
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin complete under a Pentium-166/FreeBSD-2.2 system, dependend on the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin amount of modules you have enabled.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 5. Installing the package
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin ----------------------
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Now its time to install the package under the configured
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin installation PREFIX (see --prefix option above) by running:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin $ make install
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin For the paranoid hackers under us: The above command really
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin installs under prefix _only_, i.e. no other stuff from your
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin system is touched. Even if you upgrade an existing installation
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin your configuration files in PREFIX/conf/ are preserved.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 6. Testing the package
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin -------------------
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Now you can fire up your Apache HTTP server by immediately
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin and then you should be able to request your first document via
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin URL http://localhost/ (when you built and installed Apache as
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin root or at least used the --without-confadjust option) or
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin http://localhost:8080/ (when you built and installed Apache as a
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin regular user). Then stop the server again by running:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 7. Customizing the package
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin -----------------------
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Finally you can customize your Apache HTTP server by editing the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin configuration files under PREFIX/conf/.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Have a look at the Apache manual under docs/manual/ or
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin http://httpd.apache.org/docs/ for a complete reference of
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin available configuration directives.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 8. Preparing the system
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin --------------------
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Proper operation of a public HTTP server requires at least the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 1. A correctly working TCP/IP layer, since HTTP is implemented on
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin top of TCP/IP. Although modern Unix platforms have good
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin networking layers, always make sure you have all official
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin vendor patches referring to the network layer applied.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 2. Accurate time keeping, since elements of the HTTP protocol are
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin expressed as the time of day. So, it's time to investigate
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin setting some time synchronization facility on your
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin system. Usually the ntpdate or xntpd programs are used for
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin this purpose which are based on the Network Time Protocol
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin (NTP). See the Usenet newsgroup comp.protocols.time.ntp and
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin the NTP homepage at http://www.eecis.udel.edu/~ntp/ for more
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin details about NTP software and public time servers.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin 9. Contacts
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o If you want to be informed about new code releases, bug fixes,
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin security fixes, general news and information about the Apache
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin server subscribe to the apache-announce mailing list as
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin described under http://httpd.apache.org/announcelist.html
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o If you want freely available support for running Apache please
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin join the Apache user community by subscribing at least to the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin following USENET newsgroup: comp.infosystems.www.servers.unix
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o If you want commercial support for running Apache please
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin contact one of the companies and contractors which are listed
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o If you have a concrete bug report for Apache please go to the
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Apache Group Bug Database and submit your report:
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin o If you want to participate in actively developing Apache please
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin subscribe to the `new-httpd' mailing list as described at
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin Thanks for running Apache httpd.
e81d1e4f661023c964899abcbf2a60c2f8278f4aminfrin The Apache Group