Apacheのバージョンに応じて異なるファイルをLoadModuleする構成ブロック(インクルードファイル内)が必要です。
例えば
<some kind of magic detecting apache 2.2>
LoadModule my_module /usr/local/my/module22.so
<else if apache 2.4>
LoadModule my_module /usr/local/my/module24.so
<end magic>
これを行う簡単な方法はありますか?
私の質問の長いバージョン: 22 バージョンと 24 バージョンの両方をビルドする apache モジュールがあります。運用サーバーでは、両方のモジュールがインストールされています。どのバージョンの apache を実行するか、または起動オプションを制御することはできません (したがって、ディレクティブを排除します)。
おおよそ次のようなメイン構成ファイルに含まれる小さな構成スタブ ファイルがあります。
LoadModule my_module /usr/local/my/module22.so
<IfModule my_module>
..... some config stuff that is valid for either version
</IfModule>
モジュール自体は両方のバージョンの apache とソース コード互換性がありますが、モジュール API はバイナリ互換性がないため、別のバイナリが必要です。
ほとんどのサーバーは 2.2 を使用しており、一部のサーバーは 2.4 を使用しており、すべて私の制御範囲外です。正しいことが自動的に行われるようにしたいのですが、まだ方法が見つかりません。何をするにしても、2.2 と 2.4 の両方と構文互換性がある必要があります。アイデア?
または、他の方法はありますか