当我只使用配方apache :: mod_jk时,为什么配方apache :: default被执行?

时间:2014-03-19 01:48:19

标签: ruby apache chef chef-recipe chef-solo

这是我食谱中的唯一一行

include_recipe "apache2::mod_jk"

这会调用在opscode apache2 cookbook中找到的mod_jk配方,为了简单起见,我将在这里写一下:

package 'libapache2-mod-jk' do
  case node['platform_family']
  when 'rhel', 'fedora', 'suse'
    package_name 'mod_jk'
  else
    package_name 'libapache2-mod-jk'
  end
end

apache_module 'jk'

根据我的理解,这只会安装mod_jk和apache,但apache不会配置为chef,因为我没有使用apache2 :: default ...但是这不会发生,apache2安装和配置使用厨师tempaltes。

这是如何工作的?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

这是因为定义apache_module'jk'在这里调用apache :: default:https://github.com/opscode-cookbooks/apache2/blob/master/definitions/apache_module.rb#L21

您可以制作自己的食谱来安装包。

有关食谱定义的更多信息:http://docs.opscode.com/essentials_cookbook_definitions.html