厨师长:安装多个Wordpress站点

厨师长:安装多个Wordpress站点,wordpress,chef-infra,Wordpress,Chef Infra,我使用Chef在单个节点上部署Wordpress站点。我在超级市场上使用包装材料配方。我不知道如何告诉我的包装器cookbook在多个目录上安装wordpress文件:这里需要设置属性来定义安装目录 node['wordpress']['dir'] = '<path for the install dir' 我在我的食谱文件中也尝试过类似的东西 以下是我尝试创建文件夹的方式: node['apps'].each do |app| directory "/home/wordpress

我使用Chef在单个节点上部署Wordpress站点。我在超级市场上使用包装材料配方。我不知道如何告诉我的包装器cookbook在多个目录上安装wordpress文件:这里需要设置属性来定义安装目录

node['wordpress']['dir'] = '<path for the install dir'
我在我的食谱文件中也尝试过类似的东西

以下是我尝试创建文件夹的方式:

 node['apps'].each do |app|
  directory "/home/wordpress-user/#{app}" do
  owner node['wordpress']['user']
  group node['wordpress']['group']
  mode '0755'
  action :create
  Chef::Log.info "App files will be installed under /home/wordpress-user/#{app}"
  not_if { File.exist?("/home/wordpress-user/#{app}")}
  end
end
然后我试图告诉它在一个循环中安装wordpress文件

 node.default['apps'].each do |app|
     node.override['wordpress']['dir'] = "/home/wordpress-user/#{app}"
 end

但不知何故,这是行不通的。我肯定我做错了什么。我对厨师很陌生。请帮助..

在您的案例中,我将从头开始编写wordpress配方,因为您描述的内容将保存属性节点['wordpress']['dir']=/home/wordpress user/app4,因为它覆盖现有属性。 请退房

我将使用:

node.default['apps'].each do |app|
  node.override['wordpress']['dir'][app] = "/home/wordpress-user/#{app}"

  directory node['wordpress']['dir'][app] do
    owner node['wordpress']['user']
    group node['wordpress']['group']
    mode '0755'
    action :create
    Chef::Log.info "App files will be installed under /home/wordpress-user/#{app}"
    not_if { File.exist?(node['wordpress']['dir'][app])}
  end

  bash "extract wp code to #{app}" do
    cwd node['wordpress']['dir'][app]
    code "tar -zxf #{sourcecode}"
  end
end
致以最良好的祝愿, 阿列克西

在您的情况下,我将在apache配置中分别配置每个应用程序,配置数据库并提取wordpress源代码

node.default['apps'].each do |app|
  node.override['wordpress']['dir'][app] = "/home/wordpress-user/#{app}"

  directory node['wordpress']['dir'][app] do
    owner node['wordpress']['user']
    group node['wordpress']['group']
    mode '0755'
    action :create
    Chef::Log.info "App files will be installed under /home/wordpress-user/#{app}"
    not_if { File.exist?(node['wordpress']['dir'][app])}
  end

  bash "extract wp code to #{app}" do
    cwd node['wordpress']['dir'][app]
    code "tar -zxf #{sourcecode}"
  end
end