1
+ package :apache , :provides => :webserver do
2
+ description 'Apache2 web server.'
3
+ apt 'apache2 apache2.2-common apache2-mpm-worker apache2-utils libexpat1 ssl-cert' do
4
+ post :install , 'a2enmod rewrite'
5
+ end
6
+
7
+ verify do
8
+ has_process 'apache2'
9
+ end
10
+
11
+ requires :base_server
12
+ end
13
+
14
+ package :apache2_prefork_dev do
15
+ description 'A dependency required by some packages.'
16
+ apt 'apache2-prefork-dev'
17
+ end
18
+
19
+ package :passenger , :provides => :appserver do
20
+ description 'Phusion Passenger (mod_rails)'
21
+ gem 'passenger' do
22
+ version ( '2.2.2' )
23
+ post :install , 'echo -en "\n\n\n\n" | sudo passenger-install-apache2-module'
24
+
25
+ # Create the passenger conf file
26
+ post :install , 'mkdir -p /etc/apache2/extras'
27
+ post :install , 'touch /etc/apache2/extras/passenger.conf'
28
+ post :install , 'echo "Include /etc/apache2/extras/passenger.conf"|sudo tee -a /etc/apache2/apache2.conf'
29
+
30
+ [ %q(LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.2/ext/apache2/mod_passenger.so) ,
31
+ %q(PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.2) ,
32
+ %q(PassengerRuby /usr/bin/ruby1.8) ,
33
+ %q(PassengerMaxPoolSize 6) ,
34
+ %q(PassengerPoolIdleTime 3600) ,
35
+ %q(RailsEnv production) ] . each do |line |
36
+ post :install , "echo '#{ line } ' |sudo tee -a /etc/apache2/extras/passenger.conf"
37
+ end
38
+
39
+ # Restart apache to note changes
40
+ post :install , '/etc/init.d/apache2 restart'
41
+ end
42
+
43
+ verify do
44
+ has_file '/etc/apache2/extras/passenger.conf'
45
+ has_file '/usr/lib/ruby/gems/1.8/gems/passenger-2.2.2/ext/apache2/mod_passenger.so'
46
+ has_directory '/usr/lib/ruby/gems/1.8/gems/passenger-2.2.2'
47
+ end
48
+
49
+ requires :apache , :apache2_prefork_dev , :rubygems
50
+ end
0 commit comments