summaryrefslogtreecommitdiffstats
path: root/usr.sbin/httpd/htdocs/manual/install.html.en
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/httpd/htdocs/manual/install.html.en')
-rw-r--r--usr.sbin/httpd/htdocs/manual/install.html.en425
1 files changed, 0 insertions, 425 deletions
diff --git a/usr.sbin/httpd/htdocs/manual/install.html.en b/usr.sbin/httpd/htdocs/manual/install.html.en
deleted file mode 100644
index 67558688dd0..00000000000
--- a/usr.sbin/httpd/htdocs/manual/install.html.en
+++ /dev/null
@@ -1,425 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>Compiling and Installing Apache</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"
- alink="#FF0000">
- <div align="CENTER">
- <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
-
- <h3>Apache HTTP Server</h3>
- </div>
-
-
-
- <h1 align="CENTER">Compiling and Installing Apache 1.3</h1>
-
- <ul>
- <li><a href="#download">Downloading Apache</a></li>
- <li><a href="#intro">Introduction</a></li>
- <li><a href="#apaci">Installing the Apache 1.3 HTTP server with APACI</a></li>
- <ul>
- <li><a href="#requirements">System requirements</a></li>
- <li><a href="#configure">Configuring the source tree</a></li>
- <li><a href="#build">Building the package</a></li>
- <li><a href="#installing">Installing the package</a></li>
- </ul>
- <li><a href="#traditional">Building and installing the traditional way</a></li>
- <ul>
- <li><a href="#trad_configure">Configuring the installation</a></li>
- <li><a href="#trad_compile">Compiling Apache</a></li>
- <li><a href="#trad_install">Installing Apache</a></li>
- </ul>
- <li><a href="#testing">Testing the package</a></li>
- <li><a href="#time">Set your system time correctly</a></li>
- </ul>
-
- <p>This document covers compilation and installation of Apache on Unix
- systems. For compiling and installation on other platforms, see</p>
-
- <ul>
- <li><a href="windows.html">Using Apache with Microsoft Windows</a></li>
- <li><a href="cygwin.html">Using Apache with Cygwin</a></li>
- <li><a href="netware.html">Using Apache with Novell Netware</a></li>
- <li><a href="mpeix.html">Using Apache with HP MPE/iX</a></li>
- <li><a href="unixware.html">Compiling Apache under UnixWare</a></li>
- <li><a href="readme-tpf.html">Overview of the Apache TPF Port</a></li>
- </ul>
-
- <h2><a id="download" name="download">Downloading Apache</a></h2>
-
- <p>You may download the latest version of Apache either directly from the
- <a href="http://httpd.apache.org/download.cgi">Download Page</a>.</p>
-
- <h2><a id="intro" name="intro">Introduction</a></h2>
-
- <p>Like all good things, there are two ways to configure, compile, and
- install Apache. You can go for the 3-minute installation process using
- the APACI process described below; or, you can opt for the same mechanism
- used in previous versions of Apache, as described in the file
- 'src/INSTALL'. Each mechanism has its benefits and drawbacks - APACI is
- newer and a little more raw, but it gets you up and running the least
- amount of time, whereas the "Configuration.tmpl" mechanism may be more
- familiar and give you some more flexibility to the power user. We'd be
- very interested in your comments and feedback regarding each
- approach.</p>
-
- <h2><a id="apaci" name="apaci">Installing the Apache 1.3 HTTP server with
- APACI</a></h2>
-
- <h3>Overview for the impatient</h3>
-<pre>
- $ ./configure --prefix=PREFIX
- $ make
- $ make install
- $ PREFIX/bin/apachectl start
-</pre>
-
- <p><b>NOTE:</b> <code>PREFIX</code> is not the string "PREFIX". Instead
- use the Unix filesystem path under which Apache should be installed. For
- instance use "<code>/usr/local/apache</code>" for PREFIX above.</p>
-
- <h3><a id="requirements" name="requirements">Requirements</a></h3>
-
- <p>The following requirements exist for building Apache:</p>
-
- <dl>
- <dt><b>Disk Space:</b></dt>
-
- <dd>Make sure you have approximately 12 MB of temporary free disk space
- available. After installation Apache occupies approximately 3 MB of
- disk space (the actual required disk space depends on the amount of
- compiled in third party modules, etc).</dd>
-
- <dt><b>ANSI-C Compiler:</b></dt>
-
- <dd>Make sure you have an ANSI-C compiler installed. The GNU C compiler
- (GCC) from the Free Software Foundation (FSF) is recommended (version
- 2.7.2 is fine). If you don't have GCC then at least make sure your
- vendors compiler is ANSI compliant. You can find the homepage of GNU at
- http://www.gnu.org/ and the GCC distribution under
- http://www.gnu.org/order/ftp.html .</dd>
-
- <dt><b>Perl 5 Interpreter [OPTIONAL]:</b></dt>
-
- <dd>For some of the support scripts like `apxs' or `dbmmanage' (which
- are written in Perl) the Perl 5 interpreter is required (versions 5.003
- and 5.004 are fine). If no such interpreter is found by APACI's
- `configure' script this is no harm. Of course, you still can build and
- install Apache 1.3. Only those support scripts cannot be used. If you
- have multiple Perl interpreters installed (perhaps a Perl 4 from the
- vendor and a Perl 5 from your own), then it is recommended to use the
- --with-perl option (see below) to make sure the correct one is selected
- by APACI.</dd>
-
- <dt><b>Dynamic Shared Object (DSO) support [OPTIONAL]:</b></dt>
-
- <dd>
- <p>To provide maximum flexibility Apache now is able to load modules
- under runtime via the DSO mechanism by using the pragmatic
- dlopen()/dlsym() system calls. These system calls are not available
- under all operating systems therefore you cannot use the DSO
- mechanism on all platforms. And Apache currently has only limited
- built-in knowledge on how to compile shared objects because this is
- heavily platform-dependent. The current state is this:</p>
-
- <ul>
- <li>
- Out-of-the-box supported platforms are:
-
- <p>
- <table border="0">
- <tr>
- <td>Linux</td>
- <td>SunOS</td>
- <td>UnixWare</td>
- <td>Darwin/Mac OS</td>
- </tr>
- <tr>
- <td>FreeBSD</td>
- <td>Solaris</td>
- <td>AIX</td>
- <td>OpenStep/Mach</td>
- </tr>
- <tr>
- <td>OpenBSD</td>
- <td>IRIX</td>
- <td>SCO</td>
- <td>DYNIX/ptx</td>
- </tr>
- <tr>
- <td>NetBSD</td>
- <td>HPUX</td>
- <td>ReliantUNIX</td>
- <td>BSDI</td>
- </tr>
- <tr>
- <td>Digital Unix</td>
- <td>DGUX</td>
- </tr>
- </table>
- </p>
- </li>
-
- <li>
- Entirely unsupported platforms are:
-
- <p>Ultrix</p>
- </li>
- </ul>
-
- <p>If your system is not on these lists but has the dlopen-style
- interface, you either have to provide the appropriate compiler and
- linker flags (see CFLAGS_SHLIB, LDFLAGS_SHLIB and
- LDFLAGS_SHLIB_EXPORT below) manually or at least make sure a Perl 5
- interpreter is installed from which Apache can guess the options.</p>
-
- <p>For more in-depth information about DSO support in Apache 1.3
- please read the document htdocs/manual/dso.html carefully. Especially
- the section entitled "Advantages &amp; Disadvantages" because using
- the DSO mechanism can have strange side-effects if you are not
- careful. BE WARNED!</p>
- </dd>
- </dl>
-
- <h3><a name="configure">Configuring the source tree</a></h3>
-
- <p>The next step is to configure the Apache source tree for your
- particular platform and personal requirements. The most important setup
- here is the location prefix where Apache is to be installed later,
- because Apache has to be configured for this location to work correctly.
- But there are a lot of other options available for your pleasure.</p>
-
- <p>For a short impression of what possibilities you have, here is a
- typical example which compiles Apache for the installation tree
- /sw/pkg/apache with a particular compiler and flags plus the two
- additional modules mod_rewrite and mod_proxy for later loading through
- the DSO mechanism:</p>
-<pre>
- $ CC="pgcc" OPTIM="-O2" \
- ./configure --prefix=/usr/local/apache \
- --enable-module=rewrite --enable-shared=rewrite \
- --enable-module=proxy --enable-shared=proxy
-</pre>
-
- <p>For a complete list of the available options, type the following
- command:</p>
- <p><code>./configure --help</code></p>
-
- <p>See also the file <code>README.configure</code> for listings of
- example configurations.</p>
-
- <h3><a name="build">Building the package</a></h3>
-
- <p>Now you can build the various parts which form the Apache package by
- simply running the command</p>
-<pre>
- $ make
-</pre>
-
- <p>Please be patient here, this takes approximately 2 minutes to complete
- under a Pentium-166/FreeBSD-2.2 system, dependent on the amount of
- modules you have enabled.</p>
-
- <h3><a name="installing">Installing the package</a></h3>
-
- <p>Now its time to install the package under the configured installation
- <code>PREFIX</code> (see the <code>--prefix</code> option above):</p>
-<pre>
- $ make install
-</pre>
-
- <p>In the following examples, <code>PREFIX</code> is not the literal string
- "PREFIX", but whatever argument you provided to
- the<code>--prefix</code> option.</p>
-
-<!-- Building and installing Apache in the traditional way -->
-
- <h2><a name="traditional">Building and installing Apache in the traditional way</a></h2>
-
- Before the advent of APACI, there was just one way to build and
- install Apache. While APACI gave a configuration interface which is
- more familiar to some people, the older method gives a way to
- configure the installation without typing a large number of
- command-line options.
-
- <h3><a name="trad_configure">Configuring the installation</a></h3>
-
- Compiling Apache consists of three steps: First select which
- Apache <strong>modules</strong> you want to include into the
- server. Second create a configuration for your operating
- system. Third compile the executable.
-
- <p>All configuration of Apache is performed in the
- <code>src</code> directory of the Apache distribution. Change
- into this directory.</p>
-
- <ol>
- <li>
- Select modules to compile into Apache in the <code>Configuration</code>
- file <code>src/Configuration.tmpl</code>. 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 <a
- href="misc/API.html">API.html</a> 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).
-
- <p>You should also read the instructions in the
- <code>Configuration</code> file to see if you need to set
- any of the <code>Rule</code> lines.</p>
- </li>
-
- <li>
- Configure Apache for your operating system. Normally you
- can just run the <code>Configure</code> script as given
- below. However if this fails or you have any special
- requirements (<em>e.g.</em>, to include an additional
- library required by an optional module) you might need to
- edit one or more of the following options in the
- <code>Configuration</code> file: <code>EXTRA_CFLAGS, LIBS,
- LDFLAGS, INCLUDES</code>.
-
- <p>Run the <code>Configure</code> script:</p>
-
- <blockquote>
-<pre>
- % Configure
- Using 'Configuration' as config file
- + configured for &lt;whatever&gt; platform
- + setting C compiler to &lt;whatever&gt; *
- + setting C compiler optimization-level to &lt;whatever&gt; *
- + 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
-
-</pre>
- </blockquote>
- (*: Depending on Configuration and your system, Configure
- might not print these lines. That's OK).
-
- <p>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.</p>
-
- <p>(If you want to maintain multiple configurations, you
- can give an option to <code>Configure</code> to tell it to
- read an alternative Configuration file, such as
- <code>Configure -file Configuration.ai</code>).</p>
- </li>
-
-<h3><a name="trad_compile">Compiling Apache</a></h3>
-
- <li>Type <code>make</code>.</li>
- </ol>
- The modules we place in the Apache distribution are the ones we
- have tested and are used regularly by various members of the
- Apache development group. Additional modules contributed by
- members or third parties with specific needs or functions are
- available at &lt;<a
- href="http://www.apache.org/dist/httpd/contrib/modules/">http://www.apache.org/dist/httpd/contrib/modules/</a>&gt;.
- There are instructions on that page for linking these modules
- into the core Apache code.
-
- <h3><a name="trad_install">Installing Apache</a></h3>
- You will have a binary file called <code>httpd</code> in the
- <code>src</code> directory. A binary distribution of Apache
- will supply this file.
-
- <p>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
- <code>conf</code>, <code>logs</code> and <code>icons</code>
- directories into it. In either case you should read the <a
- href="misc/security_tips.html#serverroot">security tips</a>
- describing how to set the permissions on the server root
- directory.</p>
-
- <p>The next step is to edit the configuration files for the
- server. This consists of setting up various
- <strong>directives</strong> in up to three central
- configuration files. By default, these files are located in the
- <code>conf</code> directory and are called
- <code>srm.conf</code>, <code>access.conf</code> and
- <code>httpd.conf</code>. To help you get started there are same
- files in the <code>conf</code> directory of the distribution,
- called <code>srm.conf-dist</code>,
- <code>access.conf-dist</code> and <code>httpd.conf-dist</code>.
- Copy or rename these files to the names without the
- <code>-dist</code>. 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
- <code>conf</code> directory called <code>mime.types</code>.
- This file usually does not need editing.</p>
-
- <p>First edit <code>httpd.conf</code>. This sets up general
- attributes about the server: the port number, the user it runs
- as, <em>etc.</em> Next edit the <code>srm.conf</code> file;
- this sets up the root of the document tree, special functions
- like server-parsed HTML or internal imagemap parsing,
- <em>etc.</em> Finally, edit the <code>access.conf</code> file
- to at least set the base cases of access.</p>
-
- <p>In addition to these three files, the server behavior can be
- configured on a directory-by-directory basis by using
- <code>.htaccess</code> files in directories accessed by the
- server.</p>
-
- <h3>Compiling Support Programs</h3>
- In addition to the main <code>httpd</code> 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 <code>support</code> directory of
- the distribution. To compile the support programs, change into
- this directory and type
-<pre>
- make
-</pre>
-
- <h2><a name="testing">Testing the package</a></h2>
-
- <p>Now you can fire up your Apache HTTP server by immediately running</p>
-<pre>
- $ PREFIX/bin/apachectl start
-</pre>
-
- <p>and then you should be able to request your first document via URL
- http://localhost/ (when you built and installed Apache as root or at
- least used the --without-confadjust option) or http://localhost:8080/
- (when you built and installed Apache as a regular user). Then stop the
- server again by running:</p>
-<pre>
- $ PREFIX/bin/apachectl stop
-</pre>
-
- <h2><a name="time">Set your system time properly!</a></h2>
- Proper operation of a public web server requires accurate time
- keeping, since elements of the HTTP protocol are expressed as
- the time of day. So, it's time to investigate setting up NTP or
- some other time synchronization system on your Unix box, or
- the <code>net time</code> command on NT.
-
- <hr />
-
- <h3 align="CENTER">Apache HTTP Server</h3>
- <a href="./"><img src="images/index.gif" alt="Index" /></a>
-
- </body>
-</html>
-