Perl开发环境在WINNT下安装和配置
Sep 8,2003 Farhill of CyberHome

Perl是一种深受世界各地开发者喜爱的实用摘要和报表语言,虽然它是在Unix上诞生和发展起来的,但在Windows编程领域也已经占有一席之地。

一、概述

在ActiveState等公司的领导之下,从1995年中期开始Perl开始了稳定地发展,不仅增加了标准的Perl功能,而且增加了许多面向Windows的功能,比如OLE和COM集成等。

事实上,到目前为止所有Perl程序员都已经能够确信,自己为UNIX服务器写的Perl应用移植到Windows服务器后同样能够流畅、稳定地运行,即使是fork实现这类长期以来最令人头疼的移植问题也已经得到解决。

而且我们有理由相信,Perl/Windows集成还将进一步发展。自Windows版Perl开发初期开始Microsoft已经成为它的主要资助者,这一事实足以证实Microsoft所承诺的对Perl的支持。按照最近Microsoft和ActiveState所签署的为期三年的投资协议,Perl无疑将成为未来Windows发展的一部分。

如果你正在寻找有关Windows版Perl的更多信息,你可以从网络上找到许多优秀的网站,其中包括:

ActiveState
  Perl.com
  Aldo Calpini&single;s Perl Lab
  Roth Consulting Perl Page
  Evangelo Prodromou&single;s Win32 Perl FAQ
  Robin&single;s Perl for Win32 Page

无论你是想在Windows操作系统上学习Perl语言的核心功能,还是想了解下面这类面向Windows的Perl集成工具,你都必须从同一个地方开始,这就是在Windows上安装Perl:

用Perl操作OLE(object linking and Embedding,对象链接和嵌入),
  通过Perl管理Windows注册表,
  用Perl编写COM对象(Component Object Model,组件对象模型),
  在Perl程序里和其他COM对象通信,
  利用Perl脚本实现IIS环境下的动态网页
  本文是一个如何在Windows上安装和配置Perl开发环境的指南。

不过在正式开始之前,我们必须先声明一点,这就是安装Perl并不是“点击一下就完成”这样的简单过程,相反,为Windows增加Perl支持是一个反复循环的过程。由于Perl语言本身有着难以置信的发展活力,不仅其核心语言处于变化过程中,新的发行版本定期地出现,而且有众多Perl开发者不断地通过CPAN之类的资源收集网站发布免费新工具,因此,“安装”还意味着定期地升级和密切地关注Perl的最新发展。

前面已经提到,Perl Windows版的核心组织是ActiveState,它的主页是http://www.activestate.com。

Perl Windows版可以从ActiveState网站下载,产品的名字是ActivePerl可以从http://www.activestate.com/ActivePerl/download.htm直接下载。如果你的网速较慢,你最好在书店里买一本Perl5.0以上的教材,里面的CD有安装文件,还有较为丰富的样例。

另外,正如下载页面所指出的,在Windows 95上安装这个软件包还需要DCOM支持,DCOM可以在Microsoft 网站找到。用HTTP或FTP下载都是一样的,无论用哪种方法都可以。

下载完成后,你会得到一个自己解压缩的执行文件,只需双击这个执行文件即可开始安装。

必须指出的是,如果系统中已经安装了Perl而且进行新的安装时某个进程正在使用它,新的安装过程可能不能正常进行,你将会看到一个警告信息窗口。

如果发生了这种情况,你应该立即结束安装过程,关闭所有可能使用Perl的服务/应用,然后再次安装。

如果你使用的是Windows NT,无法确定哪些服务正在使用Perl,可以打开“开始=》设置=》控制面板=》服务”,检查系统所显示的服务列表,找出那些可能正在使用Perl的服务。关闭这些服务,然后重新开始安装。

当然大多数用户不需担心这问题。实际上,很有可能当你双击自动解压缩执行文件后就会看到ActiveState的许可协议声明。

阅读并接受许可协议之后,你将看到“Installation Notes”窗口,这个窗口向用户提示ActivePerl所有可用的安装选项。说明文档包含多个标题,每个标题各有详细的解释。这些标题包括:

