mirror of
https://github.com/apache/httpd.git
synced 2025-08-26 05:42:34 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@77050 13f79535-47bb-0310-9956-ffa450edef68
119 lines
4.7 KiB
HTML
119 lines
4.7 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>Compiling and Installing Apache</TITLE>
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
<!--#include virtual="header.html" -->
|
|
<h1>Compiling and Installing Apache 1.2</h1>
|
|
If you wish to download and install an earlier version of Apache please
|
|
read <a href="install_1_1.html">Compiling and Installing Apache 1.1</a>.
|
|
|
|
<h2>Downloading Apache</h2>
|
|
Information on the latest version of Apache can be found on the Apache
|
|
web server at
|
|
<a href="http://www.apache.org/">http://www.apache.org/</a>.
|
|
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>
|
|
It is also necessary to choose the correct options for your platform.
|
|
|
|
To do this:
|
|
<ol>
|
|
<li>
|
|
Copy the file "<code>Configuration.tmpl</code>" to
|
|
"<code>Configuration</code>" and then edit
|
|
"<code>Configuration</code>". This contains the list and settings of various
|
|
"Rules" and 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:
|
|
<ul>
|
|
<p><LI> Adjust the Rules and <code>EXTRA_CFLAGS|LIBS|LFLAGS|INCLUDES</code> if
|
|
you feel so inclined.
|
|
|
|
<p><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.
|
|
(See <a href="misc/API.html">API.html</a> for preliminary docs on how to do that).
|
|
</ul><p>
|
|
Note that DBM auth has to be explicitly configured in, if you want
|
|
it --- just uncomment the corresponding line.
|
|
|
|
|
|
<p><li> Run the "<code>Configure</code>" script:
|
|
<blockquote><pre>
|
|
% Configure
|
|
Using 'Configuration' as config file
|
|
+ configured for <whatever> platform
|
|
+ setting C compiler to <whatever> *
|
|
+ setting C compiler optimization-level to <whatever> *
|
|
%
|
|
</pre></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><pre>
|
|
% Configure -file Configuration.ai
|
|
Using alternate config file Configuration.ai
|
|
+ configured for <whatever> platform
|
|
+ setting C compiler to <whatever> *
|
|
+ setting C compiler optimization-level to <whatever> *
|
|
%
|
|
</pre></blockquote><p>
|
|
*: Depending on Configuration and your system, Configure
|
|
make not print these lines. That's OK
|
|
|
|
<p><li> Type "<code>make</code>".
|
|
<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="mod/core.html#accessconfig">AccessConfig</A> and
|
|
<A HREF="mod/core.html#resourceconfig">ResourceConfig</A> directives in
|
|
<code>httpd.conf</code>.
|
|
|
|
<!--#include virtual="footer.html" -->
|
|
</BODY>
|
|
</HTML>
|