当前位置:Linux教程 - Linux - Run CGI in MS-Windows with OMNI HTTPD

Run CGI in MS-Windows with OMNI HTTPD

关于CGI的确切定义或者学术上的解释,我不想班门弄斧。不过稍微有点网龄的人, 应该知道“留言板、BBS论坛、聊天室”等Web上随处可见的小程序,这些小程序就是一些简单的应用于Homepage的CGI脚本。
大部分在网上安家落户的朋友一般都没有CGI的使用权限,因而免费CGI服务成为英特网上的一个大热点,比如免费“留言板、计数器”等。而少部分用户则比较幸运,他们的免费主页提供商同时提供CGI的使用权限,比如“太阳城”。然而不幸的是,这些用户中并不是所有人都知道如何编写、修改CGI脚本,甚至不知道如何调试自己所拥有的CGI脚本,而且象UNIX、Windows NT等操作系统也不是每个人都可以很容易掌握的。这个时候,我们似乎非常需要一个可以在最熟悉的操作系统Windows95下运行并且利用它可以非常完美的调试CGI脚本的工具,值得欣慰的是,我终于找到了一个可以免费下载、免费使用的非常棒的CGI调试工具。
“OmniHttpd professional idle”就可以完全实现在Windows95下调试CGI脚本。这个工具非常小,仅有1M多点,但是它的功能却非常强大,大到在你自己的PC里就可以体会到做系统管理员的感觉。你的“瘟95”有了它的支持,立刻就会精神倍增,你不但可以设定多个WWW目录,而且可以为每个WWW目录分配不同的IP地址。与此同时,你也拥有了梦寐以求的“cgi-bin”目录,在这里几乎可以进行所有CGI脚本的调试,当然也包括SSI。心动不如行动,赶快到
http://www.omnicron.ab.ca/httpd/
下载最新版本吧。
下载之后的程序是一个自解压包,安装非常方便,典型的Windows95风格。全部过程只需要点击下一步即可完成,而且在安装过程中无须回答任何问题以及做任何配置,只要别忘记安装在哪里就可以了。(^_^)
安装完毕,不用重新启动机器,你就会在Windows95的托盘里发现一个兰色的小圆球,表明虚拟服务器已经启动。如果在这个时候,你不做任何配置,直接打开浏览器,在地址栏输入“localhost”或者“127.0.0.1”,那么首先看到的将是Omni的欢迎画面----“祝贺你!你已经成功安装OmniHTTPd”。在欢迎画面的下半部有四个明显的链接,后两个链接只有在网上才能使用,所以无须管它。第一个链接是与该软件捆绑在一起的离线使用说明,全英文的,有兴趣不妨仔细看看,如果觉得英文对你来说太过无聊,那么请您继续浏览下文,会省去您很多查字典的时间。(^_^) 第二个链接是一些典型CGI的测试,赶快“CLICK”,哈哈!是不是看见你的计数器了?还有CGI环境变量?恭喜,到此为止,你的WEB服务器已经有了基本雏形。这里值得一提的是关于Perl CGI的测试部分:如果你还没有安装Perl for WIN32的话,该部分将得不到正确结果(Perl for WIN32的安装在许多书籍中都有介绍,在此不做赘述);如果你已经安装了Perl for WIN32,但不是安装在c:碟,也将得不到正确结果,因为OmniHTTPd的默认Perl解释器路径为“c:perlinperl.exe”。
既然已经成功安装了这个出色的工具,当然希望它能够做有自己特色的事。接下来,笔者将详细介绍该软件的各种配置。别担心,很简单,当看完本文,您就已经基本掌握了它的使用。
用鼠标右键单击托盘里的小兰球,会弹出一个菜单,共有四项:

Pause server
暂停WEB服务器功能,但并不退出程序;

Flush server
刷新服务器;

Shutdown server
关闭WEB服务器并退出程序;

Properties
属性配置,所有的服务器配置都在此项进行。

