在Netware5.0上安装Apache web服务器

Apache是一个安全、稳定、可靠和自由的Web服务器。它几乎支持现在流行的所有操作系统。去年下半年开始推出Netware版,从1.3.12到现在的1.3.20版功能已基本完善。在NOVELL应用软件非常少的今天,我们当然不会放过任何一个好的自由软件。 它的下载网址是:http://httpd.apache.org/dist/httpd/binaries/Netware/,文件大小为:1兆多。
  #1 一、系统需求
   要求Netware5.0以上版本,对Netware5.0要求安装SP5以上支持包,它可以从www.novell.com网站上下载,目前最新支持包为SP6a。
  #1 二、软件安装
   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文档,表示你成功了。
  #1 三、通过“~用户名”方式访问各用户的主目录
   为了使用“~用户名”方式访问用户主页,修改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/~用户名,若看到内容,表示你已经成功。
  #1 四、在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 五、使用中发现的问题
   1.当用户主目录与Apache不在同一卷中时,无法使用~方式访问用户主目录。
   2.无法使用原有的cgi编程,如Perl、NSN、Netbasic。
   3.无法使用NDS认证机制。
   4.不支持novell ldap。
  #1 六、问题的解决
   为解决这些问题,在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上执行像Perl,nsn,Netbasic这样的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
  #1 七、在Netware5.0上Apache和Netscape Web服务器的性能比较(图1)

图1
图1

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