mirror of
https://github.com/apache/httpd.git
synced 2025-09-01 02:02:06 +03:00
server merged into a single manual. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@76987 13f79535-47bb-0310-9956-ffa450edef68
110 lines
4.3 KiB
HTML
110 lines
4.3 KiB
HTML
<!--%hypertext -->
|
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>Compiling and Installing Apache</TITLE>
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
<!--/%hypertext -->
|
|
|
|
<h1>Compiling and Installing Apache</h1>
|
|
<h2>Downloading Apache</h2>
|
|
Information on the latest version of Apache can be found on the Apache
|
|
web server at http://www.apache.org/. This will list the current release,
|
|
any more recent beta-test release, together with details of mirror
|
|
web and anonymous ftp sites.
|
|
|
|
<h2>Compiling Apache</h2>
|
|
This release of Apache supports the notion of `optional modules'.
|
|
However, the server has to know which modules are compiled into it, in
|
|
order for those modules to be effective; this requires generation of a
|
|
short bit of code (`<code>modules.c</code>') which simply has a list of them.
|
|
<p>
|
|
If you are satisfied with our standard module set, and expect to
|
|
continue to be satisfied with it, then you can just edit the stock
|
|
<code>Makefile</code> and compile as you have been doing previously. If you
|
|
would
|
|
like to select optional modules, however, you need to run the
|
|
configuration script.
|
|
<p>
|
|
To do this:
|
|
<ol>
|
|
<li>Edit the file `<code>Configuration</code>'. This contains the per-machine
|
|
config settings of the Makefile, and also an additional section at
|
|
the bottom which lists the modules which have been compiled in, and
|
|
also names the files containing them. You will need to:
|
|
<ol>
|
|
<li> Select a compiler and compilation options as appropriate to
|
|
your machine.
|
|
<li> Uncomment lines corresponding to those optional modules you wish
|
|
to include (among the Module lines at the bottom of the file)
|
|
or add new lines corresponding to custom modules you have written.
|
|
<p>
|
|
Note that DBM auth has to be explicitly configured in, if you want
|
|
it; just uncomment the corresponding line.
|
|
</ol>
|
|
<li> Run the `Configure' script:
|
|
<blockquote><code>
|
|
% Configure<br>
|
|
Using 'Configuration' as config file<br>
|
|
%</code></blockquote>
|
|
|
|
This generates new versions of the Makefile and of modules.c. If
|
|
you want to maintain multiple configurations, you can say, e.g.,
|
|
<blockquote><code>
|
|
% Configure -file Configuration.ai<br>
|
|
Using alternate config file Configuration.ai<br>
|
|
%</code></blockquote>
|
|
|
|
<li>Type `make'.
|
|
<p>
|
|
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
|
|
<A HREF="http://www.apache.org/dist/contrib/modules/"><URL:http://www.apache.org/dist/contrib/modules/></A>. There are instructions on that page for
|
|
linking these modules into the core Apache code.
|
|
</ol>
|
|
|
|
<h2>Installing Apache</h2>
|
|
After compilation, you will have a binary called `httpd' in the
|
|
<code>src/</code> directory. A binary distribution of Apache will supply this
|
|
file.
|
|
<p>
|
|
The next step is to edit the configuration files for the server. In
|
|
the subdirectory called `conf' you should find distribution versions
|
|
of the three configuration files: <code>srm.conf-dist</code>,
|
|
<code>access.conf-dist</code> and <code>httpd.conf-dist</code>. Copy them to
|
|
<code>srm.conf</code>, <code>access.conf</code> and <code>httpd.conf</code>
|
|
respectively.
|
|
<p>
|
|
First edit <code>httpd.conf</code>. This sets up general attributes about the
|
|
server; the port number, the user it runs as, etc. 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, etc.
|
|
Finally, edit the <code>access.conf</code> file to at least set the base cases
|
|
of access.
|
|
<p>
|
|
Finally, make a call to httpd, with a -f to the full path to the
|
|
httpd.conf file. I.e., the common case:
|
|
<blockquote><code>
|
|
/usr/local/etc/apache/src/httpd -f /usr/local/etc/apache/conf/httpd.conf
|
|
</code></blockquote>
|
|
The server should be now running.
|
|
<p>
|
|
By default the <code>srm.conf</code> and <code>access.conf</code> files are
|
|
located by name; to specifically call them by other names, use the
|
|
<A HREF="core.html#accessconfig">AccessConfig</A> and
|
|
<A HREF="core.html#resourceconfig">ResourceConfig</A> directives in
|
|
<code>httpd.conf</code>.
|
|
|
|
<!--%hypertext -->
|
|
<hr>
|
|
<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A>
|
|
<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A>
|
|
|
|
</BODY>
|
|
</HTML>
|
|
<!--/%hypertext -->
|