Chef infra 以正确的方式加载新rpm并安装软件包

Chef infra 以正确的方式加载新rpm并安装软件包,chef-infra,vagrant,provisioning,sysadmin,chef-solo,Chef Infra,Vagrant,Provisioning,Sysadmin,Chef Solo,我正在尝试在centos机器上安装最新版本的php,我正在努力 我一直在看的食谱是opscode: 看起来我无法使用它安装PHP5.5 要手动安装,我只需执行以下操作(在centos 6.4上): 这如何转化为使用chef(solo)安装PHP5.5?默认情况下,php cookbook使用预构建的软件包在Enterprise Linux上安装php。您可以将attributes/default.rb中的install\u方法属性更改为source default['php']['install

我正在尝试在centos机器上安装最新版本的php,我正在努力

我一直在看的食谱是opscode:

看起来我无法使用它安装PHP5.5

要手动安装,我只需执行以下操作(在centos 6.4上):


这如何转化为使用chef(solo)安装PHP5.5?

默认情况下,php cookbook使用预构建的软件包在Enterprise Linux上安装php。您可以将
attributes/default.rb
中的
install\u方法
属性更改为source

default['php']['install_method'] = 'source'
您还需要更改
default['php']['version']
default['php']['checksum']
或编译选项
default['php']['configure_options']
等以使其工作


如果您想使用预编译的软件包,请查看Chef's,看看是否可以从recipes中的URL安装RPM软件包。

它总是通过从源代码安装来工作,但百胜更愿意安装RPM来管理依赖项和更新

如果您只想使用PHPV5.3,请继续使用php食谱,其中默认选项是从CentOS yum repo安装php53

如果您想要php v5.5,只需提供另一个配方,以包含包含php55的yum存储库,如或:

然后,您只需覆盖节点/环境/角色对象中的属性
节点['php']['packages']
,即可通过opscode php cookbook安装php v5.5:

node['php']['packages'] = ['php55w', 'php55w-devel', 'php55w-cli', 'php55w-pear']
remote_file "#{Chef::Config[:file_cache_path]}/webtatic_repo_latest.rpm" do
    source "http://mirror.webtatic.com/yum/el6/latest.rpm"
    action :create
end

rpm_package "jmxtrans" do
    source "#{Chef::Config[:file_cache_path]}/webtatic_repo_latest.rpm"
    action :install
end
node['php']['packages'] = ['php55w', 'php55w-devel', 'php55w-cli', 'php55w-pear']