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