我对厨师很陌生。我正在使用apache2-windows食谱来配置流浪汉开发环境,这在文档方面很不方便。我已经设法让它安装,甚至可以很好地使用opscodes php食谱,但是我很难让它设置一个虚拟主机。
到目前为止,我添加了vhosts' extra'到/attributes/default.rb就像这样:
default['apache']['windows']['extras'] = ["vhosts"]
成功添加了一个' vhosts.d'目录到apache root,包括httpd.conf中的httpd-vhosts.conf,并在httpd-vhosts.conf中添加一个条目,其中包含* .conf中的&.vhosts.d'目录。
不幸的是,我无法弄清楚如何使用随配方提供的虚拟主机资源,看起来它应该将我的虚拟主机放入' vhosts.d'使用/templates/default/virtualhost.conf.erb模板。
我已将以下内容添加到/recipes/default.rb
virtualhost "mysite.localhost" do
server_aliases ["www.mysite.localhost"]
docroot "/vagrant"
action :create
end
但它失败了,告诉我“没有任何资源或方法名为' virtualhost'对于' Chef :: Recipe"默认"'。
我错过了什么?我还需要做些什么才能让我在配方中使用虚拟主机资源吗?
答案 0 :(得分:1)
这是对图书馆烹饪书/ LWRP的警告之一,他们的名字来源于食谱名称。
Doc是HERE
如果apache2-windows不在运行列表中,则必须在cookbook metadata.rb中使用depends 'apache2-windows'
定义它。
但这里的主要问题是虚拟主机资源由于两件事而被命名为apache2_windows_virtualhost
:
cookbook_resource
-
,因此他们会神奇地'已转换为_
以进行资源调用。tl; dr; 使用此
apache2_windows_virtualhost "mysite.localhost" do
server_aliases ["www.mysite.localhost"]
docroot "/vagrant"
action :create
end