我正在尝试使用自定义食谱在 opsworks 上安装 phpmyadmin。我对 chef 还很陌生,所以我真的不知道自己在做什么。
我正在使用这本食谱:https://github.com/priestjim/chef-phpmyadmin
并指定我的 Stack 使用该自定义食谱。但我在日志中没有看到 phpmyadmin 已安装或正在运行。
实例设置失败并显示以下错误消息:
================================================================================
食谱编译错误 Chef::Exceptions::RecipeNotFound
无法找到食谱 php 的默认食谱
[2014-06-06T10:48:16+00:00] 错误:正在运行异常处理程序 [2014-06-06T10:48:16+00:00] 错误:异常处理程序已完成 [2014-06-06T10:48:16+00:00] 严重错误:堆栈跟踪已转储至 /var/lib/aws/opsworks/cache/chef-stacktrace.out [2014-06-06T10:48:16+00:00] 错误:找不到 cookbook php 的默认配方 [2014-06-06T10:48:16+00:00] 严重错误:Chef::Exceptions::ChildConvergeError:Chef 运行进程退出失败(退出代码 1)
请给一点指导吧?
谢谢!
答案1
该错误与 cookbook 依赖关系有关。每个 cookbook 都可能依赖于其他 cookbook,这些依赖关系列在 metadata.rb(或 metadata.json)中。
就你的情况而言:
depends 'php'
phpmyadmin cookbook 需要 php cookbook 存在,如 GitHub 页面上的要求部分所述。因此,您需要获取该 cookbook 并使其在 OpsWorks 中可用。
另请注意,您还需要安装一个 Web 服务器(例如 apache 或 nginx)并将其配置为服务 PMA。