从学习Perl/Mason开始,长久以来,我都是在ubuntu下搭建Mason的开发、运行环境的,因为Perl是ubuntu的原生语言,而且通过新立得安装组件、模块来的非常方便。组内所有Mason开发环境,也是基于我研究的ubuntu平台。

但是如何在windows下搭建Mason的运行、开发环境一直是我所困扰、想实现的。这样我们就可以不再限定于特定开发平台,无论对于开发、还是部署都有新的意义。

通过反复尝试,终于在windows下顺利搭建好了Mason的环境,以下是搭建的步骤。


安装ActivePerl:

下载地址​​http://www.skycn.com/soft/1211.html​​​。


安装Apache2:

下载地址​​http://httpd.apache.org/download.cgi​​​,安装apache_2.2.10-win32-x86-openssl-0.9.8i.msi即可。


安装mod_perl:

这是关键部分,ubuntu下可以通过新立得安装,windows下要手动安装mod_perl的话必须要apxs,要先安装httpd::devel,而这个东西我是没有找到的。花了很久,终于找到一个可以直接安装mod_perl的方法:在命令行中输入“ppm install ​​http://theoryx5.uwinnipeg.ca/ppms/mod_perl.ppd​​​”,就可以直接安装mod_perl了。这期间需要填写Apache的安装目录。

安装完毕后,在conf/httpd.conf中添加

LoadFile "D:/Apache2.2/bin/libapreq2.dll"
LoadModule apreq_module modules/mod_apreq2.so


安装libapreq2:

同上,这个Apache模块也需要通过ppm方式安装,安装地址为“ppm install ​​http://theoryx5.uwinnipeg.ca/ppms/libapreq2.ppd​​​”。

安装完毕在httpd.conf中添加

LoadFile "D:/Apache2.2/bin/libapreq2.dll"LoadModule apreq_module modules/mod_apreq2.so


安装Mason

通过ActivePerl的Perl Package Manager(以下简称PPM),也可以在命令行中直接输入PPM就可以打开。

检索Mason,可以找到HTML::Mason模块,右键点击Install,然后点击Run marked actions,即可自动安装Mason。


修改httpd.conf

在httpd.conf中将documentroot修改为自己站点的工作目录,例如“D:/workspace”。然后在配置文件中加入自己站点的配置,例如

Listen 8080
<VirtualHost *:8080>
ServerName workshop.perl.com
DocumentRoot "D:/workspace/workshop.perl.com"
PerlRequire "D:/workspace/workshop.perl.com/startup.pl"
PerlModule HTML::Mason::ApacheHandler
PerlSetVar MasonCompRoot "D:/workspace/workshop.perl.com"
PerlSetVar MasonDataDir "D:/workspace/workshop.perl.com/data"
<Directory "D:/workspace/workshop.perl.com">
SetHandler perl-script
PerlHandler HTML::Mason::ApacheHandler
</Directory>
<LocationMatch "(/.gif|/.png|/.css|/.js|/.jpg)$">
SetHandler default
</LocationMatch>
</VirtualHost>

在windows下,可能不需要手动创建data目录并赋予服务器帐户的权限。


可以请求一个网站页面测试一下,这个时候应该可以正常运行Mason站点了。需要的模块可以通过PPM进行安装。