Homebrewでnginxを入れるときに比較的簡単に--add-moduleする方法

なんかHomebrewなネタが続く。

nginxでサードパーティモジュールを入れるときに

./configure --add-module=/path/to/module1/source

とかすると思うんですが、Homebrewでnginxいれようとすると、あらかじめ定義されたモジュールしか入れられないっぽい。
仕方ないので、普通にFormulaいじるかーと思ったものの一応ぐぐったらすでに汎用的に使えるFormulaを書いてくれてる人がちらほら。
ポリシーに沿わないとかで、残念ながら本流には取り込まれていないようですが、実用に問題はないと思われます。

件のPull Requestは→: Compile nginx w/external modules by kevsmith · Pull Request #6600 · Homebrew/legacy-homebrew · GitHub

そのまま使おうと思ったけど、結構古いFormulaがベースなので、ついでに最近のFormulaをベースにマージしたものを作成してから使うことに。

それがこれ→ [Homebrew] nginx w/external modules · GitHub

こんな感じで使う。今回はHttpHeadersMoreModuleを入れてコンパイルする例。

git clone https://github.com/agentzh/headers-more-nginx-module.git
cd headers-more-nginx-module
brew install https://raw.github.com/gist/3691439/d3588835afe9656dcc7079b07bebcb5b08b1c468/nginx.rb --with-module=`pwd`

そのほかリンカオプションも渡せるみたい。上述のPull Requestのページに例が載ってます。



ところでこのnginxのformulaに--with-passengerなんてオプションがあるけどPATHが引き継がれないからかRVM使ってるとうまくインストールできない。passenger-configみつからないって怒られる。
仕方ないのでこの--with-moduleでrvm環境下のpassengerのパス渡してインストールした。今のところ特に問題なし。