如何覆盖Chef apache2默认站点模板?

sobi3ch

在Chef apache2 cookbook中,您可以找到node['apache']['default_site_enabled']启用默认站点的属性如果设置为true,则使用此模板apache2/templates/default/default-site.erb但是我发现有固定值AllowOverride None,因此显然您不能通过属性更改它。所以我的问题是如何在自定义菜谱中覆盖它,以便以自己的方式调整此模板?

或者,也许还有其他更好的方法呢?

德拉科·阿特(Draco Ater)

您应该创建自己的包装该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

我没有测试它,但是它应该可以工作。但是,存在1个潜在问题:看起来,"#{node['apache']['dir']}/sites-available/default"每次厨师运行时,文件都将被覆盖,首先是原始模板,然后是您的模板。它会启动apache2重新启动触发器,因此每次厨师运行时都会重新启动apache2服务(但我不确定-您应该对其进行测试!)。如果真是这样,它使您感到困扰,那么唯一的方法是在现有食谱的基础上创建自己的食谱。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Apache2拥有多个站点?

来自分类Dev

使用Chef禁用apache中的默认站点

来自分类Dev

如何获取apache2的默认配置文件?

来自分类Dev

如何获取apache2的默认配置文件?

来自分类Dev

Ubuntu Server 18.04 apache2如何更改默认页面?

来自分类Dev

模板:如何覆盖默认的文件引导sass?

来自分类Dev

如何激活apache2?

来自分类Dev

django:如何实际覆盖管理站点模板

来自分类Dev

如何使用本地Apache2托管网站来覆盖Internet网站?

来自分类Dev

如何使用jenkins在Dockerfile中将apache2默认网页带到我的浏览器中

来自分类Dev

Magento 2-如何覆盖块模板

来自分类Dev

如何正确设置Apache2

来自分类Dev

如何正确设置Apache2

来自分类Dev

如何为Apache2加载模块?

来自分类Dev

如何使用apache2设置https

来自分类Dev

如何删除ppa:ondrej / apache2

来自分类Dev

如何调整apache2的主机?

来自分类Dev

如何安装和启动apache2

来自分类Dev

如何替换Apache2的主页?

来自分类Dev

Chef,Apache2 Cookbook资源从自定义资源调用时找不到服务[apache2]

来自分类Dev

如何覆盖Rails的默认迁移生成器模板

来自分类Dev

如何覆盖默认的Grails环境?

来自分类Dev

如何覆盖默认的Polymer CSS

来自分类Dev

如何从AutoPlugin覆盖默认任务?

来自分类Dev

如何覆盖默认的Grails环境?

来自分类Dev

如何覆盖SSH默认身份?

来自分类Dev

如何覆盖Hadoop的默认排序

来自分类Dev

如何覆盖readthedocs上的模板?

来自分类Dev

kitchen.yml属性不会覆盖默认值-Chef 12.12-Kitchen 1.10