Я пытаюсь запустить php 5.4 на AWS Opsworks.
Когда я добавляю слой «Сервер приложений PHP», я получаю следующее описание: «Уровень сервера приложений PHP является планом для экземпляров, которые функционируют как серверы приложений PHP. По умолчанию установлены PHP 5.3 и Apache 2.2».
Я пробовал использовать "PHP App Sever" с некоторыми изменениями. Я пробовал рецепты от шеф-повара (из git: //github.com/evopix/opsworks-cookbooks.git): mod_php54_apache2 "и" deploy :: php54 "
Изучив журналы и код, я заметил, что он все еще устанавливает 5.3 и не работает при попытке установить 5.4.
Другой вариант, который я рассматриваю, - это выбрать «настраиваемый слой» и либо создать свои собственные рецепты, либо найти чужой, либо изменить достаточно близкий. Я заметил, что рецепт AWS Chef, похоже, сильно зависит от PHP 5.3, поэтому я не уверен, сколько усилий потребуется для изменения их кода.
В идеале было бы хорошо, если бы AWS была на грани выпуска таких опций, как PHP 5.3 или 5.4 и / или Apache или Nginx, но я не смог найти никакой информации о том, как скоро они обновят свои рецепты.
TL / DR: Как установить PHP 5.4 на AWS Opsworks. Есть ли у кого-нибудь рецепт Chef, который я могу использовать, или указатели для изменения рецепта Chef, который уже существует.
Я открыл исходный код написанного мной уровня приложения php 5.4. Обратите внимание, что сейчас он поддерживает только Amazon Linux AMI.
https://github.com/aporat/opsworks-php54-app-layer-cookbooks
Он использует уровень приложения PHP, переопределив некоторые рецепты opsworks для установки php 5.4 с поддержкой mysql 5.5.
Он также содержит кулинарную книгу phpapp, в которой есть более простой способ развертывания приложений php из репозиториев git. Вместо клонирования всего репо при каждом развертывании он будет использовать git pull
тянуть только изменения.
С уважением. Я взял этот рецепт из GitHub Вот:
apt_repository "dotdeb-php54" do
uri "http://packages.dotdeb.org"
distribution "squeeze-php54"
components ["all"]
key "http://www.dotdeb.org/dotdeb.gpg"
end
Этот рецепт идет с Dotdeb репозитории, у которых есть PHP 5.4 включены.
С помощью Бродяга (настоятельно рекомендуется) развернуть на AWS, ты можешь сделать:
chef.add_recipe("dotdeb")
chef.add_recipe("dotdeb::php54")
chef.add_recipe("apache2")
chef.add_recipe("apache2::mod_php5")
chef.add_recipe("apache2::mod_rewrite")
chef.add_recipe("php")
Протестировано в EC2 пример