把Perl的bin目录加入搜索路径
  在Windows资源管理器中关联“.pl”扩展名和Perl.exe
  为Web服务器关联“.pl”和Perl.exe
  为IIS的ISAPI关联“.plx”和Perl
  

二、安装过程

在安装cgi脚本之前,请做好下述准备工作,否则脚本无法正常运行。

1、安装IIS ,即Internet信息服务组件

如果你是在 Win2000 sever 或 WINNT sever上安装CGI脚本,那么请跳过这一步,因为它们已经自带IIS。
如果是在Windows 2000 Professional,那么请从这一步开始,因为Windows 2000 Professional没有默认安装Internet 信息服务(即IIS),我们必须先安装好IIS。

另外请注意,如果系统是升级到 Windows 2000,那么只有在 Windows 的先前版本中安装了 PWS,IIS 5.0 才会默认安装。

如果你搞不清你的系统是否已带IIS,怎么区分它们呢?方法有二:

方法1)到“控制面板”=》“管理”=》寻找是否有“IIS 管理工具”。
  方法2) 到“控制面板”=》“添加/删除程序”=》“Windows 组件”,看看 IIS 是否已安装。

安装步骤:

1.1、"我的电脑"=》控制面板=》添加/删除程序=》添加/删除windows组件=》选中"Internet信息服务(IIS)"前面的小框=》点击"下一步",然后按照提示操作,将IIS安装完成。

1.2、安装IIS后,打开IE,在地址栏输入http://your-domain/,回车确认。会出现Microsoft IIS的页面,证明IIS安装成功。

2、安装InstMsi.exe程序

如果是在win2000下,请跳过这一步。

如果是在winnt下,请一定要做这一步。在NT下,必须先安装 Windows 的程序安装器(Installer for the Windows Installer) InstMsi.exe ,否则无法进行下一步的ActivePerl安装。

2.1、获得for WINNT 的 Windows程序安装器:InstMsi.exe

有2种方法可以获得 InstMsi.exe :

  1. 在Winnt的安装光盘里搜索到 InstMsi.exe 文件
  2. 下载 for WINNT 的 InstMsi.exe 程序到硬盘
    下载地址:http://activestate.com/Products/ActivePerl/index.html
    http://download.microsoft.com/download/WindowsInstaller/Install/2.0/NT45/EN-US/InstMsi.exe

2.2、双击InstMsi.exe,按照提示将它安装完成。

2.3、重启计算机。

3、安装ActivePerl

3.1、下载ActivePerl到硬盘

国外下载:http://www.activestate.com
  国内下载:http://www.onlinedown.net/ActivePerl.htm

3.2、安装ActivePerl。双击它,按提示操作即可(可自选一个安装路径)。

系统会提示选择四项安装配置:

  • Add Perl to the PATH environment variable #更改Perl的路径加到系统路径中 
  • Create Perl file extension associate #建立Perl文件的文件关联(缺省的扩展名是pl)
  • Create IIS script mapping for Perl #建立IIS脚本映射到Perl
  • Create IIS script mapping for Perl #ISAPI #建立IIS脚本映射到Perl ISAPI

请将上述4项全部选中。

3.3、安装完ActivePerl后,重启计算机。

4、设置虚拟目录

在IIS的默认设置下,在系统根目录下的inetpub目录下面,有一个用来放置可执行脚本的目录scripts。但是ISP也有可能将IIS的这个设置修改了。那么我们就需要自己建立和设置一个可执行的虚拟目录,用来放入要运行的cgi脚本。

4.1、在硬盘的任何一个路径下,新建一个文件夹(名称任意,但最好不要在系统盘新建目录)。

如:F:\cgi-bin,在F盘下,新建一个叫做cgi-bin的文件夹。如图:

 

4.2、打开IIS服务器

从“开始”=》“设置”=》“控制面板”=》“管理工具”=》“Internet服务管理器”

出现IIS的界面如图:

 

4.3、建立虚拟目录

双击你的计算机名“pc1”,展开其站点目录=》在你的web站点名上(这里是“默认web站点”)单击右键=》“新建”=》“虚拟目录”

 

出现“虚拟目录创建向导”(如图)=》点击“下一步”

 

在“别名”框里输入一个名称,用来代表你将要映射的cgi脚本目录(这里是“cgi-bin”。当然,你也可以使用任何别的名称,如abc、123之类)=》点击“下一步”

 

