Apache是一个安全、稳定、可靠和自由的Web服务器。它几乎支持现在流行的所有操作系统。去年下半年开始推出Netware版,从1.3.12到现在的1.3.20版功能已基本完善。在NOVELL应用软件非常少的今天,我们当然不会放过任何一个好的自由软件。 它的下载网址是:http://httpd.apache.org/dist/httpd/binaries/Netware/,文件大小为:1兆多。
一、系统需求
要求Netware5.0以上版本,对Netware5.0要求安装SP5以上支持包,它可以从www.novell.com网站上下载,目前最新支持包为SP6a。
二、软件安装
1.将下载的文件apache_1.3.20_Netware.zip,解包到一指定卷中的根目录,如xzrhapp3卷。这样软件放在xzrhapp3卷下的apache目录中。
2.修改sys:\system\autoexec.ncf文件,使机器启动时自动启动Apache Web服务器。在文件尾加入下面两行:
SEARCH ADD xzrhapp3:\APACHE
Apache
3.修改Apache的配置文件xzrhapp3:\apache\conf\httpd.conf,主要修改如下:
(1)将所有的sys:/apache 替换成xzrhapp3:\apache 。
(2)如果你使用的不是80口,如修改Port 80 为 Port 81。这样在浏览器地址中必须输入:http://ip地址:81
(3)ServerName 123.45.67.89,将此处的IP地址换成你的Web服务器的IP地址,如188.113.0.88。
以上是为启动Apache Web服务器所做的基本配置。重新启动Netware服务器。在工作站使用浏览器,输入地址:http://188.113.0.88 若看到Apache文档,表示你成功了。
三、通过“~用户名”方式访问各用户的主目录
为了使用“~用户名”方式访问用户主页,修改httpd.conf文件中的下列内容:
1.UserDir /home/*/public_html,它指定用户主页必须放在用户主目录下的public_html目录中。你可以修改public_html,使网页放在用户主目录下的其他目录中。
例如:用户主目录直接建在卷的根目录下,则应修改为:UserDir /*/public_html 。
2.与UserDir /home/*/public_html相对应,修改 <Directory /home//public_html>。如:<Directory /*/public_html>。
3.修改好后,在服务器控制台上执行:unload apache 和load apache,重新启动apache服务。在工作站用浏览器,输入地址:http://188.113.0.88/~用户名,若看到内容,表示你已经成功。
四、在Netware上定义虚拟目录
若要指定虚拟目录,请参照下面的例子:
Alias /wuser1 xzrhapp3:/wuser
DefaultType application/octet-stream
<Directory xzrhapp3:/wuser>
Options FollowSymLinks Indexes All
AllowOverride ALL
DirectoryIndex index.html
Allow from all
</Directory>
该例子使得通过http://188.113.0.88/wuser1 ,即可访问wuser目录中的文件。
五、使用中发现的问题
1.当用户主目录与Apache不在同一卷中时,无法使用~方式访问用户主目录。
2.无法使用原有的cgi编程,如Perl、NSN、Netbasic。
3.无法使用NDS认证机制。
4.不支持novell ldap。
六、问题的解决
为解决这些问题,在NOVELL开发网站上有一个小程序modapach.zip。它的下载网址为:http://developer.novell.com/ndk/modapach.htm,当然你也可以到http://www.gknw.de/mirror/apache/ 去下载。在这里我对1、2两个问题的解决描述如下:
1.Apache对NDS 用户主目录支持
(1)首先在http://support.novell.com/servlet/tidfinder/2959673处下载WSOCK4B.EXE,并在Netware5控制台执行nwconfig进行安装。
(2)对modapach.zip文件解包,将mod_hdirs目录内的文件考到xzrhapp3:\apache\modules目录中。
(3)修改httpd.conf文件,加入下面两行:
LoadModule hdirs_module modules/modhdirs.nlm
LoadModule rdirs_module modules/modrdirs.nlm
为了不使用Apache MOD_USERDIR,在下面每行前加入 # 号:
# <IfModule mod_userdir.c>
# UserDir /*/public_html
# </IfModule>
为访问任何卷中的用户主目录,将<Directory /*/public_html> 改为<Directory *:/*/public_html>。
附带说一下,通过modrdirs.nlm可以实现对NDS目录树中远程服务器资源的访问。
2.在Netware 服务器上的Apache LCGI 网关
(1)为了在Apache上执行像PerlnsnNetbasic这样的cgi程序。首先必须在http://developer.novell.com/ndk 上下载Perl,nsn(Novell Script for Netware),Netbasic。并安装在你的Netware服务器上。Netware5.0内带旧版的Perl和Netbasic编程语言。
(2)对modapach.zip文件解包,将mod_lcgi目录内的文件拷到xzrhapp3:\apache\modules目录中。
(3)将mod_lcgi目录内的nslcgi.nlm文件拷到sys:\system目录中。请对原文件做好备份。要求nslcgi.nlm必须是2000年7月25日以后的文件。
(4)修改httpd.conf文件,加入一行:
LoadModule lcgi_module modules/mod_lcgi.nlm
(5)修改httpd.conf文件,加入下面的内容,实现对指定语言的支持
<IfModule mod_lcgi.c>
AddHandler lcgi-script nlm pl nsn bas
LCGIModuleMap sys:\nsn\lcgi\scrptpgs.nlm .asp .nsp /sp
LCGIModuleMap sys:\nsn\lcgi\cgi2ucs.nlm .bas /nsn
LCGIModuleMap sys:\Perl\lcgi\cgi2Perl.nlm .pl /Perl
AddEnvVar PERL_ROOT sys:\Novonyx\suitespot\docs\Perlroot
ScriptAlias /Perl sys:/Novonyx/suitespot/docs/Perlroot
ScriptAlias /nsn sys:/nsn/web
ScriptAlias /sp sys:/nsn/sample/Applications
</IfModule>
这样asp程序放在sys:/nsn/sample/Applications目录下,pl程序放在sys:/Novonyx/suitespot/docs/Perlroot目录下,bas程序放在sys:/nsn/web目录下。一切做好后,重新启动Netware服务器。这里是使用例子:
http://188.113.0.88/sp/xping.asp
http://188.113.0.88/nsn/xping.bas
http://188.113.0.88/Perl/hello.pl
七、在Netware5.0上Apache和Netscape Web服务器的性能比较

通过半年来的使用,感觉比Netscape Web要好用。同时对在内联网中开设个人及处室主页非常方便。它的不足是Netware5.0无法支持odbc,mysql数据库及不能使用PHP语言。这为Web的建设带来了诸多不便。总之这一软件的使用给Netware5.0带来了新的活力。