chefのapache2レシピで特定のモジュールを有効化する
Chefのapache2レシピを使った構築したapache環境で任意のモジュールを有効化する手順です。
apache2のレシピ中、web_appでバーチャルホストを作成するレシピをローカルに作成していることが前提です。私の環境ではsite-cookbook以下にapache22というレシピを作成して、recipe/default.rbの先頭にこんな行があります。
include_recipe 'apache2'
レシピに有効化するモジュールを記述
apache_moduleというリソースを使います。mod_infoを追加する場合は以下の通り。
apache_module "info" do conf true end
コンフィグレーションファイルのテンプレートをコピーする
cookbooks/apache2/templates/default/mods/info.conf.erbをsite-cookbooks/apache22/templates/default/modsへコピー。 default/modsディレクトリがない場合は作成する。
$ cp cookbooks/apache2/templates/default/mods/info.conf.erb site-cookbooks/apache22/templates/default/mods
レシピを適用
$ knife solo cook -o apache22 server_name