将 Apache 与 Novell NetWare 一起使用

本文档说明了如何在 Novell NetWare 6.0 及更高版本下安装,配置和运行 Apache 2.0. 如果您发现任何错误,或希望以其他方式做出贡献,请使用我们的错误报告页面。

提供错误报告页面和 dev-httpd 邮件列表,以回答有关配置或运行 Apache 的问题。在提交错误报告或请求之前,请先查阅本文档,经常问的问题页以及其他相关文档主题。如果您仍然有疑问或问题,请将其发布到novell.devsup.webserver新闻组,在那里许多 Apache 用户非常愿意回答有关在 NetWare 上使用 Apache 的新问题和晦涩难懂的问题。

本文档的大部分内容假设您是从二进制发行版中安装 Apache 的。如果要自己编译 Apache(可能是为了帮助开发或跟踪错误),请参阅下面的为 NetWare 编译 Apache部分。

Requirements

Apache 2.0 设计为在 NetWare 6.0 Service Pack 3 及更高版本上运行。如果运行的 Service Pack 低于 SP3,则必须安装最新的用于 C 的 NetWare 库(LibC)

NetWare Service Pack here可用。

只要安装了最新的 Service Pack 或最新版本的用于 C 的 NetWare 库(LibC),NetWare 的 Apache 2.0 也可以在 NetWare 5.1 环境中运行。 警告: 在此环境中,尚未针对 Apache 2.0 for NetWare 进行测试。

为 NetWare 下载 Apache

可以在 Apache Web 服务器上的http://www.apache.org/上找到有关 Apache 最新版本的信息。这将列出当前版本,任何最近的 alpha 或 beta 测试版本,以及镜像 Web 和匿名 ftp 站点的详细信息。可以从here下载适用于 NetWare 的 Apache 2.0 最新版本的二进制版本。

为 NetWare 安装 Apache

当前没有用于 NetWare 的 Apache 安装程序。如果要从源代码构建 NetWare 的 Apache 2.0,则需要将文件手动复制到服务器上。

请按照以下步骤从二进制下载文件中在 NetWare 上安装 Apache(假设您将安装到sys:/apache2):

SEARCH ADD SYS:\APACHE2

请按照以下步骤从您自己的构建源在 NetWare 上手动安装 Apache(假设您将安装到sys:/apache2):

SEARCH ADD SYS:\APACHE2

除了默认的SYS卷之外,还可以将 Apache 安装到其他卷上。

在构建过程中,将关键字“ install”添加到 makefile 命令行中将自动在子目录DIST下产生一个完整的分发包。通过简单地将 makfiles 生成的发行版复制到 NetWare 卷的根目录来安装 Apache(请参阅下面的为 NetWare 编译 Apache)。

为 NetWare 运行 Apache

要启动 Apache,只需在控制台上键入apache。这将在 os 地址空间中加载 apache。如果您希望在受保护的地址空间中加载 Apache,则可以使用 load 语句指定地址空间,如下所示:

load address space = apache2 apache2

这会将 Apache 加载到名为 apache2 的地址空间中。通过将每个实例加载到其自己的受保护地址空间中,可以在 NetWare 上同时运行多个 Apache 实例。

启动 Apache 之后,它将监听端口 80(除非您在配置文件中更改了Listen指令)。要连接到服务器并访问默认页面,请启动浏览器并 Importing 服务器的名称或地址。这应该以欢迎页面和指向 Apache 手册的链接作为响应。如果没有任何反应或出现错误,请查看logs目录中的error_log文件。

基本安装成功后,应通过编辑conf目录中的文件来正确配置它。

要卸载在 OS 地址空间中运行的 Apache,只需在控制台上键入以下命令:

unload apache2

or

apache2 shutdown

如果 apache 在受保护的地址空间中运行,请在 unload 语句中指定地址空间:

unload address space = apache2 apache2

使用 Apache 时,重要的是要知道它将如何找到配置文件。您可以通过两种方式在命令行上指定配置文件:

apache2 -f "vol:/my server/conf/my.conf"

apache -f test/test.conf

在这种情况下,应在配置文件中设置正确的ServerRoot

如果未使用-f指定配置文件名,则 Apache 将使用编译到服务器中的文件名,通常为conf/httpd.conf。使用-V开关调用 Apache 将显示标记为SERVER_CONFIG_FILE的该值。然后,Apache 将按以下 Sequences 尝试以下操作来确定其ServerRoot

编译到服务器中的服务器根目录通常为sys:/apache2。使用-V开关调用 apache 将显示标记为HTTPD_ROOT的该值。

适用于 NetWare 的 Apache 2.0 包含一组命令行指令,可用于修改或显示有关 Web 服务器正在运行的实例的信息。这些指令仅在 Apache 运行时可用。这些指令中的每一个都必须以关键字APACHE2开头。

