/
apache2.rb
75 lines (64 loc) · 2.17 KB
/
apache2.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#
# Cookbook Name:: rvm_passenger
# Based on passenger_enterprise
# Recipe:: apache2
#
# Author:: Joshua Timberman (<joshua@opscode.com>)
# Author:: Joshua Sierles (<joshua@37signals.com>)
# Author:: Michael Hale (<mikehale@gmail.com>)
# Author:: Fletcher Nichol <fnichol@nichol.ca>
#
# Copyright:: 2009, Opscode, Inc
# Copyright:: 2009, 37signals
# Coprighty:: 2009, Michael Hale
# Copyright:: 2010, 2011, Fletcher Nichol
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
include_recipe "rvm_passenger"
include_recipe "apache2"
rvm_ruby = node['rvm_passenger']['rvm_ruby']
apache_dir = node['apache']['dir']
# set the module_path attribute if it isn't set
ruby_block "Calculate node['rvm_passenger']['module_path']" do
block do
root_path = node['rvm_passenger']['root_path']
node.set['rvm_passenger']['module_path'] =
"#{root_path}/ext/apache2/mod_passenger.so"
Chef::Log.debug(%{Setting node['rvm_passenger']['module_path'] = } +
%{"#{node['rvm_passenger']['module_path']}"})
end
not_if { node['rvm_passenger']['module_path'] }
end
Array(node['rvm_passenger']['apache2_pkgs']).each do |pkg|
package pkg
end
rvm_shell "passenger_apache2_module" do
ruby_string rvm_ruby
code %{passenger-install-apache2-module -a}
not_if { ::File.exists? node['rvm_passenger']['module_path'] }
end
template "#{apache_dir}/mods-available/passenger.load" do
source 'passenger.load.erb'
owner 'root'
group 'root'
mode '0755'
end
template "#{apache_dir}/mods-available/passenger.conf" do
source 'passenger.conf.erb'
owner 'root'
group 'root'
mode '0755'
end
apache_module "passenger" do
module_path node['rvm_passenger']['module_path']
end