[chef] Re: Re: Re: Re: Re: Re: Is this a bug in the apache2 cookbook?


Chronological Thread 
  • From: Tim Uckun < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Re: Re: Is this a bug in the apache2 cookbook?
  • Date: Tue, 10 Jan 2012 15:49:19 +1300

On Tue, Jan 10, 2012 at 10:36 AM, Tim Uckun 
< >
 wrote:
>> Yes, the fault is with the passenger_apache2 recipe.
>>

I have just been looking at this and I really think this is a problem
with the apache2 recipe and not the passenger recipe.  Here is the
flow.

The passenger recipe creates the module and does the following.


include_recipe "passenger_apache2"

template "#{node[:apache][:dir]}/mods-available/passenger.conf" do
  cookbook "passenger_apache2"
  source "passenger.conf.erb"
  owner "root"
  group "root"
  mode "644"
end

apache_module "passenger" do
  module_path node[:passenger][:module_path]
end

As you can see from above it is asking the apache_module provider
(defined in the apache2 recipe) to create a module for it. The
apache_module recipe looks like this.

if params[:conf]
    apache_conf params[:name]
  end

  if platform?("redhat", "centos", "scientific", "fedora", "arch", "suse" )
    file "#{node['apache']['dir']}/mods-available/#{params[:name]}.load" do
      content "LoadModule #{params[:name]}_module #{params[:module_path]}\n"
      mode 0644
    end
  end

So it refuses to create the .load file unless the platform matches the
ones listed.

I can see no rational reason for this. How is apache supposed to load
the module without a LoadModule directive?

It seems to me that the passenger recipe is doing the right thing. In
fact from the looks of it it could just pass the config params to
apache_module too instead of creating it's own .conf file.

So at this stage I have the following options.

1. Change the apache recipe and add ubuntu and debian to the list.
2. Change the passenger recipe to create the load file
3. create the load file outside of either one of these recipes.



Archive powered by MHonArc 2.6.16.

§