AppleまたはRedHatの組み込みApacheを使用したいのですが、Perl5.10とmod_perlを使用したいと思います。これを達成するための最も邪魔にならない方法は何ですか?ベンダーのApache、dav、phpなどの無料のセキュリティパッチの利点が欲しいのですが、使用するPerlのバージョンと@INCパスに何があるかについては非常に気にしています。自分のmod_perlをコンパイルしてもかまいません。
3 に答える
mod_perl ドキュメントの特別な指示に従って、Perl 5.10 のバージョンをビルドします。/usr/local/perl/5.10.0 のような非標準の場所にインストールするように Perl コンフィギュレーターに指示します。
ディストリビューションの Apache に対して共有ライブラリ (または動的、または .so) mod_perl をビルドする手順を使用しますが、perl のバージョンを使用して Makefile.PL を実行するようにしてください。
/usr/local/perl/5.10.0/bin/perl Makefile.PL APXS=/usr/bin/apxs
通常どおり mod_perl をインストールして構成します。
ステップ 1 の後、使用している Perl のバージョンについて誤って混乱しないように、パスを変更すると役立つ場合があります。
export PATH=/usr/local/perl/5.10.0/bin:$PATH
私は前にこれをしました。きれいではありませんでしたが、特にベンダーのperlは通常2〜3歳であるため、機能しました。
私は、perlを別の場所にインストールする独自のperlRPMを作成することから始めました/opt/
。これは非常に簡単でした。新しいモジュールをアップグレード/インストールしたときにperlを使用していたシステムユーティリティが壊れたくないので、私は主にこれから始めました。一番上に指定するようにすべてのスクリプトを変更する#!/opt/bin/perl
必要があり、Perlが最初に来るようにパスをいじることさえありました。
次に、mod_perlソースRPMを取得し、の/opt/bin/perl
代わりにmyを使用するように変更しました/usr/bin/perl
。別のギグだったので、自分が行った変更にアクセスできません。それを手に入れるのに少し遊んだ。
動作しましたが、私はRPMウィザードではないため、依存関係のチェックはあまりうまくいきませんでした。たとえば、カスタムRPMをアンインストールして、すべてを壊すことができます。それは私にとって大したことではなかったので、私は先に進みました。
また、RPMとモジュールのCPANインストールを混合していました(独自のコードを使用して独自のカスタムCPANミラーを構築したことを述べましたか?)。これも少し壊れやすかったです。繰り返しになりますが、 cpan2rpmを曲げてperlを使用し、RPMの競合を引き起こさないようにする方法を理解するためのリソース(つまり、時間)がありませんでした。
すべてをやり直す必要がある場合は、カスタム5.10 perl RPMを作成し、システムperlを置き換えるだけです。次にcpan2rpm
、ソフトウェアに必要なRPMパッケージを作成し、独自のmod_perlRPMをコンパイルするために使用します。
mod_soを調べる必要があります