簡體   English   中英

如何使用自編譯的Perl和mod_perl的供應商Apache?

[英]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。

  1. 按照mod_perl文檔中的任何特殊說明構建您的Perl 5.10版本。 告訴Perl配置器安裝在一些非標准的地方,比如/usr/local/perl/5.10.0

  2. 使用說明針對您的發行版的Apache構建共享庫(或動態或.so)mod_perl,但請確保使用的perl版本運行Makefile.PL:

    /usr/local/perl/5.10.0/bin/perl Makefile.PL APXS = / usr / bin / apxs

  3. 像普通一樣安裝和配置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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM