以非超级用户身份安装 mod_perl(1) 译者/作者:cactus 出处:中国Perl协会 nbsp;FPC(Foundation nbsp;of nbsp;Perlchina) 作者:Stas nbsp;Bekman nbsp; 原名:Installing nbsp;mod_perl nbsp;without nbsp;superuser nbsp;privileges nbsp; 原文:http://www.perl.com/pub/a/2002/04/10/mod_perl.html nbsp; 发表:April nbsp;10, nbsp;2002 nbsp; 请保护作者的著作权,维护作者劳动的结晶。 nbsp; 就像大家从以前的文章里看到的,mod_perl nbsp;使Apache由两个组件组成: nbsp;Perl nbsp;模块和 nbsp;Apache nbsp;本身。虽然以非超级用户权限安装Apache很简单,但是应该知道如何安装在非系统位置的Perl模块。本文我将论证几种方法来实现这个任务。 在这些例子里,我将用stas作为用户名,/home/stas作为该用户的私人目录。 安装Perl模块到选择的目录 既然不用超级用户权限,那么你就不允许安装到系统目录,象/usr/lib/perl5。你需要找到如何在你的私人目录安装这些模块的方法。这很容易。 nbsp; 首先,你需要决定安装这些模块到什么地方。最简单的途径就是在你的私人目录下模仿与Perl有关的根目录文件系统的移植。实际上,我们只需要两个目录: nbsp; /home/stas/bin /home/stas/lib 既然他们会在第一个模块被安装时自动创建,那么我们就不必创建它们。99%的文件将被拷贝到lib目录下。有时候,当一些模块随着Perl脚本发布的时候会被拷贝到bin目录。如果目录不存在会被创建。 让我们安装CGI.pm包,该包包含了一些其它CGI::*模块。通常,从CPAN库下载该包,解开该包并进入新建的目录里。 现在做一个标准的perl文件Makefile.PL去准备Makefile.但是这个时候让 nbsp;MakeMaker nbsp;用你的Perl安装目录,而不是缺省的。 nbsp; % nbsp;perl nbsp;Makefile.PL nbsp;PREFIX=/home/stas PREFIX=/home/stas nbsp;只是安装过程不同于通常的一部分。 nbsp;注意如果你不在意MakeMaker如何选择剩下的目录,或者如果你正在用一个需要显式指明所有目的目录的老版本,那么这样做: nbsp; % nbsp;perl nbsp;Makefile.PL nbsp;PREFIX=/home/stas nbsp; INSTALLPRIVLIB=/home/stas/lib/perl5 nbsp; INSTALLSCRIPT=/home/stas/bin nbsp; INSTALLSITELIB=/home/stas/lib/perl5/site_perl nbsp; INSTALLBIN=/home/stas/bin nbsp; INSTALLMAN1DIR=/home/stas/lib/perl5/man nbsp; INSTALLMAN3DIR=/home/stas/lib/perl5/man3 剩下的跟通常一样: nbsp; % nbsp;make % nbsp;make nbsp;test % nbsp;make nbsp;install make nbsp;install nbsp;安装所有的文件到私人目录。注意所有丢失的目录会被自动创建,因此没有必要创建它们。 以下就是这么做的(稍微改动过): nbsp; 正在安装 nbsp;/home/stas/lib/perl5/CGI/Cookie.pm 正在安装 nbsp;/home/stas/lib/perl5/CGI.pm 正在安装 nbsp;/home/stas/lib/perl5/man3/CGI.3 正在安装 nbsp;/home/stas/lib/perl5/man3/CGI::Cookie.3 正在写入 nbsp;/home/stas/lib/perl5/auto/CGI/.packlist