)</P><P> CGI(Common Ggateway Interface)通用网关接口技术,是当前Internet上广泛应用的网页开发技术,以前,它是加载动态数据的首选方法。许多经典的网络应用,如聊天室、讨论板、留言板等能够以此技术实现。 </P><P> 实际网络使用中,如果我们要访问的对象是CGI时,其过程就不同于访问HTML时的简单文件传输了,这时需要第三方的参与来实现客户端与服务器的信息交换,而这个第三方就是本文将重点讲到的CGI的解释器。当服务器收到客户端发来CGI访问请求时,经过访问权限审核后调用Perl来响应我们所提交的CGI访问请求,并在服务器上生成一个新的进程(执行一次程序)。经Perl运算后包含动态数据的网页将通过专用程序接口返回给服务器,再由服务器向该客户端输出标准的Web页,并结束这一进程,以上就是CGI浏览的一般过程。 </P><P> 从上述介绍可以看出CGI访问和HTML浏览的不同。许多网友由于没有相应的调试环境,为实现CGI的调试,一般都是先将CGI文件上传到特定的服务器,再进行连线调试,增加费用不说,还费时费力。 </P><P> 很多网站都在使用NT Server作为网络服务平台并使用IIS提供WWW服务。本文将详细讨论如何在本地NT Server中建立一个标准的CGI调试环境(此方法同样也适合于安装了Win 2000 Server的用户。至于Windows 98及NT WorkStation中PWS的配置也可参照本文进行)。 </P><P> 现在,主流的服务器软件主要有IIS和Apache,本文将主要介绍如何在IIS中进行配置(以IIS 4为例)。 </P><P> IIS的安装
IIS(Internet Information Server)作为NT Server组件之一,集成了NT很多特性,比如要对一些特殊的网页设置访问权限时,可直接在NT中用户登录访问权限表中选择允许访问的用户名即可,根本不需要在这类主页中添加什么Java或Javascript来实现这一个功能。在Windows 98及NT Workstaion上运行的PWS则是它的简易版本,所提供的功能主要面对个人及微型网络的,在站点功能及同时链接数等方面都做了相应的限制。相比较IIS 3而言,IIS 4有了一个质的飞跃。关于IIS4功能的详细介绍“中计报”曾刊登过相关稿件,有兴趣的朋友可以查阅,这里我就不再赘述了。如果你的系统中还是IIS 2或IIS 3的话,很对不起,你要先进行升级,具体操作如下: </P><P> 升级第一步:在你的系统中安装SP 4(Service Pack 4)及IE 4.01以上的版本(如已经安装则可免去此步骤,建议你安装SP 6和IE 5); </P><P> 升级第二步:以管理员账号登录域; </P><P> 升级第三步:安装OP 4(Option Pack 4)将IIS升级到IIS 4。 </P><P> 执行Setup.exe,选择Next,会弹出软件使用协议,当然选择Yes; </P><P> 之后,选择你所希望的安装方式,如果系统已经安装了IIS,在第二步中我们将看到Update和Update Plus!两个选项,建议选Update Plus!,在随后出现的选择界面中,选择Internet Information Server安装项,单击即可进入子安装项选择; </P><P> IIS 4版本除了增强了原有的WWW及FTP服务器功能之外还新添了SMTP——邮件发送服务、NNTP——新闻服务两个新成员,它们在网络上的重要性并不亚于WWW与FTP,并同样可结合NT的许多特性。其中的Document是一个较为重要的选项,其中子项的第一项ASP是指为IIS添加ASP处理技术,此项默认为选取(需要说明的是安装ASP项将要占据较多硬盘空间,如只处理CGI的话可以不安装它)。第三项的文档也很重要,它是IIS管理专用文档,通过它管理员可以在授权的远程机器上通过浏览器直接设置服务器上IIS 4中的参数如同在主机上用MMC设定一样(Win 2000 Server用户则可以通过Win 2000的客户联络软件联络主机的IP后以管理员登录,修改IIS)。 除了IIS,OP 4还提供了证书服务器、RAS增强服务及Index Server(索引服务器)、Transaction Server等新组件。在完成安装项及文件路径的设定之后按下Setup键开始系统的升级,安装成功后系统将重新引导一次完成整个安装过程。不过有一点要提醒相关用户:在IIS 4中已不再提供Gopher服务了,在安装时程序会给出警告,原先的已安装服务将被自动删除,如果你仍然需要使用这一服务可以试试在安装了IIS 4之后再重新安装IIS 2,但安装时只选择该项(否则就白忙活了)。 </P><P> Perl解释器的安装
由于许多CGI脚本都是用Perl(Practical Extraction And Report Language)语言来编写的。因此为了使调用CGI格式的动态网页能正确输出,就必须安装一个Perl解释器将CGI的访问请求输出成标准的Web页。由于Perl最早是基于UNIX,后来才移植到了PC操作系统上,所以它的源程序中有许多命令格式与UNIX的很相像。 </P><P> 针对眼下的主要网络系统:NT、UNIX、Linux,Perl都有相应的版本。本文所介绍的IIS中所需要解释器是WIN32S格式的ActivePerl,可以从Activestate网站中下载。
需要特别提醒的是,由于此文件采用了msi的安装格式,所以已经安装Office 2000或Windows 2000的用户可以直接安装,否则的话我们还需要再下载一个Windows增强插件Instmsi,该文件大约有1MB,分为NT系统用和98/95系统用。完成下载之后,执行instmsi进行系统设置即可。
完成上述工作之后,我们便可以正式开始安装ACTIVE_Perl了,首先,跳出欢迎界面,随后会出现用户许可协议,在安装选择方式中可以定义安装路径和要安装的内容(注:安装路径最好设定为c:\perl\),其他内容不必修改,按Next继续,这里主要是决定是否为IIS添加PL映射,建议采用默认值,完成以上几项的设定后就开始文件复制,最后整个安装过程结束。到现在为止,你的系统已经具备处理CGI/ASP/PL的能力了。 </P><P> CGI服务器端的设置
通过选单来启动IIS的管理器ISM,在管理界面中选取“Default Website”,用右键点击在弹出的选单中选择News→Virtual dir来创建一个虚拟目录;在随后的对话框中输入虚拟目录名,这里我们输入:bbs;随后系统会让你选择文件所在目录;在进行访问权限设定时将目录的权限设置为允许执行即可(注:在实际网络使用中要特别注意CGI的文件访问权限设定)。至此,虚拟目录的添加已经完成。 </P><P> 目录高级设定
用右键单击CGI目录选择属性(Properties),进入目录的属性编辑,在窗口中单击Config(定义)设定CGI应用程序的关联。其方法是在弹出的“Application Configuration”窗口中单击Add命令,并在出现对话框时分别输入:C:\Perl\bin\Perl.exe %s %s(注:是Perl执行文件的路径)、CGI(扩展符,系统会为你加上)、Put/Delete(动作),并且选取“检查文件是否存在”选项,最后OK确认。这样CGI文件关联就建立好了,到这里也基本完成了服务器端的CGI运行配置。关于CGI中其他的配置(如GD等)本文就不作介绍了,感兴趣的朋友可以访问有关网站。 </P><P> 运行 CGI
经过上述努力,IIS服务器终于可以处理CGI了,是不是很兴奋呢。现在我们通过一个CGI实例来检验一下我们的工作成果吧。 </P><P> 这里我们以http://www.yuzi.net网站所提供的一款论坛系统(bbs 2000共享版)作为本文的CGI范例(如果你手头没有CGI脚本也没关系,网上有很多免费CGI脚本可以下载,到各大搜索引擎去找找吧)。首先,将ZIP文件解包到预定目录(也就是虚拟目录中指定的文件目录)后,再根据说明书(readme.txt)修改好setup.CGI中的参数,就OK了。接下来启动浏览器,在地址栏中输入http://127.0.0.1/bbs/bbs.CGI(注:127.0.0.1为Windows系统中的本地回游地址并不是真正的IP)按下回车后,如果能看到BBS的内容就表明你的设置成功。如果有问题的话,请检查服务器和脚本中的相关配置:如出现报头错误可以试试浏览器的刷新功能。现在,我们再向BBS中发一条消息测试一下BBS的工作情况。按下发表钮后输入注册的用户名和口令,再输入内容“NT下的CGI环境调试成功”,点击发送后就会看到成功发送的内容了,感觉是不是很Cool! </P><P> PHP的安装
现在很多网站(包括一些个人网站)都开始在网页中加入了PHP语言(最新的为PHP4),在一些著名的商业网站更是能经常看到它的身影。所以在本文最后,我再简单为大家介绍一下PHP在IIS上的配置。PHP是属于ISAPI类型的,所以它的调用方式不同于CGI。首先,你还是要下载一个Win32php的插件包。完成文件下载之后将ZIP文件解压到相应的目录后再按如下的方法设置: </P><P> 选择WWW的属性后选取 ISAPI Filter标签;单击Add对话框窗口中输入后缀名(php)和PHP4isapi.dll所在目录即可。重新进入ISAPI Filter时如看到Filter Name处已显示PHP则表明设置成功。事件进程(注意区别PHP及PHP3)以及其他的配置可以参照CGI方法。
