|
天堂之光 人间希望
你我共同品味
JAVA的浓香.
Linux的清芬. |
« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
链接 |
联系我
msn:zhanglincon@hotmail.com |
Blog信息 |
blog名称: 日志总数:99 评论数量:281 留言数量:4 访问次数:810595 建立时间:2005年11月17日 |

| |
安装Perl 原创空间, 软件技术
zhanglincon 发表于 2009/2/25 15:43:40 |
摘要:文章记录了我初学perl 时的一些内容,如:如何安装perl、配置apache 让perl以cgi 方式运行、以及如何安装mod_perl等等——所以本文只适合perl 的初学者:-)perl is so popular that almost all platform has it's perl distribution.
Install perl on windows
Install perl on linux
Instal perl modules
Config apache to allow perl programs to run as cgi
Install mod_perl
Install perl on windows
如果你有兴趣、勇气以及经验的话,你可以下载Perl Source Code 并自己编译perl;如果你象我一样懒得动手的话则可以到ActiveState下载已经打包好的二进制版本的ActivePerl来安装。
我下载的是5.8.0版本的ActivePerl,你在看到这篇文章的时候可能已经有了更高版本的distribution 了。
ActivePerl(5.8.0)中包含以下模块:
Perl Core - the core of perl
Perl for ISAPI - ISAPI plugin for perl
PerlScript - ActiveX script engine for perl
PPM (Perl Package Manager) - manager for perl module and extensions
建议你象我一样把perl 安装到d:\usr\local\perl 目录下。安装完之后在d:\usr\local 目录下为perl创建一个快捷方式perl-5.8.0——为的是方便以后升级;拷贝bin目录下的perl.exe 到d:\usr\bin 目录下;设置如下环境变量:
HOME=d:/home/lhelper
PATH=%PATH%;d:\usr\bin;d:\usr\local\perl\bin;
注:建议大家尽量把apache、php、perl、jdk 之类的工具安装到"$:\usr\local\"目录下(仿照unix/bsd/linux 的目录结构,并为自己创建home 目录,如"$:\home\lhelper\"),而不是象大部分书籍中所写的"c:\"——要知道windows 也是可以识别 "/home/lhelper/workspace/" 之类的目录的。另建议不要把"$"设置为"c",设置为"d" 应该是个比较不错的选择——这样当你不得不重新安装windows 操作系统的时候只要把环境变量备份一下,"c:\" 你可以随便处理,这些工具并不需要备份,系统重装之后把环境变量重新设置一下就可以投入使用了。
到dos/命令提示符下执行"perl -v" 验证一下环境变量的设置是否正确: D:\>perl -v
This is perl, v5.8.0 built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2002, Larry Wall
......
Install perl on linuxto be continue...
Install perl modulesto be continue...
Config apache to allow perl programs to run as cgi
perl 是被用于开发cgi 程序的主要语言之一,借助apache 的mod_cgi 模块,经过简单设置就可以让你的perl 程序以cgi 方式运行了——当然如果你的工作是webmaster 的话,那么前面一句话也许并不适合你;另外如果你想提高perl 的运行效率那你就需要mod_perl 的支持了。
要apache 允许cgi 程序的执行有多种方法:
ScriptAlias:
出于安全方面的原因,系统管理员有时会把cgi 的执行权限限制到某个目录下,即通过ScriptAlias 进行限制,如:
ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
这样apache 会认为"/cgi-bin/" 目录下的所有文件都是(尽管它可能不是)cgi 程序,并试图去执行它——如果放到"/cgi-bin/" 目录下的某个文件并不真的是cgi 程序的话,那么对这个文件的访问将会引发异常,因为apache 没办法正常的执行它。
Options
有时候很难把所有的cgi 程序都汇总到一个目录下,这时可以借助Options 和 AddHandler 来对更高一级目录来进行设置,使apache 可以选择性的执行目录下的cgi 程序,如:
......
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
......
<Directory /home/lhelper/public_html>
Options Indexes ExecCGI
AllowOverride None
</Directory>
这样只有 "/home/lhelper/public_html" 或子目录下的扩展名为".cgi" 或 ".pl" 文件会被当作cgi 程序执行。
.htaccess fils
Sample:......
AddModule mod_cgi.c
......
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
......
NameVirtualHost 192.168.0.87
<VirtualHost 192.168.0.87:80>
ServerName home.lhelper.org
DocumentRoot /home/lhelper/public_html
ErrorLog /home/apache/logs/home.lhelper.org-error.log
CustomLog /home/apache/logs/home.lhelper.org-access.log combined
<IfModule mod_cgi.c>
ScriptLog logs/script.log
ScriptLogLength 10385760
ScriptLogBuffer 1024
</IfModule>
<Directory />
Options Indexes ExecCGI
AllowOverride None
</Directory>
</VirtualHost>
Install mod_perlto be continue...
Reference
Perl in a nutshell - By Ellen Siever, Stephen Spainhour & Nathan Patwardhan
Apache Tutorial: Dynamic Content with CGI
Apache module mod_cgi |
|
|