在“目录”框中输入你在第1步生成的新文件夹的物理路径“F:\cgi-bin”(或者通过“浏览”按钮找到它也行)=》点击“下一步”

 

选取“执行(例如ISAPI应用程序或CGI)(E)”=》点击“下一步”

 

点击“完成”。

至此,你已成功的为你的站点新设了一个可执行的cgi脚本目录:F:\cgi-bin,这样,今后你的cgi脚本就可以放在这个目录里运行了。

5、在WINNT/2000的 IIS web服务器里映射.cgi 或 .pl

IIS4 服务器可以运行Perl和cgi程序,但它并未缺省设置为运行Perl。因此,你还得做2个修改:映射.cgi 或 .pl到 Perl,即建立.cgi或 .pl文件到perl程序的文件关联;为IUSR_网络客户帐户加入新的 NTFS 许可。

5.1、打开IIS

5.2、选择并打开你的Web 站点

单击你的虚拟Web 站点(例如,默认Web 站点,或xxx.com),打开它。

选中你的cgi脚本目录(如你刚才创建的cgi-bin)。如果你想把修改应用到整个虚拟web站点去,那么只要把选择单个目录改为选择整个站点就行了。

5.3、打开并修改目录的属性

在该文件夹上单击右键=》属性

 

出现属性对话框=》点击'目录'或'虚拟目录'选项卡=》选中下方的'脚本和可执行程序'选项=》 点击'配置'按钮

 

5.4、添加或编辑一个到perl的映射

出现一个可用 '应用程序映射'的列表,在'应用程序映射'列表的扩展名里寻找 .cgi 或 .pl。

1)如果找不到这2个扩展名。点击"添加",为.pl建立一个新的映射。

出现"添加/编辑应用程序扩展名" 窗口。

在窗口顶端的“可执行文件(X)”框,使用“浏览”按钮,在你的计算机上查找 perl.exe 或 perlis.dll,它将找到去perl程序的完整路径,如 D:\Perl\bin\Perl.exe 或 D:\Perl\bin\perlis.dll,如果你找到的是D:\Perl\bin\perl.exe,请你一定要在这个路径后面加上【空格】%s【空格】%s 。如图:

在“扩展名”框输入“.pl”(如果你想映射.pl为扩展名),注意pl前面有个小数点。

2)如果你能在'应用程序映射'列表里找到 .cgi 或 .pl,但其可执行文件路径后面没有“ %s %s”这样的后缀,那么请选中它,点击"编辑"。然后如上图所示,将其路径后加上【空格】%s【空格】%s 。

3)在 "脚本引擎"和"检查文件是否存在"前面的复选框里取消勾选。

4)为.pl映射设置允许的请求方式:

如果是在WINNT(即IIS4)中,请让“Method Exclusions:”(排除方式)框空着。

如果是在WIN2000(即IIS5)中, 请在“动作”下面的“限于”框中输入大写的“GET,HEAD,POST”,注意之间的逗号。

 

下图是一个在“应用程序映射”列表里已设好的.pl映射的示例。

如果你还需要将.cgi扩展名也映射到perl的话,按照上述步骤重做即可。

点击“确定”=》“确定”=》关闭窗口=》如果提问“保存控制台的设置到IIS吗?”,点击“是”。

5)重启计算机

到此,你已经为cgi脚本准备好了一个可执行的脚本目录(F:\cgi-bin),并将.pl这个扩展名正确的映射到了ActivePerl。可以说,在WIN2000/NT IIS 安装cgi脚本的准备工作都已做好了。下面,你就可以轻轻松松的将cgi脚本安装运行了。

二、安装cgi脚本

1、将你的cgi脚本(如果脚本被压缩,请先解压)复制到你在 4.1生成的目录 F:\cgi-bin下。

2、将该脚本的扩展名改为你已映射到ActivePerl的 .pl或 .cgi。

3、如果脚本需要一些特殊的安装步骤,请继续按照它的安装说明进行。

4、打开浏览器,在地址栏输入URL:http://your-domain/cgi-bin/xxx.pl ,这里xxx.pl是指你的脚本名,即可访问该脚本了。


    【打印本稿】  【给我留言】