好了,现在让我们进行最主要的工作—属性配置。选择第四项Properties,会弹出一个对话框(如图一)。其中, 按钮Add:添加新的虚拟主机。点击这个按钮,在弹出的对话框中输入一个名字,确定后,在左边的列表框中 会增加一个WEB主机。
按钮Edit:配置属性。选择左边列表框中不同的服务器,再点击此按钮,可以为每个服务器分配不同的IP地址、 WWW目录等。具体细节配置,将在下面介绍。
按钮Delete:删除选中的主机。
按钮Web Serverd Global Setting:服务器总体配置部分。点击这个按钮,将弹出一个窗口(如图二)。在这个窗口中,仅有两项需要配置,其余取默认值即可:
1.External标签(如图三):如果你打算使用Perl CGI,而且已经安装了Perl for WIN32,在这里就必须配置使用Perl脚本时的扩展名和Perl解释器的绝对路径。在“Virtual”栏内输入“.pl”,在“Actual”栏内输入Perl解释器的绝对路径,例如“c:perlinperl.exe”。
2.Advanced标签(如图四):在此栏中,有五个复选框。分别表示“允许处理SSI脚本、禁止不安全的SSI、允许使用外部CGI脚本(如Perl)、CGI调试模式、发送WINCGI密码”,笔者习惯除第二项以外,其余全部选中。
按钮Default Virtual Setting:默认设定。点击这个按钮弹出的窗口与点击“Edit”按钮弹出的窗口相同,不同之处在于,对“默认设定”的编辑只影响到系统默认主机名下的属性,比如图一中左边列表框中的第一个主机
“Default”;而“Edit”按钮则可以编辑列表框中任意一个主机的属性。
下面将详细讲述最关键的部分,点击“Edit”按钮或者“Default Virtual Setting”按钮后,将弹出选中主机的属性配置窗口(如图五)。在这个窗口中有十个标签,由于有些标签的内容与本文讨论CGI的调试没有很大关系,所以只做简单介绍。它们的具体含义如下:
(1)Server。(图五)
Server IP:顾名思义,是该WEB服务器的IP地址,默认一般为127.0.0.1,如果添加了其它主机,简单的方法是依次类推,例如:127.0.0.2,127.0.0.3..............;
Server name:服务器名称,笔者感觉很少用服务器名称,一般使用IP地址比较准确;
Server root:WWW绝对路径,即WEB首页的存放地点,当在浏览器中键入“localhost”或者“127.0.0.1”时,会首先到此目录内寻找首页;
Default Index:首页的缺省文件名,随自己安排啦;
Admin E-mail:系统管理员的E-mail地址,由于“瘟”95没有MAIL服务器,故此项只是花边而已;
最下面的复选框和输入栏是储存出错信息的临时文件,喜欢用与否全看个人爱好。
(2)Security。(图六)
这里可以选择安全等级。第一项设定为只读;第二项设定需要用户名和密码来执行一些特殊权限;第三项设定每个用户只能使用自己的目录。其中第三项,如果需要在下面的“(6)(7)”两个标签中增加新的组、新的用户以及限制某些目录被访问时才选中。
(3)Alias。(图七)
该标签的功能类似于Unix下NCSA服务器中虚拟目录命令“Alias”。例如,当你在主页中调用“c:gifa.gif”时,可能要使用“http://www.server.com/gif/a.gif”这段代码,而配置虚拟目录之后,在HTML代码中可以直接使用“/gif/a.gif”完全代替之。
(4)Standard CGI。(图八)
标准CGI设定。这个标签的设定决定了你的“cgi-bin”目录的所在处,与“Alias”标签类似,也是虚拟目录,用“/cgi-bin”代替CGI脚本存放的绝对路径。
(5)Users and Groups。
当在“Security”标签中选中第三项时,此标签设定才有效,即可以增加新的组,在组中添加用户。
(6)Access Control list。
当在“Security”标签中选中第三项,而且“Users and Groups”标签中有组,组中有用户时,可以针对某个组或者某个用户设定专门的使用目录,以保障服务器的安全。
(7)Redirection。
重新导向页面的设定。类似于“Alias”标签,不过用处不大。
(8)Windows CGI。
类似于“Standard CGI”标签的设定,主要是针对VB SCRIPTS等Windows格式的CGI脚本。
(9)ISAPI Extension。
ISAPI扩展。
(10)Indexing。
如果浏览某页时,该页不存在,服务器将指向的页面。
了解以上内容后,就可以完全驾御自己的“Windows95”WEB服务器,并调试几乎所有的CGI脚本。相信您一上手就会喜欢上这个小巧伶俐的工具。