1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-06 09:01:14 +03:00

Updated the NetWare platform documentation to reflect changes to the

NetWare OS environment and build process.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99745 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Bradley Nicholes
2003-05-09 17:40:44 +00:00
parent 9587c5c4d7
commit 79036ec190

View File

@@ -10,7 +10,7 @@
<summary>
<p>This document explains how to install, configure and run
Apache 2.0 under Novell NetWare 5.1 and above. If you find any bugs,
Apache 2.0 under Novell NetWare 6.0 and above. If you find any bugs,
or wish to contribute in other ways, please use our
<a href="http://httpd.apache.org/bug_report.html">bug reporting
page.</a></p>
@@ -36,17 +36,21 @@
<title>Requirements</title>
<p>Apache 2.0 is designed to run on NetWare 5.1 and above.</p>
<p><strong>If running on NetWare 5.1 you must install Service
Pack 4 or above.</strong></p>
<p><strong>If running on NetWare 6 you must install Service
Pack 1 or above.</strong></p>
<p>Apache 2.0 is designed to run on NetWare 6.0 service pack 3
and above. If you are running a service pack less
than SP3, you must install the latest
<a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
for C (LibC)</a>.</p>
<p>NetWare service packs are available <a
href="http://support.novell.com/misc/patlst.htm#nw">here</a>.</p>
<p>Apache 2.0 for NetWare can also be run in a NetWare 5.1 environment
as long as the latest service pack or the latest version
of the <a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
for C (LibC)</a> has been installed . <strong>WARNING:</strong> Apache 2.0
for NetWare has not been targeted for or tested in this environment.</p>
</section>
<section id="down">
@@ -58,7 +62,9 @@
href="http://www.apache.org/">http://www.apache.org/</a>. This
will list the current release, any more recent alpha or
beta-test releases, together with details of mirror web and
anonymous ftp sites.</p>
anonymous ftp sites. Binary builds of the latest releases of
Apache 2.0 for NetWare can be downloaded from
<a href="http://www.apache.org/dist/httpd/binaries/netware">here</a>.</p>
</section>
@@ -66,10 +72,9 @@
<title>Installing Apache for NetWare</title>
<p>There is no Apache install program for NetWare currently. You
will need to compile apache and copy the files over to the
server manually. An install program will be posted at a later
date.</p>
<p>There is no Apache install program for NetWare currently. If you
are building Apache 2.0 for NetWare from source, you will need to
copy the files over to the server manually.</p>
<p>Follow these steps to install Apache on NetWare from the
binary download (assuming you will install to
@@ -81,8 +86,8 @@
<li>Edit the <code>httpd.conf</code> file setting <directive
module="core">ServerRoot</directive> and <directive
module="core">ServerName</directive> to reflect your correct server
settings</li>
module="core">ServerName</directive> along with any file path values
to reflect your correct server settings</li>
<li>Add <code>SYS:/APACHE2</code> to the search path, for example:
<example>SEARCH ADD SYS:\APACHE2</example>
@@ -92,16 +97,22 @@
<p>Follow these steps to install Apache on NetWare manually
from your own build source (assuming you will install to
<code>sys:/apache</code>):</p>
<code>sys:/apache2</code>):</p>
<ul>
<li>Create a directory called <code>Apache2</code> on a
NetWare volume</li>
<li>Copy <code>APACHE2.NLM</code>, <code>APRLIB.NLM</code>,
<code>HTDIGEST.NLM</code>, <code>HTPASSWD.NLM</code>
<li>Copy <code>APACHE2.NLM</code>, <code>APRLIB.NLM</code>
to <code>SYS:/APACHE2</code></li>
<li>Create a directory under <code>SYS:/APACHE2</code>
called <code>BIN</code></li>
<li>Copy <code>HTDIGEST.NLM</code>, <code>HTPASSWD.NLM</code>,
<code>HTDBM.NLM</code>, <code>LOGRES.NLM</code>, <code>ROTLOGS.NLM</code>
to <code>SYS:/APACHE2/BIN</code></li>
<li>Create a directory under <code>SYS:/APACHE2</code>
called <code>CONF</code></li>
@@ -109,8 +120,8 @@
<code>SYS:/APACHE2/CONF</code> directory and rename to
<code>HTTPD.CONF</code></li>
<li>Copy the <code>MIME.TYPES</code> and <code>MAGIC</code>
files to <code>SYS:/APACHE2/CONF</code> directory</li>
<li>Copy the <code>MIME.TYPES</code>, <code>CHARSET.CONV</code> and
<code>MAGIC</code> files to <code>SYS:/APACHE2/CONF</code> directory</li>
<li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ICONS</code>
to <code>SYS:/APACHE2/ICONS</code></li>
@@ -144,6 +155,12 @@
<p>Apache may be installed to other volumes besides the default <code>SYS</code> volume.</p>
<p>During the build process, adding the keyword "install" to the makefile command line
will automatically produce a complete distribution package under the subdirectory
<code>DIST</code>. Install Apache by simply copying the distribution that was produced
by the makfiles to the root of a NetWare volume (see: <a href="#comp">Compiling Apache for
NetWare</a> below).</p>
</section>
<section id="run">
@@ -159,7 +176,7 @@
load address space = apache2 apache2
</example>
<p>This will load Apache into an address space called apache.
<p>This will load Apache into an address space called apache2.
Running multiple instances of Apache concurrently on NetWare is
possible by loading each instance into its own protected
address space.</p>
@@ -242,8 +259,8 @@
<p>Apache 2.0 for NetWare includes a set of command line directives that can
be used to modify or display information about the running instance of the
web server. Each of these directives must be preceded by the keyword
<code>APACHE2</code>:</p>
web server. These directives are only available while Apache is running. Each
of these directives must be preceded by the keyword <code>APACHE2</code>.</p>
<dl>
<dt>RESTART</dt>
@@ -264,23 +281,31 @@
<dt>SETTINGS</dt>
<dd>Enables or disables the thread status display
on the console. When enabled, a status of the number of running threads
is displayed along with their status.</dd>
on the console. When enabled, the state of each running threads is displayed
on the Apache console screen.</dd>
<dt>SHUTDOWN</dt>
<dd>Terminates the running instance of the Apache
web server.</dd>
<dt>HELP</dt>
<dd>Describes each of the runtime directives.</dd>
</dl>
<p>By default these directives are issued against the instance of Apache running
in the OS address space. To issue a directive against a specific instance running
in a protected address space, include the -p parameter along with the name of the
address space. For more information type "apache2 Help" on the command line.</p>
</section>
<section id="use">
<title>Configuring Apache for NetWare</title>
<p>Apache is configured by files in the <code>conf</code>
directory. These are the same as files used to configure the
Unix version, but there are a few different directives for
<p>Apache is configured by reading configuration files usually stored
in the <code>conf</code> directory. These are the same as files used
to configure the Unix version, but there are a few different directives for
Apache on NetWare. See the <a href="../">Apache
documentation</a> for all the available directives.</p>
@@ -289,11 +314,11 @@
<ul>
<li>
<p>Because Apache for NetWare is multithreaded, it does not
use a separate process for each request, as Apache does in some Unix
use a separate process for each request, as Apache does on some Unix
implementations. Instead there are only threads running: a parent
thread, and a multiple child threads which handle the requests.</p>
thread, and multiple child or worker threads which handle the requests.</p>
<p>So the "process"-management directives are different:</p>
<p>Therefore the "process"-management directives are different:</p>
<p><directive module="mpm_common">MaxRequestsPerChild</directive> -
Like the Unix directive, this controls how many requests
@@ -327,12 +352,12 @@
</li>
<li>
<p>The directives that accept filenames as arguments now
must use NetWare filenames instead of Unix ones. However,
because Apache uses Unix-style names internally, you must
use forward slashes, not backslashes. It is recommended that all rooted
file paths begin with a volume name. If omitted, Apache will
assume the <code>SYS:</code> volume.</p>
<p>The directives that accept filenames as arguments must use
NetWare filenames instead of Unix names. However, because Apache
uses Unix-style names internally, forward slashes must be used
rather than backslashes. It is recommended that all rooted file paths
begin with a volume name. If omitted, Apache will assume the
<code>SYS:</code> volume which may not be correct.</p>
</li>
<li>
@@ -343,8 +368,7 @@
To activate these, or other modules, the <directive
module="mod_so">LoadModule</directive> directive
must be used. For example, to active the status module, use
the following (in addition to the status-activating
directives in <code>access.conf</code>):</p>
the following:</p>
<example>
LoadModule status_module modules/status.nlm
@@ -381,17 +405,18 @@
<title>Compiling Apache for NetWare</title>
<p>Compiling Apache requires MetroWerks CodeWarrior 6.x or higher to
be properly installed. Once Apache has been built, it needs to be
installed on a NetWare volume's root directory. The default is the
<code>sys:/Apache2</code> directory.</p>
<p>Compiling Apache requires MetroWerks CodeWarrior 6.x or higher. Once
Apache has been built, it can be installed to the root of any NetWare
volume. The default is the <code>sys:/Apache2</code> directory.</p>
<p>Before running the server you must fill out the <code>conf</code>
directory. Copy the file <code>HTTPD-STD.CONF</code> from the distribution
<code>conf</code> directory and rename it to <code>HTTPD.CONF</code>.
Edit the <code>HTTPD.CONF</code> file searching for all <code>@@Value@@</code>
markers and replacing them with the appropriate setting. Copy over
the <code>conf/magic</code> and <code>conf/mime.types</code> files as well.</p>
the <code>conf/magic</code> and <code>conf/mime.types</code> files as well.
Alternatively, a complete distribution can be built by including the keyword
<code>install</code> when invoking the makefiles.</p>
<section id="comp-req">
@@ -408,11 +433,12 @@
<li><a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
for C (LibC)</a></li>
<li><a href="http://developer.novell.com/ndk/ws2comp.htm">WinSock 2
Developer Components for NetWare</a></li>
<li><a href="http://developer.novell.com/ndk/cldap.htm">LDAP Libraries
for C</a></li>
<li>To build using either the project file or the make files, requires an
AWK utility (awk, gawk or similar). AWK can be downloaded from
<li><a href="http://www.gzip.org/zlib/">ZLIB Compression Library source code</a></li>
<li>AWK utility (awk, gawk or similar). AWK can be downloaded from
<a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.
The utility must be found in your windows path and must be named <code>awk.exe</code>.</li>
@@ -422,93 +448,6 @@
</section>
<section id="comp-metro">
<title>Building Apache using the Metrowerks Project Files:</title>
<p>All major pieces of Apache and APR are built using the
<code>ApacheNW.mcp</code> and <code>LibAprNW.mcp</code> project files.
This includes modules such as status, info, proxy, etc.</p>
<ul>
<li>Set the environment variable <code>NovellLibC</code> to the
location of the NetWare Libraries for C SDK, for example:
<example>Set NovellLibC=c:\novell\ndk\libc</example>
</li>
<li>Make sure that the path to the CodeWarrior command line tools
(<code>MWCCNLM.exe</code>, <code>MWLDNLM.exe</code>) has been
included in the system's <code>PATH</code> environment variable.</li>
<li>Make sure that the path to the AWK utility has been included in the
system's <code>PATH</code> environment variable.</li>
<li>Download the source code and unzip to an appropriate directory on
your workstation.</li>
<li>Change directory to <code>\httpd\srclib\apr\build</code> and run the
batch file <code>prebuildnw.bat</code>. The batch file will setup the build
environment for building the APR libraries. It will also run 2 AWK scripts
that will generate the export files for APR.</li>
<li>Change directory to <code>\httpd\srclib\apr</code> and extract the project
file <code>LIBAPRNW.mcp</code> from the <code>LIBAPRNW.mcp.zip</code> file.</li>
<li>Open the <code>LIBAPRNW.mcp</code> project file in the Metrowerks IDE.</li>
<li>Select the target "Build Util - Gen URL Delim" and build the target.
This target will produce the NLM <code>GENURI.nlm</code></li>
<li>Copy the file <code>GENURI.nlm</code> to the <code>SYS:</code> volume
of a NetWare server and run using the following command:
<ul>
<li><code>SYS:\genuri &gt; sys:\uri_delims.h</code></li>
</ul>
</li>
<li>Copy the file <code>uri_delims.h</code> to the directory
<code>\httpd\srclib\apr-util\uri</code> on the build machine.</li>
<li>Select the target "APR Debug NLM" or "APR Release NLM" in the IDE and build.
This will produce the file <code>APRLIB.nlm</code>.
<ul>
<li>[Optional] Select any of the LIB targets to produce a
statically linkable libraries.</li>
</ul>
</li>
<li>Change directory to <code>\httpd\build</code> and run the batch file
<code>prebuildnw.bat</code>. This batch file will setup the build environment
for building the <code>APACHE.nlm</code>. It will also run several AWK scripts
that will generate the export files for APACHE.</li>
<li>Change directory to <code>\http</code> and extract the project file
<code>ApacheNW.mcp</code> from the <code>ApacheNW.mcp.zip</code> file.</li>
<li>Open the <code>ApacheNW.mcp</code> project file in the Metrowerks IDE.</li>
<li>Select the target "Build Utility - DFTables" and build the target.</li>
<li>Select the target "Build Util - Gen Test Chars" and build the target.</li>
<li>Copy the files <code>GENCHARS.nlm</code> and <code>DFTABLES.nlm</code>
to the <code>SYS:</code> volume of a NetWare server and run using the following commands:
<ul>
<li><code>SYS:\genchars &gt; sys:\test_char.h</code></li>
<li><code>SYS:\dftables &gt; sys:\chartables.c</code></li>
</ul>
</li>
<li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
to the directory <code>\httpd\os\netware</code> on the build machine.</li>
<li>Select the target "Apache Full Debug" or "Apache Full Release" in
the IDE and build. This will produce the file <code>APACHE2.nlm</code>
along with all of the external module NLMs.</li>
</ul>
</section>
<section id="comp-make">
<title>Building Apache using the NetWare makefiles:</title>
@@ -526,11 +465,22 @@
If you installed to the default location <code>C:\Program
Files\Metrowerks\CodeWarrior</code>, you don't need to set this.</li>
<li>Set the environment variable <code>LDAPSDK</code> to the
location where you installed the LDAP Libraries for C, for example:
<example>Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc</example>
</li>
<li>Set the environment variable <code>ZLIBSDK</code> to the
location where you installed the source code for the ZLib Library,
for example:
<example>Set ZLIBSDK=D:\NOVELL\zlib</example>
</li>
<li>Set the environment variable <code>AP_WORK</code> to the full path of
the <code>\httpd</code> directory.</li>
the <code>\httpd-2.0</code> directory.</li>
<li>Set the environment variable <code>APR_WORK</code> to the full path of
the <code>\httpd\srclib\apr</code> directory.</li>
the <code>\httpd-2.0\srclib\apr</code> directory.</li>
<li>Make sure that the path to the AWK utility and the GNU make utility
(<code>gmake.exe</code>) have been included in the system's
@@ -539,7 +489,7 @@
<li>Download the source code and unzip to an appropriate directory on
your workstation.</li>
<li>Change directory to <code>\httpd\srclib\apr-util\uri</code> and build
<li>Change directory to <code>\httpd-2.0\srclib\apr-util\uri</code> and build
<code>GENURI.nlm</code> by running "<code>gmake -f nwgnumakefile</code>".</li>
<li>Copy the file <code>GENURI.nlm</code> to the <code>SYS:</code> volume
@@ -548,15 +498,15 @@
</li>
<li>Copy the file <code>uri_delims.h</code> to the directory
<code>\httpd\srclib\apr-util\uri</code> on the build machine.</li>
<code>\httpd-2.0\srclib\apr-util\uri</code> on the build machine.</li>
<li>Change directory to <code>\httpd\srclib\apr</code> and build APR
<li>Change directory to <code>\httpd-2.0\srclib\apr</code> and build APR
by running "<code>gmake -f nwgnumakefile</code>"</li>
<li>Change directory to <code>\httpd\srclib\pcre</code> and build
<li>Change directory to <code>\httpd-2.0\srclib\pcre</code> and build
<code>DFTABLES.nlm</code> by running "<code>gmake -f nwgnumakefile</code>"</li>
<li>Change directory to <code>\httpd\server</code> and build
<li>Change directory to <code>\httpd-2.0\server</code> and build
<code>GENCHARS.nlm</code> by running "<code>gmake -f nwgnumakefile</code>"</li>
<li>Copy the files <code>GENCHARS.nlm</code> and <code>DFTABLES.nlm</code>
@@ -569,9 +519,9 @@
</li>
<li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
to the directory <code>\httpd\os\netware</code> on the build machine.</li>
to the directory <code>\httpd-2.0\os\netware</code> on the build machine.</li>
<li>Change directory to <code>\httpd</code> and build Apache by running
<li>Change directory to <code>\httpd-2.0</code> and build Apache by running
"<code>gmake -f nwgnumakefile</code>". You can create a distribution directory by
adding an install parameter to the command, for example:
<example>gmake -f nwgnumakefile install</example>
@@ -585,26 +535,26 @@
<title>Additional make options</title>
<ul>
<li><code>gmake -f nwgnumakefile</code><br />Builds release versions of all of the
binaries and copies them to a <code>\release</code> destination directory.</li>
<li><code>gmake -f nwgnumakefile</code><p>Builds release versions of all of the
binaries and copies them to a <code>\release</code> destination directory.</p></li>
<li><code>gmake -f nwgnumakefile DEBUG=1</code><br />Builds debug versions of all of the
binaries and copies them to a <code>\debug</code> destination directory.</li>
<li><code>gmake -f nwgnumakefile DEBUG=1</code><p>Builds debug versions of all of the
binaries and copies them to a <code>\debug</code> destination directory.</p></li>
<li><code>gmake -f nwgnumakefile install</code><br />Creates a complete Apache
<li><code>gmake -f nwgnumakefile install</code><p>Creates a complete Apache
distribution with binaries, docs and additional support files in a
<code>\dist\Apache2</code> directory.</li>
<code>\dist\Apache2</code> directory.</p></li>
<li><code>gmake -f nwgnumakefile installdev</code><br />Same as install but also creates a
<li><code>gmake -f nwgnumakefile installdev</code><p>Same as install but also creates a
<code>\lib</code> and <code>\include</code> directory in the destination directory
and copies headers and import files.</li>
and copies headers and import files.</p></li>
<li><code>gmake -f nwgnumakefile clean</code><br />Cleans all object files and binaries
<li><code>gmake -f nwgnumakefile clean</code><p>Cleans all object files and binaries
from the <code>\release</code> or <code>\debug</code> build areas depending on whether
<code>DEBUG</code> has been defined.</li>
<code>DEBUG</code> has been defined.</p></li>
<li><code>gmake -f nwgnumakefile clobber_all</code><br />Same as clean and also deletes
the distribution directory if it exists.</li>
<li><code>gmake -f nwgnumakefile clobber_all</code><p>Same as clean and also deletes
the distribution directory if it exists.</p></li>
</ul>
</section>