| <?xml version="1.0" encoding="UTF-8" ?> | |
| <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd"> | |
| <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> | |
| <!-- $LastChangedRevision$ --> | |
| <!-- | |
| Licensed to the Apache Software Foundation (ASF) under one or more | |
| contributor license agreements. See the NOTICE file distributed with | |
| this work for additional information regarding copyright ownership. | |
| The ASF licenses this file to You under the Apache License, Version 2.0 | |
| (the "License"); you may not use this file except in compliance with | |
| the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| See the License for the specific language governing permissions and | |
| limitations under the License. | |
| --> | |
| <manualpage metafile="netware.xml.meta"> | |
| <parentdocument href="./">Platform Specific Notes</parentdocument> | |
| <title>Using Apache HTTP Server With Novell NetWare</title> | |
| <summary> | |
| <note type="warning"> | |
| <p>Novell NetWare is end-of-life and is no longer supported. | |
| This document is retained for historical reference only. | |
| Links to Novell resources formerly referenced in this document are | |
| no longer functional. This document is provides for historical reference | |
| only.</p> | |
| </note> | |
| <p>This document explains how to install, configure and run | |
| Apache HTTP Server 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> | |
| <p>The bug reporting page and dev-httpd mailing list are | |
| <em>not</em> provided to answer questions about configuration or | |
| running httpd. Before you submit a bug report or request, first | |
| consult this document, the <a | |
| href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Frequently Asked | |
| Questions</a> page and the other relevant documentation topics. If | |
| you still have a question or problem, post it to the novell.devsup.webserver (formerly at <code>news://developer-forums.novell.com/novell.devsup.webserver</code>) newsgroup, where many httpd users are | |
| more than willing to answer new and obscure questions about using | |
| httpd on NetWare.</p> | |
| <p>Most of this document assumes that you are installing httpd | |
| from a binary distribution. If you want to compile httpd | |
| yourself (possibly to help with development, or to track down | |
| bugs), see the section on <a href="#comp">Compiling Apache httpd for | |
| NetWare</a> below.</p> | |
| </summary> | |
| <section id="req"> | |
| <title>Requirements</title> | |
| <p>httpd 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 | |
| NetWare Libraries | |
| for C (LibC) (formerly at <code>http://developer.novell.com/ndk/libc.htm</code>).</p> | |
| <p>NetWare service packs are available here (formerly at <code>http://support.novell.com/misc/patlst.htm#nw</code>).</p> | |
| <p>httpd 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 NetWare Libraries | |
| for C (LibC) (formerly at <code>http://developer.novell.com/ndk/libc.htm</code>) has been installed . <strong>WARNING:</strong> httpd 2.0 | |
| for NetWare has not been targeted for or tested in this environment.</p> | |
| </section> | |
| <section id="down"> | |
| <title>Downloading Apache httpd for NetWare</title> | |
| <p>Information on the latest version of httpd can be found on | |
| the httpd web server at <a | |
| 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. Binary builds of the latest releases of | |
| httpd 2.0 for NetWare can be downloaded from | |
| <a href="http://www.apache.org/dist/httpd/binaries/netware">here</a>.</p> | |
| </section> | |
| <section id="inst"> | |
| <title>Installing Apache httpd for NetWare</title> | |
| <p>There is no httpd install program for NetWare currently. If you | |
| are building httpd 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 httpd on NetWare from the | |
| binary download (assuming you will install to | |
| <code>sys:/apache2</code>):</p> | |
| <ul> | |
| <li>Unzip the binary download file to the root of the <code>SYS:</code> | |
| volume (may be installed to any volume)</li> | |
| <li>Edit the <code>httpd.conf</code> file setting <directive | |
| module="core">ServerRoot</directive> and <directive | |
| 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> | |
| </li> | |
| </ul> | |
| <p>Follow these steps to install httpd on NetWare manually | |
| from your own build source (assuming you will install to | |
| <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> | |
| 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> | |
| <li>Copy the <code>HTTPD-STD.CONF</code> file to the | |
| <code>SYS:/APACHE2/CONF</code> directory and rename to | |
| <code>HTTPD.CONF</code></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> | |
| <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\MANUAL</code> | |
| to <code>SYS:/APACHE2/MANUAL</code></li> | |
| <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ERROR</code> | |
| to <code>SYS:/APACHE2/ERROR</code></li> | |
| <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\DOCROOT</code> | |
| to <code>SYS:/APACHE2/HTDOCS</code></li> | |
| <li>Create the directory <code>SYS:/APACHE2/LOGS</code> | |
| on the server</li> | |
| <li>Create the directory <code>SYS:/APACHE2/CGI-BIN</code> | |
| on the server</li> | |
| <li>Create the directory <code>SYS:/APACHE2/MODULES</code> | |
| and copy all nlm modules into the <code>modules</code> directory</li> | |
| <li>Edit the <code>HTTPD.CONF</code> file searching for all | |
| <code>@@Value@@</code> markers and replacing them with the | |
| appropriate setting</li> | |
| <li>Add <code>SYS:/APACHE2</code> to the search path, for example: | |
| <example>SEARCH ADD SYS:\APACHE2</example> | |
| </li> | |
| </ul> | |
| <p>httpd 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 httpd by simply copying the distribution that was produced | |
| by the makefiles to the root of a NetWare volume (see: <a href="#comp">Compiling Apache httpd for | |
| NetWare</a> below).</p> | |
| </section> | |
| <section id="run"> | |
| <title>Running Apache httpd for NetWare</title> | |
| <p>To start httpd just type <code>apache</code> at the | |
| console. This will load apache in the OS address space. If you | |
| prefer to load httpd in a protected address space you may | |
| specify the address space with the load statement as follows:</p> | |
| <example> | |
| load address space = apache2 apache2 | |
| </example> | |
| <p>This will load httpd into an address space called apache2. | |
| Running multiple instances of httpd concurrently on NetWare is | |
| possible by loading each instance into its own protected | |
| address space.</p> | |
| <p>After starting httpd, it will be listening to port 80 | |
| (unless you changed the <directive module="mpm_common">Listen</directive> | |
| directive in the configuration files). | |
| To connect to the server and access the default page, | |
| launch a browser and enter the server's name or address. This | |
| should respond with a welcome page, and a link to the httpd | |
| manual. If nothing happens or you get an error, look in the | |
| <code>error_log</code> file in the <code>logs</code> | |
| directory.</p> | |
| <p>Once your basic installation is working, you should | |
| configure it properly by editing the files in the | |
| <code>conf</code> directory.</p> | |
| <p>To unload httpd running in the OS address space just type | |
| the following at the console:</p> | |
| <example> | |
| unload apache2 | |
| </example> | |
| <p>or</p> | |
| <example> | |
| apache2 shutdown | |
| </example> | |
| <p>If apache is running in a protected address space specify the | |
| address space in the unload statement:</p> | |
| <example> | |
| unload address space = apache2 apache2 | |
| </example> | |
| <p>When working with httpd it is important to know how it will | |
| find the configuration files. You can specify a configuration | |
| file on the command line in two ways:</p> | |
| <ul> | |
| <li><code>-f</code> specifies a path to a particular | |
| configuration file</li> | |
| </ul> | |
| <example> | |
| apache2 -f "vol:/my server/conf/my.conf" | |
| </example> | |
| <example> | |
| apache -f test/test.conf | |
| </example> | |
| <p>In these cases, the proper <directive module="core">ServerRoot</directive> | |
| should be set in the configuration file.</p> | |
| <p>If you don't specify a configuration file name with <code>-f</code>, | |
| httpd will use the file name compiled into the server, usually | |
| <code>conf/httpd.conf</code>. Invoking httpd with the <code>-V</code> | |
| switch will display this value labeled as <code>SERVER_CONFIG_FILE</code>. | |
| httpd will then determine its <directive module="core">ServerRoot</directive> | |
| by trying the following, in this order:</p> | |
| <ul> | |
| <li>A <code>ServerRoot</code> directive via a | |
| <code>-C</code> switch.</li> | |
| <li>The <code>-d</code> switch on the command line.</li> | |
| <li>Current working directory</li> | |
| <li>The server root compiled into the server.</li> | |
| </ul> | |
| <p>The server root compiled into the server is usually <code>sys:/apache2</code>. | |
| invoking apache with the <code>-V</code> switch will display this value labeled as | |
| <code>HTTPD_ROOT</code>.</p> | |
| <p>httpd 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. These directives are only available while httpd is running. Each | |
| of these directives must be preceded by the keyword <code>APACHE2</code>.</p> | |
| <dl> | |
| <dt>RESTART</dt> | |
| <dd>Instructs httpd to terminate all running worker | |
| threads as they become idle, reread the configuration file and restart each | |
| worker thread based on the new configuration.</dd> | |
| <dt>VERSION</dt> | |
| <dd>Displays version information about the currently | |
| running instance of httpd.</dd> | |
| <dt>MODULES</dt> | |
| <dd>Displays a list of loaded modules both built-in | |
| and external.</dd> | |
| <dt>DIRECTIVES</dt> | |
| <dd>Displays a list of all available directives.</dd> | |
| <dt>SETTINGS</dt> | |
| <dd>Enables or disables the thread status display | |
| on the console. When enabled, the state of each running threads is displayed | |
| on the httpd console screen.</dd> | |
| <dt>SHUTDOWN</dt> | |
| <dd>Terminates the running instance of the httpd | |
| 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 httpd 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 httpd for NetWare</title> | |
| <p>httpd 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 | |
| httpd on NetWare. See the <a href="../mod/">httpd module | |
| documentation</a> for all the available directives.</p> | |
| <p>The main differences in httpd for NetWare are:</p> | |
| <ul> | |
| <li> | |
| <p>Because httpd for NetWare is multithreaded, it does not | |
| use a separate process for each request, as httpd does on some Unix | |
| implementations. Instead there are only threads running: a parent | |
| thread, and multiple child or worker threads which handle the requests.</p> | |
| <p>Therefore the "process"-management directives are different:</p> | |
| <p><directive module="mpm_common">MaxConnectionsPerChild</directive> - | |
| Like the Unix directive, this controls how many connections | |
| a worker thread will serve before exiting. The recommended default, | |
| <code>MaxConnectionsPerChild 0</code>, causes the thread to continue servicing | |
| request indefinitely. It is recommended on NetWare, unless there is some | |
| specific reason, that this directive always remain set to <code>0</code>.</p> | |
| <p><directive module="mpm_common">StartThreads</directive> - | |
| This directive tells the server how many threads it should start initially. | |
| The recommended default is <code>StartThreads 50</code>.</p> | |
| <p><directive module="mpm_common">MinSpareThreads</directive> - | |
| This directive instructs the server to spawn additional worker threads | |
| if the number of idle threads ever falls below this value. The recommended | |
| default is <code>MinSpareThreads 10</code>.</p> | |
| <p><directive module="mpm_common">MaxSpareThreads</directive> - | |
| This directive instructs the server to begin terminating worker threads | |
| if the number of idle threads ever exceeds this value. The recommended | |
| default is <code>MaxSpareThreads 100</code>.</p> | |
| <p><directive module="mpm_netware">MaxThreads</directive> - | |
| This directive limits the total number of work threads to a maximum | |
| value. The recommended default is <code>ThreadsPerChild 250</code>.</p> | |
| <p><directive module="mpm_common">ThreadStackSize</directive> - | |
| This directive tells the server what size of stack to use | |
| for the individual worker thread. The recommended default | |
| is <code>ThreadStackSize 65536</code>.</p> | |
| </li> | |
| <li> | |
| <p>The directives that accept filenames as arguments must use | |
| NetWare filenames instead of Unix names. However, because httpd | |
| 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, httpd will assume the | |
| <code>SYS:</code> volume which may not be correct.</p> | |
| </li> | |
| <li> | |
| <p>httpd for NetWare has the ability to load modules at | |
| runtime, without recompiling the server. If httpd is | |
| compiled normally, it will install a number of optional | |
| modules in the <code>\Apache2\modules</code> directory. | |
| 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:</p> | |
| <example> | |
| LoadModule status_module modules/status.nlm | |
| </example> | |
| <p>Information on <a | |
| href="../mod/mod_so.html#creating">creating loadable | |
| modules</a> is also available.</p> | |
| </li> | |
| </ul> | |
| <section id="use-add"> | |
| <title>Additional NetWare specific directives:</title> | |
| <ul> | |
| <li><directive module="core">CGIMapExtension</directive> - | |
| This directive maps a CGI file extension to a script interpreter.</li> | |
| </ul> | |
| <ul> | |
| <li><directive module="mod_nw_ssl">SecureListen</directive> - | |
| Enables SSL encryption for a specified port.</li> | |
| </ul> | |
| <ul> | |
| <li><directive module="mod_nw_ssl">NWSSLTrustedCerts</directive> - | |
| Adds trusted certificates that are used to create secure connections to proxied servers.</li> | |
| </ul> | |
| <ul> | |
| <li><directive module="mod_nw_ssl">NWSSLUpgradeable</directive> - | |
| Allow a connection created on the specified address/port to be upgraded to an SSL connection.</li> | |
| </ul> | |
| </section> | |
| </section> | |
| <section id="comp"> | |
| <title>Compiling Apache httpd for NetWare</title> | |
| <p>Compiling httpd requires MetroWerks CodeWarrior 6.x or higher. Once | |
| httpd 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. | |
| Alternatively, a complete distribution can be built by including the keyword | |
| <code>install</code> when invoking the makefiles.</p> | |
| <section id="comp-req"> | |
| <title>Requirements:</title> | |
| <p>The following development tools are required to build | |
| httpd 2.0 for NetWare:</p> | |
| <ul> | |
| <li>Metrowerks CodeWarrior 6.0 or higher with the | |
| NetWare PDK 3.0 (formerly at <code>http://developer.novell.com/ndk/cwpdk.htm</code>) | |
| or higher.</li> | |
| <li>NetWare Libraries | |
| for C (LibC) (formerly at <code>http://developer.novell.com/ndk/libc.htm</code>)</li> | |
| <li>LDAP Libraries | |
| for C (formerly at <code>http://developer.novell.com/ndk/cldap.htm</code>)</li> | |
| <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 | |
| <code>http://developer.novell.com/ndk/apache.htm</code>. | |
| The utility must be found in your windows path and must be named <code>awk.exe</code>.</li> | |
| <li>To build using the makefiles, you will need GNU make version 3.78.1 (GMake) available at | |
| <code>http://developer.novell.com/ndk/apache.htm</code>.</li> | |
| </ul> | |
| </section> | |
| <section id="comp-make"> | |
| <title>Building Apache httpd using the NetWare makefiles:</title> | |
| <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>Set the environment variable <code>METROWERKS</code> to the | |
| location where you installed the Metrowerks CodeWarrior compiler, | |
| for example: | |
| <example>Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior</example> | |
| 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>PCRESDK</code> to the location | |
| where you installed the source code for the PCRE Library, for example: | |
| <example>Set PCRESDK=D:\NOVELL\pcre</example> | |
| </li> | |
| <li>Set the environment variable <code>AP_WORK</code> to the full path of | |
| the <code>httpd</code> source code directory. | |
| <example>Set AP_WORK=D:\httpd-2.0.x</example> | |
| </li> | |
| <li>Set the environment variable <code>APR_WORK</code> to the full path of | |
| the <code>apr</code> source code directory. Typically <code>\httpd\srclib\apr</code> | |
| but the APR project can be outside of the httpd directory structure. | |
| <example>Set APR_WORK=D:\apr-1.x.x</example> | |
| </li> | |
| <li>Set the environment variable <code>APU_WORK</code> to the full path of | |
| the <code>apr-util</code> source code directory. Typically <code>\httpd\srclib\apr-util</code> | |
| but the APR-UTIL project can be outside of the httpd directory structure. | |
| <example>Set APU_WORK=D:\apr-util-1.x.x</example> | |
| </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 | |
| <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-2.0</code> and build the prebuild utilities | |
| by running "<code>gmake -f nwgnumakefile prebuild</code>". This target will create | |
| the directory <code>\httpd-2.0\nwprebuild</code> and copy each of the utilities | |
| to this location that are necessary to complete the following build steps. | |
| </li> | |
| <li>Copy the files <code>\httpd-2.0\nwprebuild\GENCHARS.nlm</code> and | |
| <code>\httpd-2.0\nwprebuild\DFTABLES.nlm</code> to the <code>SYS:</code> volume of a | |
| NetWare server and run them using the following commands: | |
| <example> | |
| SYS:\genchars > sys:\test_char.h<br /> | |
| SYS:\dftables sys:\chartables.c<br /> | |
| </example> | |
| </li> | |
| <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code> | |
| to the directory <code>\httpd-2.0\os\netware</code> on the build machine.</li> | |
| <li>Change directory to <code>\httpd-2.0</code> and build httpd 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> | |
| </li> | |
| </ul> | |
| </section> | |
| <section id="comp-add"> | |
| <title>Additional make options</title> | |
| <ul> | |
| <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><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><p>Creates a complete httpd | |
| distribution with binaries, docs and additional support files in a | |
| <code>\dist\Apache2</code> directory.</p></li> | |
| <li><code>gmake -f nwgnumakefile prebuild</code><p>Builds all of the prebuild utilities | |
| and copies them to the <code>\nwprebuild</code> directory.</p></li> | |
| <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.</p></li> | |
| <li><code>gmake -f nwgnumakefile clean</code><p>Cleans all object files and binaries | |
| from the <code>\release.o</code> or <code>\debug.o</code> build areas depending on whether | |
| <code>DEBUG</code> has been defined.</p></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> | |
| <section id="comp-add-env"> | |
| <title>Additional environment variable options</title> | |
| <ul> | |
| <li>To build all of the experimental modules, set the environment | |
| variable <code>EXPERIMENTAL</code>: | |
| <example>Set EXPERIMENTAL=1</example> | |
| </li> | |
| <li>To build httpd using standard BSD style sockets rather than | |
| Winsock, set the environment variable <code>USE_STDSOCKETS</code>: | |
| <example>Set USE_STDSOCKETS=1</example> | |
| </li> | |
| </ul> | |
| </section> | |
| <section id="comp-mod_ssl"> | |
| <title>Building mod_ssl for the NetWare platform</title> | |
| <p>By default httpd for NetWare uses the built-in module | |
| <module>mod_nw_ssl</module> to provide SSL services. This module | |
| simply enables the native SSL services implemented in NetWare OS | |
| to handle all encryption for a given port. Alternatively, mod_ssl | |
| can also be used in the same manner as on other platforms.</p> | |
| <p>Before mod_ssl can be built for the NetWare platform, the OpenSSL | |
| libraries must be provided. This can be done through the following | |
| steps:</p> | |
| <ul> | |
| <li>Download the recent OpenSSL 0.9.8 release source code from the | |
| <a href="http://www.openssl.org/source/">OpenSSL Source</a> | |
| page (older 0.9.7 versions need to be patched and are therefore not | |
| recommended).</li> | |
| <li>Edit the file <code>NetWare/set_env.bat</code> and modify any | |
| tools and utilities paths so that they correspond to your build | |
| environment.</li> | |
| <li>From the root of the OpenSSL source directory, run the following | |
| scripts: | |
| <example> | |
| Netware\set_env netware-libc<br /> | |
| Netware\build netware-libc | |
| </example> | |
| For performance reasons you should enable to build with ASM code. | |
| Download NASM from the <a href="http://nasm.sourceforge.net/">SF site</a>. | |
| Then configure OpenSSL to use ASM code: | |
| <example> | |
| Netware\build netware-libc nw-nasm enable-mdc2 enable-md5 | |
| </example> | |
| Warning: don't use the CodeWarrior Assembler - it produces broken code! | |
| </li> | |
| <li>Before building httpd, set the environment variable | |
| <code>OSSLSDK</code> to the full path to the root of the openssl | |
| source code directory, and set WITH_MOD_SSL to 1. | |
| <example> | |
| Set OSSLSDK=d:\openssl-0.9.8x<br /> | |
| Set WITH_MOD_SSL=1 | |
| </example></li> | |
| </ul> | |
| </section> | |
| </section> | |
| </manualpage> | |