2013-08-11 7 views
9

Я пытаюсь установить последнюю версию php на коробке centos и боюсь.Шеф-повар правильный способ загрузки новых об/мин и установки пакета

Поваренная книга я смотрел на это 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 

Как это перевести с помощью шеф-повара (соло), чтобы получить PHP 5,5 установлен?

ответ

1

По умолчанию в cookbook php используются готовые пакеты для установки PHP на Enterprise Linux. Вы можете изменить атрибут install_method в attributes/default.rb на источник

default['php']['install_method'] = 'source' 

Кроме того, необходимо изменить default['php']['version'], default['php']['checksum'] или опции компиляции default['php']['configure_options'] и т.д., чтобы заставить его работать.

Если вы хотите использовать предварительно скомпилированные пакеты, ознакомьтесь сChef's, посмотрите, можно ли устанавливать пакеты RPM из URL-адреса в рецептах.

9

Он всегда работает путем установки из источника, но yum предпочитает устанавливать rpm для управления зависимостями и обновлениями.

Если вы просто хотите использовать php v5.3, используйте cookie php, где по умолчанию устанавливается php53 из CentOS yum repo.

Если вы хотите PHP v5.5, вы можете просто предоставить еще один рецепт, чтобы включать в себя хранилище ня содержит php55 как Webtatic EL yum repository или servergrove.com:

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'] в вашем узле/объект окружения/роли для установки php v5.5 с помощью справочной книги opscode php:

node['php']['packages'] = ['php55w', 'php55w-devel', 'php55w-cli', 'php55w-pear']