Шеф-повар правильный способ загрузить новый RPM и установить пакет
Я пытаюсь установить последнюю версию php на коробку centos и я изо всех сил.
Кулинарная книга, на которую я смотрел, является опкодом: 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
Как это приводит к использованию chef (соло) для установки php 5.5?
2 ответа
Он всегда работает путем установки из исходного кода, но yum предпочтительнее установить rpm для управления зависимостями и обновлениями.
Если вам нужен только php v5.3, используйте php cookbook, где по умолчанию установлен php53 из CentOS yum repo.
Если вы хотите php v5.5, вы можете просто предоставить другой рецепт, включающий репозиторий yum, содержащий php55, такой как Webtatic EL yum репозиторий или 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']
в вашем объекте node/environment/role для установки php v5.5 через поваренную книгу opscode php:
node['php']['packages'] = ['php55w', 'php55w-devel', 'php55w-cli', 'php55w-pear']
По умолчанию в 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, посмотрите, можно ли устанавливать RPM-пакеты с URL-адреса в рецептах.