[英]How do I use a vendor Apache with a self-compiled Perl and mod_perl?
我想使用Apple或RedHat的內置Apache,但我想使用Perl 5.10和mod_perl。 什么是最不干擾的方式來實現這一目標? 我希望為供應商的Apache,dav,php等提供免費安全補丁的優勢,但我非常關心我使用的Perl版本以及@INC路徑中的內容。 我不介意編譯我自己的mod_perl。
按照mod_perl文檔中的任何特殊說明構建您的Perl 5.10版本。 告訴Perl配置器安裝在一些非標准的地方,比如/usr/local/perl/5.10.0
使用說明針對您的發行版的Apache構建共享庫(或動態或.so)mod_perl,但請確保使用您的perl版本運行Makefile.PL:
/usr/local/perl/5.10.0/bin/perl Makefile.PL APXS = / usr / bin / apxs
像普通一樣安裝和配置mod_perl。
在第一步之后,改變您的路徑可能會有所幫助,因此您不會在意外地對您使用的Perl版本感到困惑:
export PATH=/usr/local/perl/5.10.0/bin:$PATH
你想看看mod_so
我之前做過這個。 它不漂亮,但它起作用,特別是因為供應商perl通常是2 - 3年。
我開始創建自己的perl RPM,將perl安裝到不同的位置,例如/opt/
。 這非常簡單。 我主要是從這開始的,因為當我升級/安裝新模塊時,我不希望使用perl的系統實用程序中斷。 我不得不修改我的所有腳本以在頂部指定#!/opt/bin/perl
,有時我甚至玩路徑以確保我的perl首先出現。
接下來,我抓住了一個mod_perl源RPM並修改它以使用我的/opt/bin/perl
而不是/usr/bin/perl
。 我無法訪問我所做的更改,因為它是在不同的演出。 我花了一些時間來玩它。
它確實有效,但我不是一個RPM向導,因此依賴性檢查效果不佳。 例如,我可以卸載我的自定義RPM並中斷所有內容。 對我來說這不是什么大問題,所以我繼續前進。
我還將RPM與CPAN安裝的模塊混合在一起(我提到我們使用自己的代碼構建了自己的自定義CPAN鏡像嗎?)。 這也有點脆弱。 同樣,我沒有資源(即時間)來弄清楚如何彎曲cpan2rpm以使用我的perl而不會導致RPM沖突。
如果我再次完成這一切,我會制作一個自定義的5.10 perl RPM並且只需更換系統perl。 然后我會使用cpan2rpm
來創建我的軟件所需的RPM包,並編譯我自己的mod_perl RPM。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.