你应该创建自己的食谱来包装这个apache2食谱,我们称之为apache2_wrap。创建您自己的* apache2_wrap/templates/default/default-site.erb *模板并按照您需要的方式设置值。你的食谱应该是这样的:
include_recipe 'apache2::default' #or whatever apache2 recipe you need
#enable default site yourself
template "#{node['apache']['dir']}/sites-available/default" do
source 'default-site.erb'
owner 'root'
group node['apache']['root_group']
mode '0644'
notifies :restart, 'service[apache2]'
end
apache_site 'default' do
enable true
end
我没有测试它,但它应该工作。但是有一个潜在的问题:看起来这个"#{node['apache']['dir']}/sites-available/default"
文件将在每次运行厨师时被覆盖,首先是原始模板,然后是你的。其中启动apache2重新启动触发器,因此apache2服务将重新启动每个厨师运行(但我不知道 - 你应该测试它!)。如果是这种情况,并且困扰你,那么唯一的方法就是根据现有的食谱制作你自己的食谱。
谢谢。这就是我在一段时间后所发现的。 – sobi3ch