默认情况下,这些指令是针对在 OS 地址空间中运行的 Apache 实例发出的。要针对在受保护的地址空间中运行的特定实例发出指令,请包括-p 参数以及地址空间的名称。有关更多信息,请在命令行上键入“ apache2 Help”。

为 NetWare 配置 Apache

通过读取通常存储在conf目录中的配置文件来配置 Apache。这些与用于配置 Unix 版本的文件相同,但是在 NetWare 上有一些针对 Apache 的不同指令。有关所有可用指令,请参见Apache 模块文档

Apache for NetWare 的主要区别是:

因此,“流程”-Management 指令不同:

MaxConnectionsPerChild-与 Unix 指令类似,它控制工作线程在退出之前将服务的连接数量。推荐的默认值MaxConnectionsPerChild 0使线程无限期地 continue 服务请求。除非有特殊原因,否则建议在 NetWare 上始终将此指令设置为0

StartThreads-该指令告诉服务器最初应启动多少个线程。推荐的默认值为StartThreads 50

MinSpareThreads-该指令指示服务器在空闲线程数降至该值以下时产生其他工作线程。推荐的默认值为MinSpareThreads 10

MaxSpareThreads-如果空闲线程数超过此值,此指令将指示服务器开始终止工作线程。推荐的默认值为MaxSpareThreads 100

MaxThreads-该指令将工作线程的总数限制为最大值。推荐的默认值为ThreadsPerChild 250

ThreadStackSize-此伪指令告诉服务器要用于单个工作线程的堆栈大小。推荐的默认值为ThreadStackSize 65536

LoadModule status_module modules/status.nlm

也提供有关创建可加载模块的信息。

其他特定于 NetWare 的指令:

为 NetWare 编译 Apache

编译 Apache 需要 MetroWerks CodeWarrior 6.x 或更高版本。构建 Apache 之后,就可以将其安装到任何 NetWare 卷的根目录中。默认值为sys:/Apache2目录。

在运行服务器之前,您必须填写conf目录。从分发conf目录复制文件HTTPD-STD.CONF并将其重命名为HTTPD.CONF。编辑HTTPD.CONF文件,搜索所有@@Value@@标记并将其替换为适当的设置。还要复制conf/magicconf/mime.types文件。另外,调用 makefile 时,可以通过包含关键字install来构建完整的发行版。

Requirements:

要为 NetWare 构建 Apache 2.0,需要以下开发工具:

使用 NetWare 生成文件构建 Apache:

Set NOVELLLIBC=c:\novell\ndk\libc

Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior

如果您安装到默认位置C:\Program Files\Metrowerks\CodeWarrior,则无需进行设置。

Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc

Set ZLIBSDK=D:\NOVELL\zlib

Set PCRESDK=D:\NOVELL\pcre

Set AP_WORK=D:\httpd-2.0.x

Set APR_WORK=D:\apr-1.x.x

Set APU_WORK=D:\apr-util-1.x.x

SYS:\genchars > sys:\test_char.h SYS:\dftables sys:\chartables.c

gmake -f nwgnumakefile install

其他制作选项

构建所有二进制文件的发行版本,并将它们复制到\release目标目录。

构建所有二进制文件的调试版本,并将它们复制到\debug目标目录。

使用\dist\Apache2目录中的二进制文件,文档和其他支持文件创建完整的 Apache 发行版。

生成所有预构建 Util,并将它们复制到\nwprebuild目录。

与 install 相同,但还会在目标目录中创建\lib\include目录,并复制 Headers 和导入文件。

根据是否已定义DEBUG清除\release.o\debug.o构建区域中的所有目标文件和二进制文件。

与 clean 相同,如果存在分发目录,则将其删除。

其他环境变量选项

Set EXPERIMENTAL=1

Set USE_STDSOCKETS=1

为 NetWare 平台构建 mod_ssl

默认情况下,Apache for NetWare 使用内置模块mod_nw_ssl提供 SSL 服务。此模块仅使 NetWare OS 中实现的本机 SSL 服务能够处理给定端口的所有加密。或者,也可以以与其他平台相同的方式使用 mod_ssl。

在可以为 NetWare 平台构建 mod_ssl 之前,必须提供 OpenSSL 库。这可以通过以下步骤完成:

Netware\set_env netware-libc Netware\build netware-libc

出于性能原因,您应该启用使用 ASM 代码进行构建。从SF site下载 NASM。然后配置 OpenSSL 以使用 ASM 代码:

Netware\build netware-libc nw-nasm enable-mdc2 enable-md5

警告:请勿使用 CodeWarrior 汇编程序-它会产生损坏的代码!

Set OSSLSDK=d:\openssl-0.9.8x Set WITH_MOD_SSL=1

首页