Mar*_*ace 10 sysadmin provisioning chef-infra vagrant chef-solo
我正在尝试在centos盒子上安装最新版本的php并且正在努力.
我一直在看的食谱是opscode:https://github.com/opscode-cookbooks/php
它看起来不像我可以使用它安装PHP 5.5.
要手动安装,我只需执行以下操作(在centos 6.4上):
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
yum install php55w php55w-opcache
Run Code Online (Sandbox Code Playgroud)
这如何转化为使用chef(solo)来安装php 5.5?
sha*_*zhu 13
它始终通过从源安装来工作,但yum首选安装rpm来管理依赖项和更新.
如果您只想要php v5.3,请继续使用php cookbook,默认选项是从CentOS yum repo安装php53.
如果你想要php v5.5,你可以提供另一个配方来包含一个yum存储库,其中包含像Webtatic EL yum存储库或servergrove.com这样的php55:
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
Run Code Online (Sandbox Code Playgroud)
然后你只需要覆盖node['php']['packages']你的node/environment/role对象中的属性,通过opscode php cookbook安装php v5.5:
node['php']['packages'] = ['php55w', 'php55w-devel', 'php55w-cli', 'php55w-pear']
Run Code Online (Sandbox Code Playgroud)
默认情况下,php 手册使用预构建的软件包在 Enterprise Linux 上安装 PHP。您可以将install_method属性更改attributes/default.rb为源
default['php']['install_method'] = 'source'
Run Code Online (Sandbox Code Playgroud)
您还需要更改default['php']['version']、default['php']['checksum']或编译选项default['php']['configure_options']等以使其工作。
如果您想使用预编译的软件包,请查看 Chef 的资源和提供程序,看看是否可以从食谱中的 URL 安装 RPM 软件包。
| 归档时间: |
|
| 查看次数: |
14271 次 |
| 最近记录: |