1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
4        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5              This file is generated from xml source: DO NOT EDIT
6        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7      -->
8<title>Using Apache With Novell NetWare - Apache HTTP Server</title>
9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
12<script src="/style/scripts/prettify.js" type="text/javascript">
13</script>
14
15<link href="/images/favicon.ico" rel="shortcut icon" /></head>
16<body id="manual-page"><div id="page-header">
17<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
18<p class="apache">Apache HTTP Server Version 2.2</p>
19<img alt="" src="/images/feather.gif" /></div>
20<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Platform Specific Notes</a></div><div id="page-content"><div id="preamble"><h1>Using Apache With Novell NetWare</h1>
23<div class="toplang">
24<p><span>Available Languages: </span><a href="/en/platform/netware.html" title="English">&nbsp;en&nbsp;</a> |
25<a href="/ko/platform/netware.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
26</div>
27
28
29    <p>This document explains how to install, configure and run
30    Apache 2.0 under Novell NetWare 6.0 and above. If you find any bugs,
31    or wish to contribute in other ways, please use our
32    <a href="http://httpd.apache.org/bug_report.html">bug reporting
33    page.</a></p>
34
35    <p>The bug reporting page and dev-httpd mailing list are <em>not</em>
36    provided to answer questions about configuration or running Apache.
37    Before you submit a bug report or request, first consult this document, the
38    <a href="/faq/">Frequently Asked Questions</a> page and the other
39    relevant documentation topics. If you still have a question or problem,
40    post it to the <a href="news://developer-forums.novell.com/novell.devsup.webserver">
41    novell.devsup.webserver</a> newsgroup, where many Apache users are more than
42    willing to answer new and obscure questions about using Apache on NetWare.</p>
43
44    <p>Most of this document assumes that you are installing Apache
45    from a binary distribution. If you want to compile Apache
46    yourself (possibly to help with development, or to track down
47    bugs), see the section on <a href="#comp">Compiling Apache for
48    NetWare</a> below.</p>
49
50  </div>
51<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#req">Requirements</a></li>
52<li><img alt="" src="/images/down.gif" /> <a href="#down">Downloading Apache for NetWare</a></li>
53<li><img alt="" src="/images/down.gif" /> <a href="#inst">Installing Apache for NetWare</a></li>
54<li><img alt="" src="/images/down.gif" /> <a href="#run">Running Apache for NetWare</a></li>
55<li><img alt="" src="/images/down.gif" /> <a href="#use">Configuring Apache for NetWare</a></li>
56<li><img alt="" src="/images/down.gif" /> <a href="#comp">Compiling Apache for NetWare</a></li>
57</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
58<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
59<div class="section">
60<h2><a name="req" id="req">Requirements</a></h2>
61
62    
63
64    <p>Apache 2.0 is designed to run on NetWare 6.0 service pack 3 
65    and above. If you are running a service pack less
66    than SP3, you must install the latest 
67    <a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
68    for C (LibC)</a>.</p>
69
70    <p>NetWare service packs are available <a href="http://support.novell.com/misc/patlst.htm#nw">here</a>.</p>
71
72    <p>Apache 2.0 for NetWare can also be run in a NetWare 5.1 environment
73    as long as the latest service pack or the latest version
74    of the <a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
75    for C (LibC)</a> has been installed .  <strong>WARNING:</strong> Apache 2.0 
76    for NetWare has not been targeted for or tested in this environment.</p>
77
78  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
79<div class="section">
80<h2><a name="down" id="down">Downloading Apache for NetWare</a></h2>
81
82    
83
84    <p>Information on the latest version of Apache can be found on
85    the Apache web server at <a href="http://www.apache.org/">http://www.apache.org/</a>. This
86    will list the current release, any more recent alpha or
87    beta-test releases, together with details of mirror web and
88    anonymous ftp sites. Binary builds of the latest releases of
89    Apache 2.0 for NetWare can be downloaded from 
90    <a href="http://www.apache.org/dist/httpd/binaries/netware">here</a>.</p>
91
92  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
93<div class="section">
94<h2><a name="inst" id="inst">Installing Apache for NetWare</a></h2>
95
96    
97
98    <p>There is no Apache install program for NetWare currently. If you
99    are building Apache 2.0 for NetWare from source, you will need to 
100    copy the files over to the server manually.</p>
101
102    <p>Follow these steps to install Apache on NetWare from the
103    binary download (assuming you will install to
104    <code>sys:/apache2</code>):</p>
105
106    <ul>
107      <li>Unzip the binary download file to the root of the <code>SYS:</code>
108      volume (may be installed to any volume)</li>
109
110      <li>Edit the <code>httpd.conf</code> file setting <code class="directive"><a href="/mod/core.html#serverroot">ServerRoot</a></code> and <code class="directive"><a href="/mod/core.html#servername">ServerName</a></code> along with any file path values
111      to reflect your correct server settings</li>
112
113      <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
114        <div class="example"><p><code>SEARCH ADD SYS:\APACHE2</code></p></div>
115      </li>
116
117    </ul>
118
119    <p>Follow these steps to install Apache on NetWare manually
120    from your own build source (assuming you will install to
121    <code>sys:/apache2</code>):</p>
122
123    <ul>
124      <li>Create a directory called <code>Apache2</code> on a
125      NetWare volume</li>
126
127      <li>Copy <code>APACHE2.NLM</code>, <code>APRLIB.NLM</code>
128      to <code>SYS:/APACHE2</code></li>
129
130      <li>Create a directory under <code>SYS:/APACHE2</code>
131      called <code>BIN</code></li>
132
133      <li>Copy <code>HTDIGEST.NLM</code>, <code>HTPASSWD.NLM</code>, 
134      <code>HTDBM.NLM</code>, <code>LOGRES.NLM</code>, <code>ROTLOGS.NLM</code>
135      to <code>SYS:/APACHE2/BIN</code></li>
136
137      <li>Create a directory under <code>SYS:/APACHE2</code>
138      called <code>CONF</code></li>
139
140      <li>Copy the <code>HTTPD-STD.CONF</code> file to the
141      <code>SYS:/APACHE2/CONF</code> directory and rename to
142      <code>HTTPD.CONF</code></li>
143
144      <li>Copy the <code>MIME.TYPES</code>, <code>CHARSET.CONV</code> and 
145      <code>MAGIC</code> files to <code>SYS:/APACHE2/CONF</code> directory</li>
146
147      <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ICONS</code>
148      to <code>SYS:/APACHE2/ICONS</code></li>
149
150      <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\MANUAL</code>
151      to <code>SYS:/APACHE2/MANUAL</code></li>
152
153      <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ERROR</code>
154      to <code>SYS:/APACHE2/ERROR</code></li>
155
156      <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\DOCROOT</code>
157      to <code>SYS:/APACHE2/HTDOCS</code></li>
158
159      <li>Create the directory <code>SYS:/APACHE2/LOGS</code>
160      on the server</li>
161
162      <li>Create the directory <code>SYS:/APACHE2/CGI-BIN</code>
163      on the server</li>
164
165      <li>Create the directory <code>SYS:/APACHE2/MODULES</code>
166      and copy all nlm modules into the <code>modules</code> directory</li>
167
168      <li>Edit the <code>HTTPD.CONF</code> file searching for all
169      <code>@@Value@@</code> markers and replacing them with the
170      appropriate setting</li>
171
172      <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
173        <div class="example"><p><code>SEARCH ADD SYS:\APACHE2</code></p></div>
174      </li>
175    </ul>
176
177    <p>Apache may be installed to other volumes besides the default <code>SYS</code> volume.</p>
178
179    <p>During the build process, adding the keyword "install" to the makefile command line
180    will automatically produce a complete distribution package under the subdirectory 
181    <code>DIST</code>. Install Apache by simply copying the distribution that was produced 
182    by the makfiles to the root of a NetWare volume (see: <a href="#comp">Compiling Apache for 
183    NetWare</a> below).</p>
184
185  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
186<div class="section">
187<h2><a name="run" id="run">Running Apache for NetWare</a></h2>
188
189    
190
191    <p>To start Apache just type <code>apache</code> at the
192    console. This will load apache in the OS address space. If you
193    prefer to load Apache in a protected address space you may
194    specify the address space with the load statement as follows:</p>
195
196    <div class="example"><p><code>
197      load address space = apache2 apache2
198    </code></p></div>
199
200    <p>This will load Apache into an address space called apache2.
201    Running multiple instances of Apache concurrently on NetWare is
202    possible by loading each instance into its own protected
203    address space.</p>
204
205    <p>After starting Apache, it will be listening to port 80
206    (unless you changed the <code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code>
207    directive in the configuration files).
208    To connect to the server and access the default page,
209    launch a browser and enter the server's name or address. This
210    should respond with a welcome page, and a link to the Apache
211    manual. If nothing happens or you get an error, look in the
212    <code>error_log</code> file in the <code>logs</code>
213    directory.</p>
214
215    <p>Once your basic installation is working, you should
216    configure it properly by editing the files in the
217    <code>conf</code> directory.</p>
218
219    <p>To unload Apache running in the OS address space just type
220    the following at the console:</p>
221
222    <div class="example"><p><code>
223      unload apache2
224    </code></p></div>
225
226    <p>or</p>
227
228    <div class="example"><p><code>
229      apache2 shutdown
230    </code></p></div>
231
232    <p>If apache is running in a protected address space specify the
233    address space in the unload statement:</p>
234
235    <div class="example"><p><code>
236      unload address space = apache2 apache2
237    </code></p></div>
238
239    <p>When working with Apache it is important to know how it will
240    find the configuration files. You can specify a configuration
241    file on the command line in two ways:</p>
242
243    <ul>
244      <li><code>-f</code> specifies a path to a particular
245      configuration file</li>
246    </ul>
247
248    <div class="example"><p><code>
249      apache2 -f "vol:/my server/conf/my.conf"
250    </code></p></div>
251
252    <div class="example"><p><code>
253      apache -f test/test.conf
254    </code></p></div>
255
256    <p>In these cases, the proper <code class="directive"><a href="/mod/core.html#serverroot">ServerRoot</a></code>
257    should be set in the configuration file.</p>
258
259    <p>If you don't specify a configuration file name with <code>-f</code>,
260    Apache will use the file name compiled into the server, usually
261    <code>conf/httpd.conf</code>. Invoking Apache with the <code>-V</code>
262    switch will display this value labeled as <code>SERVER_CONFIG_FILE</code>.
263    Apache will then determine its <code class="directive"><a href="/mod/core.html#serverroot">ServerRoot</a></code>
264    by trying the following, in this order:</p>
265
266    <ul>
267      <li>A <code>ServerRoot</code> directive via a
268      <code>-C</code> switch.</li>
269
270      <li>The <code>-d</code> switch on the command line.</li>
271
272      <li>Current working directory</li>
273
274      <li>The server root compiled into the server.</li>
275    </ul>
276
277    <p>The server root compiled into the server is usually <code>sys:/apache2</code>.
278    invoking apache with the <code>-V</code> switch will display this value labeled as
279    <code>HTTPD_ROOT</code>.</p>
280
281    <p>Apache 2.0 for NetWare includes a set of command line directives that can
282    be used to modify or display information about the running instance of the
283    web server. These directives are only available while Apache is running. Each 
284    of these directives must be preceded by the keyword <code>APACHE2</code>.</p>
285
286    <dl>
287      <dt>RESTART</dt>
288      <dd>Instructs Apache to terminate all running worker
289      threads as they become idle, reread the configuration file and restart each
290      worker thread based on the new configuration.</dd>
291
292      <dt>VERSION</dt>
293      <dd>Displays version information about the currently
294      running instance of Apache.</dd>
295
296      <dt>MODULES</dt>
297      <dd>Displays a list of loaded modules both built-in
298      and external.</dd>
299
300      <dt>DIRECTIVES</dt>
301      <dd>Displays a list of all available directives.</dd>
302
303      <dt>SETTINGS</dt>
304      <dd>Enables or disables the thread status display
305      on the console. When enabled, the state of each running threads is displayed 
306      on the Apache console screen.</dd>
307
308      <dt>SHUTDOWN</dt>
309      <dd>Terminates the running instance of the Apache
310      web server.</dd>
311
312      <dt>HELP</dt>
313      <dd>Describes each of the runtime directives.</dd>
314    </dl>
315
316    <p>By default these directives are issued against the instance of Apache running
317    in the OS address space. To issue a directive against a specific instance running
318    in a protected address space, include the -p parameter along with the name of the
319    address space. For more information type "apache2 Help" on the command line.</p>
320
321  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
322<div class="section">
323<h2><a name="use" id="use">Configuring Apache for NetWare</a></h2>
324
325    
326
327    <p>Apache is configured by reading configuration files usually stored
328    in the <code>conf</code> directory. These are the same as files used 
329    to configure the Unix version, but there are a few different directives for
330    Apache on NetWare. See the <a href="../">Apache
331    documentation</a> for all the available directives.</p>
332
333    <p>The main differences in Apache for NetWare are:</p>
334
335    <ul>
336      <li>
337        <p>Because Apache for NetWare is multithreaded, it does not
338        use a separate process for each request, as Apache does on some Unix
339        implementations. Instead there are only threads running: a parent
340        thread, and multiple child or worker threads which handle the requests.</p>
341
342        <p>Therefore the "process"-management directives are different:</p>
343
344        <p><code class="directive"><a href="/mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> -
345        Like the Unix directive, this controls how many requests
346        a worker thread will serve before exiting. The recommended default,
347        <code>MaxRequestsPerChild 0</code>, causes the thread to continue servicing
348        request indefinitely. It is recommended on NetWare, unless there is some
349        specific reason, that this directive always remain set to <code>0</code>.</p>
350
351        <p><code class="directive"><a href="/mod/mpm_common.html#startthreads">StartThreads</a></code> -
352        This directive tells the server how many threads it should start initially.
353        The recommended default is <code>StartThreads 50</code>.</p>
354
355        <p><code class="directive"><a href="/mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> -
356        This directive instructs the server to spawn additional worker threads
357        if the number of idle threads ever falls below this value. The recommended
358        default is <code>MinSpareThreads 10</code>.</p>
359
360        <p><code class="directive"><a href="/mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> -
361        This directive instructs the server to begin terminating worker threads
362        if the number of idle threads ever exceeds this value. The recommended
363        default is <code>MaxSpareThreads 100</code>.</p>
364
365        <p><code class="directive"><a href="/mod/mpm_netware.html#maxthreads">MaxThreads</a></code> -
366        This directive limits the total number of work threads to a maximum
367        value. The recommended default is <code>ThreadsPerChild 250</code>.</p>
368
369        <p><code class="directive"><a href="/mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code> -
370        This directive tells the server what size of stack to use
371        for the individual worker thread. The recommended default
372        is <code>ThreadStackSize 65536</code>.</p>
373      </li>
374
375      <li>
376        <p>The directives that accept filenames as arguments must use 
377        NetWare filenames instead of Unix names. However, because Apache 
378        uses Unix-style names internally, forward slashes must be used 
379        rather than backslashes. It is recommended that all rooted file paths 
380        begin with a volume name. If omitted, Apache will assume the 
381        <code>SYS:</code> volume which may not be correct.</p>
382      </li>
383
384      <li>
385        <p>Apache for NetWare has the ability to load modules at
386        runtime, without recompiling the server. If Apache is
387        compiled normally, it will install a number of optional
388        modules in the <code>\Apache2\modules</code> directory.
389        To activate these, or other modules, the <code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code> directive
390        must be used. For example, to active the status module, use
391        the following:</p>
392
393        <div class="example"><p><code>
394          LoadModule status_module modules/status.nlm
395        </code></p></div>
396
397        <p>Information on <a href="/mod/mod_so.html#creating">creating loadable
398        modules</a> is also available.</p>
399      </li>
400    </ul>
401
402    <h3><a name="use-add" id="use-add">Additional NetWare specific directives:</a></h3>
403
404      
405
406      <ul>
407        <li><code class="directive"><a href="/mod/core.html#cgimapextension">CGIMapExtension</a></code> -
408        This directive maps a CGI file extension to a script interpreter.</li>
409      </ul>
410      <ul>
411        <li><code class="directive"><a href="/mod/mod_nw_ssl.html#securelisten">SecureListen</a></code> -
412        Enables SSL encryption for a specified port.</li>
413      </ul>
414      <ul>
415        <li><code class="directive"><a href="/mod/mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></code> -
416        Adds trusted certificates that are used to create secure connections to proxied servers.</li>
417      </ul>
418      <ul>
419        <li><code class="directive"><a href="/mod/mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></code> -
420        Allow a connection created on the specified address/port to be upgraded to an SSL connection.</li>
421      </ul>
422
423    
424
425  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
426<div class="section">
427<h2><a name="comp" id="comp">Compiling Apache for NetWare</a></h2>
428
429    
430
431    <p>Compiling Apache requires MetroWerks CodeWarrior 6.x or higher. Once 
432    Apache has been built, it can be installed to the root of any NetWare 
433    volume. The default is the <code>sys:/Apache2</code> directory.</p>
434
435    <p>Before running the server you must fill out the <code>conf</code>
436    directory. Copy the file <code>HTTPD-STD.CONF</code> from the distribution
437    <code>conf</code> directory and rename it to <code>HTTPD.CONF</code>.
438    Edit the <code>HTTPD.CONF</code> file searching for all <code>@@Value@@</code>
439    markers and replacing them with the appropriate setting. Copy over
440    the <code>conf/magic</code> and <code>conf/mime.types</code> files as well.
441    Alternatively, a complete distribution can be built by including the keyword
442    <code>install</code> when invoking the makefiles.</p>
443
444    <h3><a name="comp-req" id="comp-req">Requirements:</a></h3>
445
446      
447
448      <p>The following development tools are required to build
449      Apache 2.0 for NetWare:</p>
450
451      <ul>
452        <li>Metrowerks CodeWarrior 6.0 or higher with the
453        <a href="http://developer.novell.com/ndk/cwpdk.htm">NetWare PDK 3.0</a>
454        or higher.</li>
455
456        <li><a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
457        for C (LibC)</a></li>
458
459        <li><a href="http://developer.novell.com/ndk/cldap.htm">LDAP Libraries
460        for C</a></li>
461
462        <li><a href="http://www.gzip.org/zlib/">ZLIB Compression Library source code</a></li>
463
464        <li>AWK utility (awk, gawk or similar). AWK can be downloaded from
465        <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.
466        The utility must be found in your windows path and must be named <code>awk.exe</code>.</li>
467
468        <li>To build using the makefiles, you will need GNU make version 3.78.1 (GMake) available at
469        <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.</li>
470      </ul>
471
472    
473
474    <h3><a name="comp-make" id="comp-make">Building Apache using the NetWare makefiles:</a></h3>
475
476      
477
478      <ul>
479        <li>Set the environment variable <code>NOVELLLIBC</code> to the
480        location of the NetWare Libraries for C SDK, for example:
481        <div class="example"><p><code>Set NOVELLLIBC=c:\novell\ndk\libc</code></p></div>
482        </li>
483
484        <li>Set the environment variable <code>METROWERKS</code> to the
485        location where you installed the Metrowerks CodeWarrior compiler,
486        for example:
487        <div class="example"><p><code>Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior</code></p></div>
488        If you installed to the default location <code>C:\Program
489        Files\Metrowerks\CodeWarrior</code>, you don't need to set this.</li>
490
491        <li>Set the environment variable <code>LDAPSDK</code> to the
492        location where you installed the LDAP Libraries for C, for example:
493        <div class="example"><p><code>Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc</code></p></div>
494        </li>
495
496        <li>Set the environment variable <code>ZLIBSDK</code> to the
497        location where you installed the source code for the ZLib Library,
498        for example:
499        <div class="example"><p><code>Set ZLIBSDK=D:\NOVELL\zlib</code></p></div>
500        </li>
501        
502        <li>Set the environment variable <code>AP_WORK</code> to the full path of
503        the <code>httpd</code> source code directory.
504        <div class="example"><p><code>Set AP_WORK=D:\httpd-2.0.x</code></p></div>
505        </li>
506
507        <li>Set the environment variable <code>APR_WORK</code> to the full path of
508        the <code>apr</code> source code directory. Typically <code>\httpd\srclib\apr</code>
509        but the APR project can be outside of the httpd directory structure.
510        <div class="example"><p><code>Set APR_WORK=D:\apr-1.x.x</code></p></div>
511        </li>
512
513        <li>Set the environment variable <code>APU_WORK</code> to the full path of
514        the <code>apr-util</code> source code directory. Typically <code>\httpd\srclib\apr-util</code>
515        but the APR-UTIL project can be outside of the httpd directory structure.
516        <div class="example"><p><code>Set APU_WORK=D:\apr-util-1.x.x</code></p></div>
517        </li>
518
519        <li>Make sure that the path to the AWK utility and the GNU make utility
520        (<code>gmake.exe</code>) have been included in the system's
521        <code>PATH</code> environment variable.</li>
522
523        <li>Download the source code and unzip to an appropriate directory on
524        your workstation.</li>
525
526        <li>Change directory to <code>\httpd-2.0</code> and build the prebuild utilities
527        by running "<code>gmake -f nwgnumakefile prebuild</code>". This target will create
528        the directory <code>\httpd-2.0\nwprebuild</code> and copy each of the utilities 
529        to this location that are necessary to complete the following build steps.
530        </li>
531
532        <li>Copy the files <code>\httpd-2.0\nwprebuild\GENCHARS.nlm</code> and 
533        <code>\httpd-2.0\nwprebuild\DFTABLES.nlm</code> to the <code>SYS:</code> volume of a
534        NetWare server and run them using the following commands:
535          <div class="example"><p><code>
536            SYS:\genchars &gt; sys:\test_char.h<br />
537            SYS:\dftables sys:\chartables.c<br />
538          </code></p></div>
539        </li>
540
541        <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
542        to the directory <code>\httpd-2.0\os\netware</code> on the build machine.</li>
543
544        <li>Change directory to <code>\httpd-2.0</code> and build Apache by running
545        "<code>gmake -f nwgnumakefile</code>". You can create a distribution directory by
546        adding an install parameter to the command, for example:
547        <div class="example"><p><code>gmake -f nwgnumakefile install</code></p></div>
548        </li>
549      </ul>
550
551    
552
553    <h3><a name="comp-add" id="comp-add">Additional make options</a></h3>
554
555      
556
557      <ul>
558        <li><code>gmake -f nwgnumakefile</code><p>Builds release versions of all of the
559        binaries and copies them to a <code>\release</code> destination directory.</p></li>
560
561        <li><code>gmake -f nwgnumakefile DEBUG=1</code><p>Builds debug versions of all of the
562        binaries and copies them to a <code>\debug</code> destination directory.</p></li>
563
564        <li><code>gmake -f nwgnumakefile install</code><p>Creates a complete Apache
565        distribution with binaries, docs and additional support files in a
566        <code>\dist\Apache2</code> directory.</p></li>
567
568        <li><code>gmake -f nwgnumakefile prebuild</code><p>Builds all of the prebuild utilities
569        and copies them to the <code>\nwprebuild</code> directory.</p></li>
570
571        <li><code>gmake -f nwgnumakefile installdev</code><p>Same as install but also creates a
572        <code>\lib</code> and <code>\include</code> directory in the destination directory
573        and copies headers and import files.</p></li>
574
575        <li><code>gmake -f nwgnumakefile clean</code><p>Cleans all object files and binaries
576        from the <code>\release.o</code> or <code>\debug.o</code> build areas depending on whether
577        <code>DEBUG</code> has been defined.</p></li>
578
579        <li><code>gmake -f nwgnumakefile clobber_all</code><p>Same as clean and also deletes
580        the distribution directory if it exists.</p></li>
581      </ul>
582
583    
584
585    <h3><a name="comp-add-env" id="comp-add-env">Additional environment variable options</a></h3>
586
587      
588
589      <ul>
590        <li>To build all of the experimental modules, set the environment 
591        variable <code>EXPERIMENTAL</code>:
592        <div class="example"><p><code>Set EXPERIMENTAL=1</code></p></div>
593        </li>
594
595        <li>To build Apache using standard BSD style sockets rather than
596        Winsock, set the environment variable <code>USE_STDSOCKETS</code>:
597        <div class="example"><p><code>Set USE_STDSOCKETS=1</code></p></div>
598        </li>
599
600      </ul>
601
602    
603
604    <h3><a name="comp-mod_ssl" id="comp-mod_ssl">Building mod_ssl for the NetWare platform</a></h3>
605
606      
607
608      <p>By default Apache for NetWare uses the built-in module 
609      <code class="module"><a href="/mod/mod_nw_ssl.html">mod_nw_ssl</a></code> to provide SSL services.  This module
610      simply enables the native SSL services implemented in NetWare OS
611      to handle all encryption for a given port.  Alternatively, mod_ssl
612      can also be used in the same manner as on other platforms.</p>
613
614      <p>Before mod_ssl can be built for the NetWare platform, the OpenSSL
615      libraries must be provided.  This can be done through the following 
616      steps:</p>
617
618      <ul>
619          <li>Download the recent OpenSSL 0.9.8 release source code from the
620          <a href="http://www.openssl.org/source/">OpenSSL Source</a>
621          page (older 0.9.7 versions need to be patched and are therefore not
622          recommended).</li>
623
624          <li>Edit the file <code>NetWare/set_env.bat</code> and modify any 
625          tools and utilities paths so that they correspond to your build 
626          environment.</li>
627
628          <li>From the root of the OpenSSL source directory, run the following
629          scripts:
630          <div class="example"><p><code>
631              Netware\set_env netware-libc<br />
632              Netware\build netware-libc
633          </code></p></div>
634          For performance reasons you should enable to build with ASM code.
635          Download NASM from the <a href="http://nasm.sourceforge.net/">SF site</a>.
636          Then configure OpenSSL to use ASM code: 
637          <div class="example"><p><code>
638              Netware\build netware-libc nw-nasm enable-mdc2 enable-md5
639          </code></p></div>
640          Warning: dont use the CodeWarrior Assembler - it produces broken code!
641          </li>
642
643          <li>Before building Apache, set the environment variable
644          <code>OSSLSDK</code> to the full path to the root of the openssl
645          source code directory, and set WITH_MOD_SSL to 1.
646          <div class="example"><p><code>
647              Set OSSLSDK=d:\openssl-0.9.8x<br />
648              Set WITH_MOD_SSL=1
649          </code></p></div></li>
650
651      </ul>
652
653    
654
655  </div></div>
656<div class="bottomlang">
657<p><span>Available Languages: </span><a href="/en/platform/netware.html" title="English">&nbsp;en&nbsp;</a> |
658<a href="/ko/platform/netware.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
659</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
660<script type="text/javascript"><!--//--><![CDATA[//><!--
661var comments_shortname = 'httpd';
662var comments_identifier = 'http://httpd.apache.org/docs/2.2/platform/netware.html';
663(function(w, d) {
664    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
665        d.write('<div id="comments_thread"><\/div>');
666        var s = d.createElement('script');
667        s.type = 'text/javascript';
668        s.async = true;
669        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
670        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
671    }
672    else { 
673        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
674    }
675})(window, document);
676//--><!]]></script></div><div id="footer">
677<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
678<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
679if (typeof(prettyPrint) !== 'undefined') {
680    prettyPrint();
681}
682//--><!]]></script>
683</body></html>