使用 Chef 在 prefork 模式下启用 apache2

Enable apache2 in prefork mode using Chef

我正在尝试使用 Chef Solo 在 Vagrant box (Ubuntu 14.04) 中安装 apache2 和 php。这是我的食谱:

include_recipe "apache2"
include_recipe "apache2::mod_rewrite"
include_recipe "apache2::mod_ssl"
include_recipe "apache2::mod_php5"

### some changes due to php5 reqs. ###
#-------------------------------------
apache_module "mpm_event" do
  enable false
end

apache_module "mpm_prefork" do
  enable true
end

service "apache2" do
  action :restart
end

这是因为apache2默认安装了mpm_event,因为php我需要改一下。

由于某些原因,这并不总是有效(有时,由于 mpm_event 仍然启用,apache2 不会重新启动),所以我正在寻找一种更惯用且对厨师安全的方式来安装 apache2 直接使用 prefork 模块而不是事件。

有办法吗?

可以在vagrant文​​件中设置mpm

  config.vm.provision "chef_solo" do |chef|
    chef.json = {
      "apache" => {
        "mpm" => "prefork"
      }
    }
  end