IIS上配置CGI

本文的内容是:在Windows7中的IIS6.1中配置CGI功能。


我先讲步骤,步骤全用图来说明,以方便技术还是不熟练的朋友,以下是在Windows7系统来完成的。


目录:

一、安装IIS步骤:

0X001:安装IIS及相关组件

0X002:配置IIS的CGI功能

0X003:第一次失败访问CGI程序

0X004:更改Windows用户权限

0X005:第二次失败访问CGI程序

0X006:解除IIS的CGI功能限制

0X007:成功访问

二、常见错误(我会随着我遇到的一一发上来,我在一时间遇不上那么多问题)

0X011:HTTP错误403.14 - Forbidden


一、安装IIS步骤:

0X001:安装IIS及相关组件

按Windows键+R,或在“开始”菜单中选择“运行”,在弹出的“运行”对话框中输入appwiz.cpl”,然后会打开控制面板的“卸载或更改程序”。

在此窗口中选择“打开或关闭Windows功能”,打开“Windows功能窗口”。

开机第一次进去可能会在下面这个界面等很久。所以,此时如果你觉得你等得太久了,你可以先单击“取消按钮,再重新打开这个窗口。


选中IIS的全部组件,如果不想的话,下面那个CGI一定要选中,然后单击“确定”按钮。


等待安装完成,在“开始”菜单中的“搜索框”输入“IIS”(小写也可以),然后在“程序”那一个组会有2个程序,我们选上面那个“Internet信息服务(IIS)管理器”,不是那后面有6.0那个。




0X002:配置IIS的CGI功能

我们打开“Internet信息服务(IIS)管理器”,我教室电脑最开始的界面是这样的。


IIS默认会有一个站,此时我们可以删除它,或者停用它,因为这个站点占用了80端口。

这个是方便后面新建的站点,使用默认80端口,这样就不需要在访问那个新建的站点时,再在URL后面再加上端口号。


或者停用


我们新建一个站点。

右击“网站”,在弹出的菜单选择“添加网站”。


网站名称可以自己取。

物理路径我放在桌面下的“CGI”文件夹下,你们也可以自己取。

因为IIS默认的那个站点我删除了,所以在这里我使用80端口,它不会提示端口已被占用。

如果选择“立即启动网站”,那么当你单击“确定”按钮后,你就不用再手动启动你所创建的网站了。

单击“确定”。



要启动网站的话,就右击你新建的网站,在这里我是“CGI_TEST”,然后选择“管理网站”下的“启动”。


单击你所建立的站点,然后右边会出现图中那个。

我们在“功能视图下”的“IIS”组下选择“模块”,双击。

(功能视图是什么?看图中的红色标记)


我们可以看到有一个“CgiModule”模块,这个就是我们等下要用的。


我们在“CGI_TEST主页”下的“IIS”组双击“处理程序映射”。


跳转到一个新界面。

单击右边的“添加模块映射...”。


打开“添加模块映射”对话框。

在“请求路径”中输入“*.cgi”,要看清,有一个"*"。

这里为什么是“*.cgi”,是因为我用的CGI程序扩展名是".cgi",当然也可以是其它扩展名,不过我这里这个配置只是争对“.cgi”的CGI程序。

“模块”这个框填“CgiModule”。

可执行文件”这个框不用填。

名称自己取。


其实只要在“模块”中输入“cgi”,它就会自己查找,再选择就好了。

如果自己打字,那么要刻大小写别错了。


上一步单击“确定”按钮后,会关闭那个对话框,然后在下面这个列表里面就会多出一项。


在这里我们不用干嘛。

到这里,IIS的环境就搭建好了。



0X003:第一次失败访问CGI程序

我先拷一个.cgi文件到我创建的网站的根目录。


然后我们去浏览器访问,URL为“http://localhost/forms.cgi”。

我们会发现失败了。

“由于权限不足而无法读取配置文件”。

这时我们就会想到应该是Windows系统下的目录权限问题,我们只要给网站根目录添加"Everyone"的访问权限就好了,我这是做实验,所以这里不一定要添加“IIS_IUSRS”账户。



0X004:更改Windows用户权限

右击网站根目录,选择“属性”。


进入“CGI属性”对话框,单击“高级”。


点击“更改权限”。


单击“添加”。


在“输入要选择的对你名称”下面的框中输入“everyone”,然后再单击“检查名称”检查一下,是否有这个账户。


如果有这个账户,那么在“输入要选择的对你名称”下面的框中会变成这样。

单击“确定”。


单击“确定”后,会弹出“CGI 的权限项目”对话框,这时我们只要选中“完全控制”项的“允许”那个复选框,然后下面的框就会自动选中。

我们再单击“确定”。


单击“确定”。


因为在上面的框中,我选中了“包括可以从该对象的父项继承的权限”复选框,所以会弹出下面这个框,我们单击“确定”。


单击“确定”。


我们会发现这里多了个“Everyone”用户,并且它的权限都有。

单击“确定”。




0X005:第二次失败访问CGI程序

我们再在浏览器里面输入“http://localhost/forms.cgi”,发现还是有错误。




0X006:解除IIS的CGI功能限制

我们再次进入IIS管理器,单击最上面那个选项,在“IIS”组中双击“ISAPI和CGI限制”。


单击“编辑功能设置”。


选中“允许未指定的CGI模块”。

单击“确定”。




0X007:成功访问

再次访问,我们就可以成功访问了。



二、常见错误(我会随着我遇到的一一发上来,我在一时间遇不上那么多问题):

0X001:HTTP错误403.14 - Forbidden

看图


它说,HTTP错误403.14 - Forbidden,下面有个原因“没有为请求的URL配置默认文档,并且没有在服务器上启用目录浏览”。

在这,我这个原因就是没有启用目录浏览,现在我们只要启用一下就好了。


目录浏览在你在网詀面板的主面板中,自己去找就好了。

版本:IIS 6.1




--------------------------------------------------------------------------------


总结一下:
当我学怎么样在IIS上开启CGI功能的时候,是在网上找,不过大多是含糊其辞。图也没有一张,初学者又不像你们一样,一看就懂。要么呢,给一大堆内容给我们,没一个空格,没一个回车,反正就是一坨,也不管我们愿不愿意看,反正就是来骗访问量的。然后在网上,这方面的资料又少,不好找,我也去找了IIS的帮助文档,也去MSDN中找了,要不就是英语被我忽略了,要不就是没有,不过我想应该会有,那就应该是我们不懂得,所以不能把那些知识联系起来。所以我也想记录一下这次的成功,分享给各网友。

CGI程序编写,参考http://blog.csdn.net/clhjswe/article/details/78281156,是我的另一篇博文。

个人博客:http://ljw.pe.hu