| 订阅 | 在线投稿
分享
 
 
 

以非超级用户身份安装mod_perl

2008-05-19 06:25:34 编辑來源:互联网 国际版 评论
 
 
本文为【以非超级用户身份安装mod_perl】的汉字拼音对照版显示拼音
  jiuxiangdajiacongyiqiandewenzhanglikandaodemod_perl nbsp;使shiApacheyoulianggezujianzucheng nbsp;Perl nbsp;mokuaihe nbsp;Apache nbsp;benshensuiranyifeichaojiyonghuquanxiananzhuangApachehenjiandandanshiyinggaizhidaoruheanzhuangzaifeixitongweizhidePerlmokuaibenwenwojianglunzhengjizhongfangfalaishixianzhegerenwu

  zaizhexieliziliwojiangyongstaszuoweiyonghuming/home/staszuoweigaiyonghudesirenmulu

  anzhuangPerlmokuaidaoxuanzedemulu

  jiranbuyongchaojiyonghuquanxiannamenijiubuyuanxuanzhuangdaoxitongmuluxiang/usr/lib/perl5nixuyaozhaodaoruhezainidesirenmuluanzhuangzhexiemokuaidefangfazhehenrongyi nbsp;

  shouxiannixuyaojuedinganzhuangzhexiemokuaidaoshenmedifangzuijiandandetujingjiushizainidesirenmuluxiamo仿fangyuPerlyouguandegenmuluwenjianxitongdeyizhishijishangwomenzhixuyaolianggemulu nbsp;

  /home/stas/bin

  /home/stas/lib

  jirantamenhuizaidiyigemokuaibeianzhuangshizidongchuangjiannamewomenjiububichuangjiantamen99dewenjianjiangbeikaobeidaolibmuluxiayoushihoudangyixiemokuaisuizhePerljiaobenfabudeshihouhuibeikaobeidaobinmuluruguomulubucunzaihuibeichuangjian

  rangwomenanzhuangCGI.pmbaogaibaobaohanleyixieqitaCGI::*mokuaitongchangcongCPANkuxiazaigaibaojiekaigaibaobingjinruxinjiandemululi

  xianzaizuoyigebiaozhundeperlwenjianMakefile.PLquzhunbeiMakefile.danshizhegeshihourang nbsp;MakeMaker nbsp;yongnidePerlanzhuangmuluerbushiqueshengde nbsp;

  % nbsp;perl nbsp;Makefile.PL nbsp;PREFIX=/home/stas

  PREFIX=/home/stas nbsp;zhishianzhuangguochengbutongyutongchangdeyibufen nbsp;zhuyiruguonibuzaiyiMakeMakerruhexuanzeshengxiademuluhuozheruguonizhengzaiyongyigexuyaoxianshizhimingsuoyoumudemuludelaobanbennamezheyangzuo 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

  shengxiadegentongchangyiyang nbsp;

  % nbsp;make

  % nbsp;make nbsp;test

  % nbsp;make nbsp;install

  make nbsp;install nbsp;anzhuangsuoyoudewenjiandaosirenmuluzhuyisuoyoudiushidemuluhuibeizidongchuangjianyincimeiyoubiyaochuangjiantamen

  yixiajiushizhemezuodeshaoweigaidongguo nbsp;

  zhengzaianzhuang nbsp;/home/stas/lib/perl5/CGI/Cookie.pm

  zhengzaianzhuang nbsp;/home/stas/lib/perl5/CGI.pm

  zhengzaianzhuang nbsp;/home/stas/lib/perl5/man3/CGI.3

  zhengzaianzhuang nbsp;/home/stas/lib/perl5/man3/CGI::Cookie.3

  zhengzaixieru nbsp;/home/stas/lib/perl5/auto/CGI/.packlist

  zhengzaizhuijiaanzhuangxinxidao nbsp;/home/stas/lib/perl5/perllocal.pod

  ruguonibudebuyongxianshimudeshenshunamebuyongdangePREFIXshenshunihuifaxianjianliyigebeitiaoyongdewenjianhenyouyong

  liru nbsp;/.perl_dirs nbsp;(zheli nbsp;zaiwomendelizizhongshi nbsp;/home/stas) nbsp;deneirongbaohan: 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

  congxianzaiqirenheshihounixiangbendihuaanzhuangPerlmokuaijiukeyizheyangzhixing nbsp;

  % nbsp;perl nbsp;Makefile.PL nbsp;`cat nbsp;/.perl_dirs`

  % nbsp;make

  % nbsp;make nbsp;test

  % nbsp;make nbsp;install

  yongzhegefangfanikeyihenrongyidibaochibutongPerlmokuaidecunchulirunikeyiyigeyongzuoproduction nbsp;Perllingyigeyongzuokaifa nbsp;

  % nbsp;perl nbsp;Makefile.PL nbsp;`cat nbsp;/.perl_dirs.production`

  huozhe nbsp;

  % nbsp;perl nbsp;Makefile.PL nbsp;`cat nbsp;~/.perl_dirs.develop`

  bianxienizijidejiaobenzhaodaobendiyianzhuangmokuai

  zhexiePerlmokuaitongchangdoufangzaisigezhuyaomuluweilezhaodaozhexiemuluzhixing nbsp;

  % nbsp;perl nbsp;-V

  shuchubaohanchongyaodeperlanzhuangxinxizuihounijiangkandao nbsp;

  Characteristics nbsp;of nbsp;this nbsp;binary nbsp;(from nbsp;libperl):

  Built nbsp;under nbsp;linux

  Compiled nbsp;at nbsp;Apr nbsp;6 nbsp;1999 nbsp;23:34:07

  @INC:

  /usr/lib/perl5/5.00503/i386-linux

  /usr/lib/perl5/5.00503

  /usr/lib/perl5/site_perl/5.005/i386-linux

  /usr/lib/perl5/site_perl/5.005

  .

  zhexiangwomenbiaomingPerlteshubianliang@INCdeneirongzhegeteshubianliangtongchangbeiPerlyonglaichazhaomokuaidetadengjiayuUnix nbsp;shellslidePATHhuanjingbianliangshiyonglaichazhaokezhixingchengxude

  zhuyiPerlyezai.muludaibiaodangqianmuluchazhaomokuaizheshizaiyishangshuchumululidezuihouderukoulujingdangranzhegelizilaizi5.00503banbendeperl, nbsp;taanzhuangzaiwodex86jiegouPCdeLinuxzhongzhejiushiweishenmenikandaolei386-linuxhe5.00503. nbsp;ruguonidexitongyunxingzhebutongbanbendeperlcaozuoxitongchuliqihuozhexinpianjiegounameyixiemuluhuiyoubutongdemingzi

  woyeanzhuangleperl nbsp;5.6.1banbendao nbsp;/usr/local/lib/ nbsp;suoyidangwozhemezuo nbsp;

  % nbsp;/usr/local/bin/perl5.6.1 nbsp;-V

  nihuikandao: nbsp;

  @INC:

  /usr/local/lib/perl5/5.6.1/i586-linux

  /usr/local/lib/perl5/5.6.1

  /usr/local/lib/site_perl/5.6.1/i586-linux

  /usr/local/lib/site_perl

  zhuyizhehuanshiLinux, nbsp;danshijiaoxindeperlbanbenyonglebentengdechuliqisuoyishii586erbushii386zheduibentengchuliqidebianyiyouhuayouyongdangerjinzhiPerlkuozhanbeichuangjianshi

  suoyoupingtaizhidingdewenjianxiangyibianyideCwenjianyongXShuozheSWIGqunianhePerl,yinggaijinruleisii386-linuxmulu

  chongdiandangwomenyijinganzhuanglePerlmokuaijinrufeibiaozhunmuluwomenbudeburangPerlzhidaoqunalisousuozhesigemuluyoulianggeshixianfangfanikeyishezhiPERL5LIB nbsp;huanjingbianlianghuozhenikeyizainidejiaobenzhongxiugai@INCbianliang

  jiashewomenyongPerl nbsp;5.00503banbenzaiwomendelizizhongmuluruxia nbsp;

  /home/sbekman/lib/perl5/5.00503/i386-linux

  /home/sbekman/lib/perl5/5.00503

  /home/sbekman/lib/perl5/site_perl/5.005/i386-linux

  /home/sbekman/lib/perl5/site_perl/5.005

  jiuxiangqianmiantidaodeninengtongguoperl nbsp;-Vzhaodaoqueqiedemulubingyongnizijidesirenmuludaitiquanjudeperlanzhuangjimulu

  xiugai nbsp;@INC nbsp;shihenrongyidezuihaodetujingshiyonglibmokuai(bianyizhishi), nbsp;tongguozainidejiaobenzuishangfangjiaruyixiadaimapianduanzhexiedaimaxuyaobendihuayijinganzhuangdemokuai

  use nbsp;lib nbsp;qw(/home/stas/lib/perl5/5.00503/

  /home/stas/lib/perl5/site_perl/5.005);

  lingyigetujingshixiedaimaxianshixiugai@INC: nbsp;

  BEGIN nbsp;{

  unshift nbsp;@INC,

  qw(/home/stas/lib/perl5/5.00503

  /home/stas/lib/perl5/5.00503/i386-linux

  /home/stas/lib/perl5/site_perl/5.005

  /home/stas/lib/perl5/site_perl/5.005/i386-linux);

  }

  zhuyijirantamenruguocunzaihuizidongjiaruqueqiedishuodang$dir/$archname/autocunzaideshihounameyonglibmokuaiwomenbubiliechuyizhidejiegouzhidingmulu

  erqiezhuyidaoliangzhongtujingdouyuxiankaolvdao@INClibeisousuodemuluzhejiuyuanxunianzhuangyigegengxindemokuaijiarunidebendikuPerlhuiyongzhegemokuaiqudaiyijinganzhuangzaixitongkulidejiumokuai

  liangzhongtujingdoushizaibianyiqijianxiugai nbsp;@INC nbsp;dezhizhegelibmokuaiyeyongBEGINkuaidanshishineibudi

  xianzairangwojiasheruxiaqingjingwoyijingzaiwodebendikuzhonganzhuangle nbsp;LWP nbsp;bao. nbsp;xianzaiwoxianganzhuanglingyigemokuai(liru nbsp;mod_perl) nbsp;zhegemokuaiyouzaitadeshouxuanliebiaozhongliechude nbsp;LWPwozhidaowoyijinganzhuang nbsp;LWP nbsp;danshidangwoweilezhunbeianzhuangdemokuaiyunxingperl nbsp;Makefile.plwobeigaozhiwomeiyouanzhuangLWP

  Perlmeiyoubanfazhidaowomenyoubendiyijinganzhuangdemokuaisuoyouzhexiedouzai@INCliliechudemulusousuozhongjiranhouzhebaohanzhiyou4gequeshengmulujiashang nbsp;.mulunametabukenengzhaodaobendianzhuangde nbsp;LWP nbsp;baowomenbunengtongguojiarudaimaxiugai@INClaijiejuezhegewentieryaogaibianPERL5LIBhuanjingbianliangcainengjiejueruguonizhengzaiyongtcshjiejuejiaohugongzuonamezheyangzuo nbsp;

  setenv nbsp;PERL5LIB nbsp;/home/stas/lib/perl5/5.00503:

  /home/stas/lib/perl5/site_perl/5.005

  tayinggaishidaimuludedanxingbingqiemulushibeimaohaohefeikonggesuofenkairuguonishibashyonghunamezhemezuo nbsp;

  export nbsp;PERL5LIB=/home/stas/lib/perl5/5.00503:

  /home/stas/lib/perl5/site_perl/5.005

  tongyangxiechengdanxingruguoniyongbashnameninengtongguofanxieganlaishuruduoxingminglingxiangzheyang nbsp;

  export nbsp;PERL5LIB=/home/stas/lib/perl5/5.00503:

  /home/stas/lib/perl5/site_perl/5.005

  youyuyonglibsuoyiruguocunzaiPerlzidonghuiyuxiankaolvjiegouzhidingmuludao nbsp;@INC nbsp;.

  dangwomenzhemezuodeshihouwomenjiuyaoxiangyiqiannayangtongguozhixingperl nbsp;-Vlaiqueren@INCxinpeizhidezhiniyinggaikandao nbsp;@INC nbsp;xiugaidezhi nbsp;

  % nbsp;perl nbsp;-V

  Characteristics nbsp;of nbsp;this nbsp;binary nbsp;(from nbsp;libperl): nbsp;

  Built nbsp;under nbsp;linux

  Compiled nbsp;at nbsp;Apr nbsp;6 nbsp;1999 nbsp;23:34:07

  %ENV:

  PERL5LIB=/home/stas/lib/perl5/5.00503:

  /home/stas/lib/perl5/site_perl/5.005 nbsp;

  @INC:

  /home/stas/lib/perl5/5.00503/i386-linux

  /home/stas/lib/perl5/5.00503

  /home/stas/lib/perl5/site_perl/5.005/i386-linux

  /home/stas/lib/perl5/site_perl/5.005

  /usr/lib/perl5/5.00503/i386-linux

  /usr/lib/perl5/5.00503

  /usr/lib/perl5/site_perl/5.005/i386-linux

  /usr/lib/perl5/site_perl/5.005

  .

  dangyiqiedourunisuoyuandenayanggongzuoshijiaruzhexieminglingdao nbsp;.tcshrc nbsp;huozhe nbsp;.bashrc nbsp;wenjian. nbsp;dangxiaciniqidongshelldeshihouhuanjingjianghuiweinizhunbeihaoyuxindePerlyiqigongzuo

  zhuyiruguonishezhile nbsp;PERL5LIB nbsp;, nbsp;namenibubizainidejiaobenzhonggaibian nbsp;@INC nbsp;dezhidanshiruguo, nbsp;julishuo, nbsp;qitaren nbsp;(buxiangzai nbsp;shellzhongshezhiderenxiangzhixingnidejiaobennamePerljiubunengzhaodaonibendianzhuangdemokuaizuihaodelizijiushi nbsp;crontab nbsp;jiaobenkeyiyongbutongdeSHELLhuanjingyincibunengjinxingPERL5LIBdeshezhi

  yushizuihaodetujingjiushixiangshangmiansuomiaoshudejishezhiPERL5LIBhuanjingbianliangyouzaijiaobenkaitouxiugai nbsp;@INC nbsp;kuozhandaima

  CPAN.pm nbsp;Shell nbsp;he nbsp;bendianzhuangmokuai

  CPAN.pm nbsp;shell nbsp;zaichuliperlmokuaianzhuanghebaochigengxindeshihoubaocunledaliangdeshijiantaweiwomenzuolezhexianggongzuojinguanzaishouxuanliebiaozhongjianchadaodediushimokuaiquchutamenbinganzhuangsuoyinihuixiangzhidaonishifounengyong nbsp;CPAN.pm nbsp;yelaibaochinidebendiku

  dangnikaishiqidong nbsp;CPAN nbsp;jiaohuShelldeshihou nbsp;tahuishouxiansousuoyonghusirenpeizhiwenjianhexitongwenjiandangwozuoweistasyonghubeijilushianzhuangdelianggewenjianhuishi nbsp;

  /home/stas/.cpan/CPAN/MyConfig.pm

  /usr/lib/perl5/5.00503/CPAN/Config.pm

  ruguonidexitongmeiyou nbsp;CPAN nbsp;ShellnamedangnidiyiciqidongshellshitahuiwenniyixiliewentiranhouweinijianliConfig.pmwenjian

  ruguoniyijingyouyigexitongpeizhinameniyinggaiyou/usr/lib/perl5/5.00503/CPAN/Config.pm. nbsp;ruguoniyoubutongbanbendePerlnamezaizhaowenjiandeshihouxiugailujingyongnidePerldebanbenhaoxinjianmulumkdir nbsp;-p nbsp;likexinjianzhenggelujinggaimulujiushibendipeizhiwenjianjiangfangdedifang nbsp;

  % nbsp;mkdir nbsp;-p nbsp;/home/stas/.cpan/CPAN

  xianzaifuzhihaxitongpeizhiwenjiandaobendi nbsp;

  % nbsp;cp nbsp;/usr/lib/perl5/5.00503/CPAN/Config.pm nbsp;

  /home/stas/.cpan/CPAN/MyConfig.pm

  weiyiliuxiadeshiqingshizainidebendiwenjiangaibian nbsp;.cpan nbsp;jimuludaonidesirenmuluxiazaiwodejiqiliwoyong nbsp;/home/stas nbsp;qudai nbsp;/usr/src/.cpan nbsp;(zhejiushiwode nbsp;.cpan nbsp;xitongmulusuozaidifang)wodangranyongperl! nbsp;

  % nbsp;perl nbsp;-pi nbsp;-e nbsp;s|/usr/src|/home/stas| nbsp;

  /home/stas/.cpan/CPAN/MyConfig.pm

  xianzainiyijingyoubendipeizhiwenjiandangzhixing nbsp;perl nbsp;Makefile.PL nbsp;deshihounikeyigaosutanibixuchuandishenmeshenshu

  yongnizuixihuandebianjiqidakaigaiwenjianbingtihuanxiaxing nbsp;

  makepl_arg nbsp;=> nbsp;q[],

  caiyong: nbsp;

  makepl_arg nbsp;=> nbsp;q[PREFIX=/home/stas],

  xianzainiyijingwanchenglepeizhijiashenizuoweitongyangdeyonghudenglubingzhunbeihaolebendianzhuangwomendelizishi nbsp;stasxiangzheyangkaishi nbsp;

  % nbsp;perl nbsp;-MCPAN nbsp;-e nbsp;shell

  congxianzaiqirenhenixianganzhuangdemokuaidouhuibeibendihuaanzhuangruguonibixuanzhuangyixiexitongmokuainamejiuchengweichaojiyonghubingyongtongyangdefangfajinxinganzhuangdangniyichaojiyonghudenglushixitongpeizhiwenjianjiangbeiyongerbushibendide

  ruguoniyijingyonglebuzhiyigePREFIXbianliangranhouxiugai nbsp;MyConfig.pm nbsp;quyongtamen. nbsp;liruruguoniyongzhexiebianliang 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

  zaixiamianyixingzhongyongyishangsuoyoubianliangtihuan nbsp;PREFIX=/home/stas nbsp;: nbsp;

  makepl_arg nbsp;=> nbsp;q[PREFIX=/home/stas] nbsp;

  yushigaixingbiancheng nbsp;

  makepl_arg nbsp;=> nbsp;q[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],

  ruguoninengzaiyixingneifangzhisuoyouyishangshenshunamenikeyiqudiaofanxiegan nbsp;().

  anzhuangbendi nbsp;Apache

  jiuxiang nbsp;Perl nbsp;mokuaiyiyang nbsp;ruguonimeiyouquanxiananzhuangwenjiandaoxitongqunamenibudebubendihuaanzhuangtamendaonidesirenmuluzhejihugenjiandananzhuangyiyangdanshinibudebuyunxingzhentingduankouhaodayu1024defuwuqiyinweizhiyourootjinchengcainengzhentingxiaoyu1024deduankouhao

  lingyigechongyaodewentinibixujiejuedeshiruhebaqidongguanbijiaobenzuoweixitongfuwuxierumululinijiangbudebuxiangnidexitongguanliyuanxunqiubangzhu

  weilebendihuaanzhuangApache nbsp;suoyounibixuzuodeshigaosuApacheyuandaimamululide.configurewenjianyinggaiyongnaxiemudemuluruguonianzhaowodeyueding使shinidesirenmulukanqilaixiang nbsp;/ nbsp;genmuluyiyangnameqiwangdeshenshujiangshi nbsp;

  ./configureprefix=/home/stas

  Apache nbsp;huiyongqianzhuilaidaitimudemuluqiyubufenerbushiqueshengde nbsp;/usr/local/apache. nbsp;ruguonixiangzhidaotamenshishenmenameyunxingzhiqianjiashangshow-layout nbsp;xuanxiang nbsp;

  ./configureprefix=/home/stasshow-layout

  nikenengxianganzhaoApachedeyuedingbaApachesuoyoudewenjianfangzai nbsp;/home/stas/apache nbsp;xia nbsp;

  ./configureprefix=/home/stas/apache

  ruguonixiangxiugaiyixiehuozhesuoyouzidongchuangjiandemuludemingzi nbsp;

  ./configureprefix=/home/stas/apache nbsp;

  sbindir=/home/stas/apache/sbin

  sysconfdir=/home/stas/apache/etc

  localstatedir=/home/stas/apache/var nbsp;

  runtimedir=/home/stas/apache/var/run nbsp;

  logfiledir=/home/stas/apache/var/logs nbsp;

  proxycachedir=/home/stas/apache/var/proxy

  jiuzhexie!

  erqiejizhunizhinengzaishuyunideyonghuheyonghuzuxiayunxinggaijiaoben nbsp;nibixuzaihttpd.conflishezhiheshidezhigeiyonghuhezuxiang

  shoudonganzhuangbendi nbsp;mod_perl nbsp;qiyong nbsp;Apache

  jiranwomenzhidaoruhefenkaianzhuangApachehePerlmokuainajiurangwomenlaikankanruhezaiwomendesirenmuluanzhuangmod_perlqiyongApachezhejihugenfenkaianzhuangyiyangjiandandanshiyouyigewentinixuyaozhidaodezhezaibenbufendezuihouwohuitidao

  jiashenijiebao nbsp;Apache nbsp;he nbsp;mod_perl nbsp;yuandaimadao nbsp;/home/stas/src nbsp;muluxiajiuxiangzheyang nbsp;

  % nbsp;ls nbsp;/home/stas/src

  /home/stas/src/apache_x.x.x

  /home/stas/src/mod_perl-x.xx

  zhelide nbsp;x.xx nbsp;shigenyiqianyiyangdebanbenhaonixiangcongyianzhuangzai nbsp;/home/stas/lib/perl5 nbsp;xiade nbsp;mod_perl nbsp;baozhongdedaoPerlmokuaihe nbsp;/home/stas/apache nbsp;muluxiade nbsp;Apache nbsp;wenjianyixiaminglingshizhemezuode nbsp;

  % nbsp;perl nbsp;Makefile.PL nbsp;

  PREFIX=/home/stas nbsp;

  APACHE_PREFIX=/home/stas/apache nbsp;

  APACHE_SRC=../apache_x.x.x/src nbsp;

  DO_HTTPD=1 nbsp;

  USE_APACI=1 nbsp;

  EVERYTHING=1

  % nbsp;make nbsp;&& nbsp;make nbsp;test nbsp;&& nbsp;make nbsp;install nbsp;

  % nbsp;cd nbsp;../apache_x.x.x

  % nbsp;make nbsp;install

  ruguonixuyaoyixieshenshuchuandigei nbsp;.configure nbsp;jiaoben, nbsp;jiuxiangwomenzaiyiqiandezhangjielikandaodenamejiuyong nbsp;APACI_ARGS. nbsp;liru: nbsp;

  APACI_ARGS=sbindir=/home/stas/apache/sbin, nbsp;

  sysconfdir=/home/stas/apache/etc, nbsp;

  localstatedir=/home/stas/apache/var, nbsp;

  runtimedir=/home/stas/apache/var/run, nbsp;

  logfiledir=/home/stas/apache/var/logs, nbsp;

  proxycachedir=/home/stas/apache/var/proxy

  zhuyiyishangduoxingfenkaizhigongzuozaibashxia nbsp;tcshyonghujiangbudebuzaitongyixingliechusuoyoushenshu

  jibenshanganzhuangjieshuweiyiliuxiadewentishi nbsp;@INC nbsp;bianliangruguoniyilai nbsp;PERL5LIB nbsp;huanjingbianliangname@INC nbsp;jiangbuhuibeizhengqueshezhichufeinizainideqidongwenjianzhongxianshishezhitaqidongwenjianbixuzaizhuangzairenhenidebendikumokuaizhiqianqidongyigegenghaodetujingjiuxiangwomenyiqiankandaodeshiyonglibbianyizhishidanshishaoweiyoudianbutongdedifangwomenzaiqidongwenjianzhongyongzhezhongfangfajianghuiyingxiangsuoyouzaimod_perlchulixiadedaimajianghuibeizhixingliru: nbsp;PerlRequire nbsp;/home/stas/apache/perl/startup.pl nbsp;zhelide nbsp;startup.pl nbsp;yizheyangkaishi nbsp;

  use nbsp;lib nbsp;qw(/home/stas/lib/perl5/5.00503/

  /home/stas/lib/perl5/site_perl/5.005);

  zhuyinirengkeyizaijiaobenzhongyongyingbianmade nbsp;@INC nbsp;dexiugai, nbsp;danyishidaojiaobenxiugaiBEGINkuailide nbsp;@INC nbsp;ermod_perl nbsp;zhizaijiaobenbianyideshihoucaizhixing nbsp;BEGINkuaijieguo@INC nbsp;jianghuizaibianyiyihoubeiyuanshizhifuweiyingbianmadeshezhijianghuibeiyiwang

  zhiyouyigedifangnikeyigaibianyuanshizhishizaiqidongwenjianhuozhefang nbsp;

  PerlSetEnv nbsp;Perl5LIB nbsp;

  /home/stas/lib/perl5/5.00503/:/home/stas/lib/perl5/site_perl/5.005

  dao nbsp;httpd.confdefuwuqipeizhijieduan, nbsp;danshihouzheshezhiruguoniyong nbsp;PerlTanintcheck nbsp;shezhijianghuibeihuluewoxiwangninengzheyangyongta

  jiexialaidemod_perl nbsp;peizhihe使shiyongshiyiyangdejiuhaoxiangnizhengzaiyichaojiyonghushenfenanzhuangmod_perlyiyang

  yong nbsp;CPAN.pm nbsp;jinxingbendianzhuang nbsp;mod_perl nbsp;qiyong nbsp;Apache nbsp;jiasheniyijingxiangwenzhangqianmiansuojieshidepeizhi nbsp;CPAN.pm nbsp;laianzhuangPerlmokuainameanzhuangjiujiandanle

  qidong nbsp;CPAN.pm nbsp;shell, nbsp;shezhishenshuchuandigei nbsp;perl nbsp;Makefile.PL nbsp;(xiugailizishezhishihenidexuyao), nbsp;ranhougaosu nbsp;weiniquzuoshengxiadeshi: nbsp;

  % nbsp;perl nbsp;-MCPAN nbsp;-eshell

  cpan> nbsp;o nbsp;conf nbsp;makepl_arg nbsp;DO_HTTPD=1 nbsp;USE_APACI=1 nbsp;EVERYTHING=1 nbsp;

  PREFIX=/home/stas nbsp;APACHE_PREFIX=/home/stas/apache

  cpan> nbsp;install nbsp;mod_perl

  dangniweilebendihuaanzhuangyong nbsp;CPAN.pm nbsp;deshihou, nbsp;mod_perl nbsp;anzhuangjieshuzhihounibixuqueren nbsp;makepl_arg nbsp;shifoubeihuifudaoyuanshizhizuijiandandefangfashitongguoshuru nbsp;quit退tuichujiaohuShellranhouchongxinshurudanshiruguoyaojianchinamexiamianjiushiruguobu退tuichuShelljiushengxiao. nbsp;nizhendexiangtiaoguozhege:)

  ruguonixiangbu退tuichuShellyongCPANjixugongzuonamenibixu

  1jizhu nbsp;makepl_arg nbsp;dezhi

  2gaibiantayishihenidexinanzhuang

  3goujianheanzhuang nbsp;mod_perl

  4anzhuang nbsp;mod_perl nbsp;zhihouhuifuta

  zheshixiangdangmafanderenwudanshiwoxiangxin nbsp;CPAN.pm nbsp;zuizhonghuibeigaishanchuliqilaigengrongyi

  suoyinihuanshigenwoyiqinamejiuxiangtongchangyiyangqidong nbsp;Shell nbsp;

  % nbsp;perl nbsp;-MCPAN nbsp;-eshell

  diyiduqu nbsp;makepl_arg nbsp;dezhi: nbsp;

  cpan> nbsp;o nbsp;conf nbsp;makepl_arg

  PREFIX=/home/stas

  ruguonipeizhiCPAN.pmlaibendihuaanzhuangmokuainajiuhuishixiang nbsp;PREFIX=/home/stas nbsp;zheyangdezifuchuanbaocunzhegezhi nbsp;

  cpan> nbsp;o nbsp;conf nbsp;makepl_arg.save nbsp;PREFIX=/home/stas

  diershezhiyigexinzhi nbsp;mod_perl nbsp;anzhuangjinchenghuiyongdaota(nikeyigenjunidexuyaojiarushenshudaozhexinghuozheshanchu) nbsp;

  cpan> nbsp;o nbsp;conf nbsp;makepl_arg nbsp;DO_HTTPD=1 nbsp;USE_APACI=1 nbsp;EVERYTHING=1 nbsp;

  PREFIX=/home/stas nbsp;APACHE_PREFIX=/home/stas/apache

  disan, nbsp;rang nbsp;weinigoujianheanzhuang nbsp;mod_perl: nbsp;

  cpan> nbsp;install nbsp;mod_perl

  disi, nbsp;fuweimakepl_argdaoyuanshizhi.womenkeyitongguodayinzhexiebaocundebianliangzhiranhoufenpeigei nbsp;makepl_arglaishixian. nbsp;

  cpan> nbsp;o nbsp;conf nbsp;makepl_arg.save

  PREFIX=/home/stas

  cpan> nbsp;o nbsp;conf nbsp;makepl_arg nbsp;PREFIX=/home/stas

  bushihenjianmingdanqueshiyigeyouxiaofangfanikeyizaiyizhangzhitiaoshangxiexiazhegezhierbushibaocunzai nbsp;makepl_arg.save, nbsp;danshizheyangnigengkenengfancuowu nbsp;shenkao

  Apache nbsp;wangzhanwangzhi nbsp;http://www.apache.org

  mod_perl nbsp;wangzhanwangzhi: nbsp;http://perl.apache.org nbsp;

  CPAN nbsp;shi nbsp;Perl nbsp;zonghediancangwangdesuoxieComprehensive nbsp;Perl nbsp;Archive nbsp;Network. nbsp;zhuzhanwangzhishihttp://cpan.org/. nbsp;

  shijiefanweineiCPAN nbsp;dejingxiangzhandianyou nbsp;100 nbsp;duoge

  原文
 
 
  就像大家从以前的文章里看到的,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   正在追加安装信息到 nbsp;/home/stas/lib/perl5/perllocal.pod   如果你不得不用显式目的参数,那么不用单个PREFIX参数,你会发现建立一个被调用的文件很有用。   例如, nbsp;/.perl_dirs nbsp;(这里 nbsp;在我们的例子中是 nbsp;/home/stas) nbsp;的内容包含: 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   从现在起,任何时候你想本地化安装Perl模块就可以这样执行: nbsp;   % nbsp;perl nbsp;Makefile.PL nbsp;`cat nbsp;/.perl_dirs`   % nbsp;make   % nbsp;make nbsp;test   % nbsp;make nbsp;install   用这个方法,你可以很容易地保持不同Perl模块的存储。例如,你可以一个用作production nbsp;Perl,另一个用作开发。 nbsp;   % nbsp;perl nbsp;Makefile.PL nbsp;`cat nbsp;/.perl_dirs.production`   或者 nbsp;   % nbsp;perl nbsp;Makefile.PL nbsp;`cat nbsp;~/.perl_dirs.develop`   编写你自己的脚本找到本地已安装模块   这些Perl模块通常都放在四个主要目录。为了找到这些目录,执行: nbsp;   % nbsp;perl nbsp;-V   输出包含重要的perl安装信息。最后你将看到: nbsp;   Characteristics nbsp;of nbsp;this nbsp;binary nbsp;(from nbsp;libperl):   Built nbsp;under nbsp;linux   Compiled nbsp;at nbsp;Apr nbsp;6 nbsp;1999 nbsp;23:34:07   @INC:   /usr/lib/perl5/5.00503/i386-linux   /usr/lib/perl5/5.00503   /usr/lib/perl5/site_perl/5.005/i386-linux   /usr/lib/perl5/site_perl/5.005   .   这向我们表明Perl特殊变量@INC的内容,这个特殊变量通常被Perl用来查找模块的。它等价于Unix nbsp;shells里的PATH环境变量,是用来查找可执行程序的。   注意Perl也在.目录(代表当前目录)查找模块,这是在以上输出目录里的最后的入口路径。当然,这个例子来自5.00503版本的perl, nbsp;它安装在我的x86结构PC的Linux中。这就是为什么你看到了i386-linux和5.00503. nbsp;如果你的系统运行着不同版本的perl、操作系统、处理器或者芯片结构,那么一些目录会有不同的名字。   我也安装了perl nbsp;5.6.1版本到 nbsp;/usr/local/lib/ nbsp;,所以当我这么做: nbsp;   % nbsp;/usr/local/bin/perl5.6.1 nbsp;-V   你会看到: nbsp;   @INC:   /usr/local/lib/perl5/5.6.1/i586-linux   /usr/local/lib/perl5/5.6.1   /usr/local/lib/site_perl/5.6.1/i586-linux   /usr/local/lib/site_perl   注意这还是Linux, nbsp;但是较新的perl版本用了奔腾的处理器(所以是i586而不是i386)。这对奔腾处理器的编译优化有用,当二进制Perl扩展被创建时。   所有平台指定的文件,象已编译的C文件用XS或者SWIG去粘合Perl,应该进入类似i386-linux目录。   重点:当我们已经安装了Perl模块进入非标准目录,我们不得不让Perl知道去哪里搜索这四个目录。有两个实现方法:你可以设置PERL5LIB nbsp;环境变量或者你可以在你的脚本中修改@INC变量。   假设我们用Perl nbsp;5.00503版本,在我们的例子中目录如下: nbsp;   /home/sbekman/lib/perl5/5.00503/i386-linux   /home/sbekman/lib/perl5/5.00503   /home/sbekman/lib/perl5/site_perl/5.005/i386-linux   /home/sbekman/lib/perl5/site_perl/5.005   就象前面提到的,你能通过perl nbsp;-V找到确切的目录并用你自己的私人目录代替全局的perl安装基目录。   修改 nbsp;@INC nbsp;是很容易的。最好的途径是用lib模块(编译指示), nbsp;通过在你的脚本最上方加入以下代码片段,这些代码需要本地化已经安装的模块:   use nbsp;lib nbsp;qw(/home/stas/lib/perl5/5.00503/   /home/stas/lib/perl5/site_perl/5.005);   另一个途径是写代码显式修改@INC: nbsp;   BEGIN nbsp;{   unshift nbsp;@INC,   qw(/home/stas/lib/perl5/5.00503   /home/stas/lib/perl5/5.00503/i386-linux   /home/stas/lib/perl5/site_perl/5.005   /home/stas/lib/perl5/site_perl/5.005/i386-linux);   }   注意既然它们如果存在会自动加入(确切地说,当$dir/$archname/auto存在的时候),那么用lib模块我们不必列出一致的结构指定目录。   而且,注意到两种途径都预先考虑到@INC里被搜索的目录。这就允许你安装一个更新的模块加入你的本地库。Perl会用这个模块取代已经安装在系统库里的旧模块。   两种途径都是在编译期间修改 nbsp;@INC nbsp;的值。这个lib模块也用BEGIN块,但是是内部地。   现在,让我假设如下情景。我已经在我的本地库中安装了 nbsp;LWP nbsp;包. nbsp;现在我想安装另一个模块(例如 nbsp;mod_perl) nbsp;,这个模块有在它的首选列表中列出的 nbsp;LWP。我知道我已经安装 nbsp;LWP nbsp;,但是当我为了准备安装的模块运行perl nbsp;Makefile.pl,我被告知我没有安装LWP。   Perl没有办法知道我们有本地已经安装的模块。所有这些都在@INC里列出的目录搜索中。既然后者包含只有4个缺省目录(加上 nbsp;.目录),那么它不可能找到本地安装的 nbsp;LWP nbsp;包。我们不能通过加入代码修改@INC来解决这个问题,而要改变PERL5LIB环境变量才能解决。如果你正在用tcsh解决交互工作,那么这样做: nbsp;   setenv nbsp;PERL5LIB nbsp;/home/stas/lib/perl5/5.00503:   /home/stas/lib/perl5/site_perl/5.005   它应该是带目录的单行,并且目录是被冒号(:)和非空格所分开。如果你是bash用户,那么这么做: nbsp;   export nbsp;PERL5LIB=/home/stas/lib/perl5/5.00503:   /home/stas/lib/perl5/site_perl/5.005   同样,写成单行。如果你用bash,那么你能通过反斜杆()来输入多行命令,象这样: nbsp;   export nbsp;PERL5LIB=/home/stas/lib/perl5/5.00503:   /home/stas/lib/perl5/site_perl/5.005   由于用lib,所以如果存在,Perl自动会预先考虑结构指定目录到 nbsp;@INC nbsp;.   当我们这么做的时候,我们就要象以前那样通过执行perl nbsp;-V来确认@INC新配置的值。你应该看到 nbsp;@INC nbsp;修改的值: nbsp;   % nbsp;perl nbsp;-V   Characteristics nbsp;of nbsp;this nbsp;binary nbsp;(from nbsp;libperl): nbsp;   Built nbsp;under nbsp;linux   Compiled nbsp;at nbsp;Apr nbsp;6 nbsp;1999 nbsp;23:34:07   %ENV:   PERL5LIB=”/home/stas/lib/perl5/5.00503:   /home/stas/lib/perl5/site_perl/5.005” nbsp;   @INC:   /home/stas/lib/perl5/5.00503/i386-linux   /home/stas/lib/perl5/5.00503   /home/stas/lib/perl5/site_perl/5.005/i386-linux   /home/stas/lib/perl5/site_perl/5.005   /usr/lib/perl5/5.00503/i386-linux   /usr/lib/perl5/5.00503   /usr/lib/perl5/site_perl/5.005/i386-linux   /usr/lib/perl5/site_perl/5.005   .   当一切都如你所愿的那样工作时,加入这些命令到 nbsp;.tcshrc nbsp;或者 nbsp;.bashrc nbsp;文件. nbsp;当下次你启动shell的时候,环境将会为你准备好与新的Perl一起工作。   注意,如果你设置了 nbsp;PERL5LIB nbsp;, nbsp;那么你不必在你的脚本中改变 nbsp;@INC nbsp;的值。但是如果, nbsp;举例说, nbsp;其他人 nbsp;(不想在 nbsp;shell中设置的人)想执行你的脚本,那么Perl就不能找到你本地安装的模块。最好的例子就是 nbsp;crontab nbsp;脚本,可以用不同的SHELL环境,因此,不能进行PERL5LIB的设置。   于是最好的途径就是象上面所描述的,既设置PERL5LIB环境变量又在脚本开头修改 nbsp;@INC nbsp;扩展代码。   CPAN.pm nbsp;Shell nbsp;和 nbsp;本地安装模块   CPAN.pm nbsp;shell nbsp;在处理perl模块安装和保持更新的时候保存了大量的时间。它为我们做了这项工作,尽管在首选列表中检查到的丢失模块,取出它们并安装。所以你会想知道你是否能用 nbsp;CPAN.pm nbsp;也来保持你的本地库。   当你开始启动 nbsp;CPAN nbsp;交互Shell的时候, nbsp;它会首先搜索用户私人配置文件和系统文件。当我作为stas用户被记录时,安装的两个文件会是: nbsp;   /home/stas/.cpan/CPAN/MyConfig.pm   /usr/lib/perl5/5.00503/CPAN/Config.pm   如果你的系统没有 nbsp;CPAN nbsp;Shell,那么当你第一次启动shell时,它会问你一系列问题,然后为你建立Config.pm文件。   如果你已经有一个系统配置,那么你应该有/usr/lib/perl5/5.00503/CPAN/Config.pm. nbsp;如果你有不同版本的Perl,那么在找文件的时候修改路径用你的Perl的版本号。新建目录(mkdir nbsp;-p nbsp;立刻新建整个路径),该目录就是本地配置文件将放的地方: nbsp;   % nbsp;mkdir nbsp;-p nbsp;/home/stas/.cpan/CPAN   现在复制哈系统配置文件到本地。 nbsp;   % nbsp;cp nbsp;/usr/lib/perl5/5.00503/CPAN/Config.pm nbsp;   /home/stas/.cpan/CPAN/MyConfig.pm   唯一留下的事情是在你的本地文件改变 nbsp;.cpan nbsp;基目录到你的私人目录下。在我的机器里,我用 nbsp;/home/stas nbsp;取代 nbsp;/usr/src/.cpan nbsp;(这就是我的 nbsp;.cpan nbsp;系统目录所在地方)。我当然用perl! nbsp;   % nbsp;perl nbsp;-pi nbsp;-e nbsp;’s|/usr/src|/home/stas|’ nbsp;   /home/stas/.cpan/CPAN/MyConfig.pm   现在你已经有本地配置文件。当执行 nbsp;perl nbsp;Makefile.PL nbsp;的时候,你可以告诉它你必须传递什么参数。   用你最喜欢的编辑器打开该文件并替换下行: nbsp;   ‘makepl_arg’ nbsp;=> nbsp;q[],   采用: nbsp;   ‘makepl_arg’ nbsp;=> nbsp;q[PREFIX=/home/stas],   现在你已经完成了配置。假设你作为同样的用户登陆并准备好了本地安装(我们的例子是 nbsp;stas),象这样开始: nbsp;   % nbsp;perl nbsp;-MCPAN nbsp;-e nbsp;shell   从现在起,任何你想安装的模块都会被本地化安装。如果你必须安装一些系统模块,那么就成为超级用户并用同样的方法进行安装。当你以超级用户登陆时,系统配置文件将被用而不是本地的。   如果你已经用了不只一个PREFIX变量,然后修改 nbsp;MyConfig.pm nbsp;去用他们. 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;PREFIX=/home/stas nbsp;: nbsp;   ‘makepl_arg’ nbsp;=> nbsp;q[PREFIX=/home/stas] nbsp;   于是该行变成: nbsp;   ‘makepl_arg’ nbsp;=> nbsp;q[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;Apache   就像 nbsp;Perl nbsp;模块一样, nbsp;如果你没有权限安装文件到系统区,那么你不得不本地化安装它们到你的私人目录。这几乎跟简单安装一样,但是你不得不运行侦听端口号大于1024的服务器,因为只有root进程才能侦听小于1024的端口号。   另一个重要的问题你必须解决的是如何把启动关闭脚本作为系统服务写入目录里。你将不得不向你的系统管理员寻求帮助。   为了本地化安装Apache, nbsp;所有你必须做的是告诉Apache源代码目录里的.configure文件应该用那些目的目录。如果你按照我的约定使你的私人目录看起来象 nbsp;/ nbsp;根目录一样,那么期望的参数将是: nbsp;   ./configure―prefix=/home/stas   Apache nbsp;会用前缀来代替目的目录其余部分,而不是缺省的 nbsp;/usr/local/apache. nbsp;如果你想知道它们是什么,那么运行之前加上―show-layout nbsp;选项: nbsp;   ./configure―prefix=/home/stas―show-layout   你可能想按照Apache的约定把Apache所有的文件放在 nbsp;/home/stas/apache nbsp;下: nbsp;   ./configure―prefix=/home/stas/apache   如果你想修改一些或者所有自动创建的目录的名字: nbsp;   ./configure―prefix=/home/stas/apache nbsp;   ―sbindir=/home/stas/apache/sbin   ―sysconfdir=/home/stas/apache/etc   ―localstatedir=/home/stas/apache/var nbsp;   ―runtimedir=/home/stas/apache/var/run nbsp;   ―logfiledir=/home/stas/apache/var/logs nbsp;   ―proxycachedir=/home/stas/apache/var/proxy   就这些!   而且记住你只能在属于你的用户和用户组下运行该脚本。 nbsp;你必须在httpd.conf里设置合适的值给用户和组项。   手动安装本地 nbsp;mod_perl nbsp;启用 nbsp;Apache   既然我们知道如何分开安装Apache和Perl模块,那就让我们来看看如何在我们的私人目录安装mod_perl启用Apache。这几乎跟分开安装一样简单,但是有一个问题你需要知道的,这在本部分的最后我会提到。   假设你解包 nbsp;Apache nbsp;和 nbsp;mod_perl nbsp;源代码到 nbsp;/home/stas/src nbsp;目录下,就像这样: nbsp;   % nbsp;ls nbsp;/home/stas/src   /home/stas/src/apache_x.x.x   /home/stas/src/mod_perl-x.xx   这里的 nbsp;x.xx nbsp;是跟以前一样的版本号。你想从已安装在 nbsp;/home/stas/lib/perl5 nbsp;下的 nbsp;mod_perl nbsp;包中得到Perl模块和 nbsp;/home/stas/apache nbsp;目录下的 nbsp;Apache nbsp;文件。以下命令是这么做的: nbsp;   % nbsp;perl nbsp;Makefile.PL nbsp;   PREFIX=/home/stas nbsp;   APACHE_PREFIX=/home/stas/apache nbsp;   APACHE_SRC=../apache_x.x.x/src nbsp;   DO_HTTPD=1 nbsp;   USE_APACI=1 nbsp;   EVERYTHING=1   % nbsp;make nbsp;&& nbsp;make nbsp;test nbsp;&& nbsp;make nbsp;install nbsp;   % nbsp;cd nbsp;../apache_x.x.x   % nbsp;make nbsp;install   如果你需要一些参数传递给 nbsp;.configure nbsp;脚本, nbsp;就像我们在以前的章节里看到的,那么就用 nbsp;APACI_ARGS. nbsp;例如: nbsp;   APACI_ARGS=’―sbindir=/home/stas/apache/sbin, nbsp;   ―sysconfdir=/home/stas/apache/etc, nbsp;   ―localstatedir=/home/stas/apache/var, nbsp;   ―runtimedir=/home/stas/apache/var/run, nbsp;   ―logfiledir=/home/stas/apache/var/logs, nbsp;   ―proxycachedir=/home/stas/apache/var/proxy’   注意以上多行分开只工作在bash下, nbsp;tcsh用户将不得不在同一行列出所有参数。   基本上安装结束。唯一留下的问题是 nbsp;@INC nbsp;变量。如果你依赖 nbsp;PERL5LIB nbsp;环境变量,那么@INC nbsp;将不会被正确设置,除非你在你的启动文件中显式设置它。启动文件必须在装载任何你的本地库模块之前启动。一个更好的途径就像我们以前看到的,是用lib编译指示,但是稍微有点不同的地方:我们在启动文件中用这种方法将会影响所有在mod_perl处理下的代码将会被执行。例如: nbsp;PerlRequire nbsp;/home/stas/apache/perl/startup.pl nbsp;这里的 nbsp;startup.pl nbsp;以这样开始: nbsp;   use nbsp;lib nbsp;qw(/home/stas/lib/perl5/5.00503/   /home/stas/lib/perl5/site_perl/5.005);   注意你仍可以在脚本中用硬编码的 nbsp;@INC nbsp;的修改, nbsp;但意识到脚本修改BEGIN块里的 nbsp;@INC, nbsp;而mod_perl nbsp;只在脚本编译的时候才执行 nbsp;BEGIN块。结果,@INC nbsp;将会在编译以后被原始值复位,硬编码的设置将会被遗忘。   只有一个地方你可以改变“原始”值是在启动文件或者放 nbsp;   PerlSetEnv nbsp;Perl5LIB nbsp;   /home/stas/lib/perl5/5.00503/:/home/stas/lib/perl5/site_perl/5.005   到 nbsp;httpd.conf的服务器配置阶段, nbsp;但是后者设置如果你用 nbsp;PerlTanintcheck nbsp;设置将会被忽略。我希望你能这样用它。   接下来的mod_perl nbsp;配置和使用是一样的,就好像你正在以超级用户身份安装mod_perl一样。   用 nbsp;CPAN.pm nbsp;进行本地安装 nbsp;mod_perl nbsp;启用 nbsp;Apache nbsp;假设你已经像文章前面所解释的配置 nbsp;CPAN.pm nbsp;来安装Perl模块,那么安装就简单了。   启动 nbsp;CPAN.pm nbsp;shell, nbsp;设置参数传递给 nbsp;perl nbsp;Makefile.PL nbsp;(修改例子设置适合你的需要), nbsp;然后告诉 nbsp;为你去做剩下的事: nbsp;   % nbsp;perl nbsp;-MCPAN nbsp;-eshell   cpan> nbsp;o nbsp;conf nbsp;makepl_arg nbsp;‘DO_HTTPD=1 nbsp;USE_APACI=1 nbsp;EVERYTHING=1 nbsp;   PREFIX=/home/stas nbsp;APACHE_PREFIX=/home/stas/apache’   cpan> nbsp;install nbsp;mod_perl   当你为了本地化安装用 nbsp;CPAN.pm nbsp;的时候, nbsp;mod_perl nbsp;安装结束之后你必须确认 nbsp;makepl_arg nbsp;是否被回复到原始值。最简单的方法是通过输入 nbsp;quit退出交互Shell然后重新输入。但是如果要坚持,那么下面就是如果不退出Shell就生效. nbsp;你真的想跳过这个:)   如果你想不退出Shell用CPAN继续工作,那么你必须:   1)记住 nbsp;makepl_arg nbsp;的值   2)改变它以适合你的新安装   3)构建和安装 nbsp;mod_perl   4)安装 nbsp;mod_perl nbsp;之后恢复它   这是相当麻烦的任务,但是我相信 nbsp;CPAN.pm nbsp;最终会被改善,处理起来更容易。   所以你还是跟我一起,那么就像通常一样启动 nbsp;Shell: nbsp;   % nbsp;perl nbsp;-MCPAN nbsp;-eshell   第一,读取 nbsp;makepl_arg nbsp;的值: nbsp;   cpan> nbsp;o nbsp;conf nbsp;makepl_arg   PREFIX=/home/stas   如果你配置CPAN.pm来本地化安装模块,那就会是象 nbsp;PREFIX=/home/stas nbsp;这样的字符串。保存这个值: nbsp;   cpan> nbsp;o nbsp;conf nbsp;makepl_arg.save nbsp;PREFIX=/home/stas   第二,设置一个新值, nbsp;mod_perl nbsp;安装进程会用到它。(你可以根据你的需要加入参数到这行或者删除) nbsp;   cpan> nbsp;o nbsp;conf nbsp;makepl_arg nbsp;‘DO_HTTPD=1 nbsp;USE_APACI=1 nbsp;EVERYTHING=1 nbsp;   PREFIX=/home/stas nbsp;APACHE_PREFIX=/home/stas/apache’   第三, nbsp;让 nbsp;为你构建和安装 nbsp;mod_perl: nbsp;   cpan> nbsp;install nbsp;mod_perl   第四, nbsp;复位makepl_arg到原始值.我们可以通过打印这些保存的变量值然后分配给 nbsp;makepl_arg来实现. nbsp;   cpan> nbsp;o nbsp;conf nbsp;makepl_arg.save   PREFIX=/home/stas   cpan> nbsp;o nbsp;conf nbsp;makepl_arg nbsp;PREFIX=/home/stas   不是很简明,但却是一个有效方法。你可以在一张纸条上写下这个值,而不是保存在 nbsp;makepl_arg.save, nbsp;但是这样你更可能犯错误。 nbsp;参考   Apache nbsp;网站网址: nbsp;http://www.apache.org   mod_perl nbsp;网站网址: nbsp;http://perl.apache.org nbsp;   CPAN nbsp;是 nbsp;Perl nbsp;综合典藏网的缩写(Comprehensive nbsp;Perl nbsp;Archive nbsp;Network). nbsp;主站网址是http://cpan.org/. nbsp;   世界范围内,CPAN nbsp;的镜像站点有 nbsp;100 nbsp;多个。   
󰈣󰈤
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

网络安全治理:国家安全保障的主要方向是打击犯罪,而不是处置和惩罚受害者

来源:中国青年报 新的攻击方法不断涌现,黑客几乎永远占据网络攻击的上风,我们不可能通过技术手段杜绝网络攻击。国家安全保障的主要方向是打击犯罪,而不是处置和惩罚...

 
 
 
>>返回首页<<
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 
 热帖排行
 
清纯得让人窒息(7)
清纯得让人窒息(6)
天泽海韵宣传片
赣州文庙
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
©2005- 王朝网络 版权所有