kompanee-recipes 0.0.10 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kompanee-recipes might be problematic. Click here for more details.
- data/README.md +182 -0
- data/lib/kompanee-recipes/apache.rb +241 -0
- data/lib/kompanee-recipes/bash.rb +44 -0
- data/lib/kompanee-recipes/bundler.rb +24 -0
- data/lib/kompanee-recipes/deploy.rb +56 -247
- data/lib/kompanee-recipes/environment.rb +213 -0
- data/lib/kompanee-recipes/git.rb +40 -0
- data/lib/kompanee-recipes/heroku.rb +243 -0
- data/lib/kompanee-recipes/mysql.rb +128 -0
- data/lib/kompanee-recipes/passenger.rb +124 -0
- data/lib/kompanee-recipes/php.rb +16 -0
- data/lib/kompanee-recipes/phpmyadmin.rb +39 -0
- data/lib/kompanee-recipes/rackspace.rb +35 -0
- data/lib/kompanee-recipes/rvm.rb +99 -0
- data/lib/kompanee-recipes/sqlite3.rb +9 -0
- data/lib/kompanee-recipes/subversion.rb +20 -0
- data/lib/kompanee-recipes/ubuntu.rb +235 -0
- metadata +22 -17
- data/History.txt +0 -4
- data/Manifest.txt +0 -12
- data/PostInstall.txt +0 -7
- data/README.rdoc +0 -51
- data/Rakefile +0 -24
- data/lib/kompanee-recipes.rb +0 -6
- data/lib/kompanee-recipes/app_setup.rb +0 -92
- data/lib/kompanee-recipes/bash_environment.rb +0 -31
- data/lib/kompanee-recipes/ubuntu_server_setup.rb +0 -277
@@ -0,0 +1,40 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
run_task 'git:install', :as => "manager"
|
3
|
+
|
4
|
+
namespace :deploy do
|
5
|
+
desc <<-DESC
|
6
|
+
Tags the deployed Git commit with the timestamp and environment it was deployed to.
|
7
|
+
|
8
|
+
The tag is auto-pushed to whatever `remote` is set to as well as `origin`.
|
9
|
+
Tag push happens in the background so it won't slow down deployment.
|
10
|
+
DESC
|
11
|
+
task :tag do
|
12
|
+
timestamp_string_without_seconds = Time.now.strftime("%Y%m%d%H%M")
|
13
|
+
tag_name = "deployed_to_#{rails_env}_#{timestamp_string_without_seconds}"
|
14
|
+
|
15
|
+
`git tag -a -m "Tagging deploy to #{rails_env} at #{timestamp_string_without_seconds}" #{tag_name} #{branch}`
|
16
|
+
`git push #{remote} --tags > /dev/null 2>&1 &`
|
17
|
+
`git push origin --tags > /dev/null 2>&1 &`
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
namespace :git do
|
22
|
+
desc "[internal] Installs Git on Ubuntu systems using apt-get."
|
23
|
+
task :install_on_ubuntu do
|
24
|
+
set :dependencies, %w{git-core git-svn}
|
25
|
+
os.package_manager.install
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "[internal] Installs Git on the server."
|
29
|
+
task :install do
|
30
|
+
git.send("install_on_#{os_type}")
|
31
|
+
|
32
|
+
puts "Git installed. If you're using Github, here's the key you'll need to add:"
|
33
|
+
public_key = capture "cat /home/deploy/.ssh/id_rsa.pub"
|
34
|
+
puts public_key
|
35
|
+
|
36
|
+
puts "Go ahead and log into your server and type: ssh git@github.com"
|
37
|
+
puts "Follow the on-screen instructions and you should see \"You've successfully authenticated\""
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,243 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
heroku_tasks = [
|
3
|
+
"heroku:credentials",
|
4
|
+
"heroku:credentials:default",
|
5
|
+
"deploy",
|
6
|
+
"deploy:default",
|
7
|
+
"deploy:initial",
|
8
|
+
"deploy:restart",
|
9
|
+
"deploy:migrate",
|
10
|
+
"deploy:rollback",
|
11
|
+
"deploy:rollback:default",
|
12
|
+
"deploy:web:enable",
|
13
|
+
"deploy:web:disable",
|
14
|
+
"website:install",
|
15
|
+
"website:remove",
|
16
|
+
"db:drop",
|
17
|
+
"db:backup",
|
18
|
+
"db:reset_and_seed",
|
19
|
+
"db:seed",
|
20
|
+
"shell",
|
21
|
+
"invoke"
|
22
|
+
]
|
23
|
+
|
24
|
+
on :start, "heroku:credentials", :only => heroku_tasks
|
25
|
+
on :start, "heroku:raise_error", :except => heroku_tasks
|
26
|
+
|
27
|
+
namespace :heroku do
|
28
|
+
namespace :domain do
|
29
|
+
desc <<-DESC
|
30
|
+
Installs a new domain for the application on the Heroku server.
|
31
|
+
DESC
|
32
|
+
task :install do
|
33
|
+
`heroku domains:add #{deploy_name}`
|
34
|
+
end
|
35
|
+
|
36
|
+
desc <<-DESC
|
37
|
+
Removes the domain for the application from the Heroku server.
|
38
|
+
DESC
|
39
|
+
task :remove do
|
40
|
+
`heroku domains:remove #{deploy_name}`
|
41
|
+
end
|
42
|
+
|
43
|
+
namespace :addon do
|
44
|
+
desc <<-DESC
|
45
|
+
Add the Custom Domain Addon to the server.
|
46
|
+
DESC
|
47
|
+
task :install do
|
48
|
+
`heroku addons:add custom_domains:basic`
|
49
|
+
end
|
50
|
+
|
51
|
+
desc <<-DESC
|
52
|
+
Removes the Custom Domain Addon from the server.
|
53
|
+
DESC
|
54
|
+
task :remove do
|
55
|
+
`heroku addons:remove custom_domains:basic`
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
namespace :credentials do
|
61
|
+
desc <<-DESC
|
62
|
+
Selects the correct Heroku credentials for use given the current user.
|
63
|
+
|
64
|
+
If a credentials file already exists, it is backed up.
|
65
|
+
DESC
|
66
|
+
task :default do
|
67
|
+
if File.exist? heroku_credentials_file
|
68
|
+
heroku.credentials.backup
|
69
|
+
end
|
70
|
+
|
71
|
+
if File.exist? "#{heroku_credentials_path}/#{user}_credentials"
|
72
|
+
heroku.credentials.switch
|
73
|
+
else
|
74
|
+
heroku.credentials.create
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
desc <<-DESC
|
79
|
+
[internal] Backs up the current credentials file.
|
80
|
+
DESC
|
81
|
+
task :backup do
|
82
|
+
account = File.readlines(heroku_credentials_file)[0].chomp
|
83
|
+
File.rename(heroku_credentials_file, "#{heroku_credentials_path}/#{account}_credentials")
|
84
|
+
end
|
85
|
+
|
86
|
+
desc <<-DESC
|
87
|
+
[internal] Creates a Heroku credentials file.
|
88
|
+
DESC
|
89
|
+
task :create do
|
90
|
+
`if [ ! -d #{heroku_credentials_path} ]; then mkdir -p #{heroku_credentials_path}; fi`
|
91
|
+
`echo #{user} > #{heroku_credentials_file}`
|
92
|
+
`echo #{password} >> #{heroku_credentials_file}`
|
93
|
+
end
|
94
|
+
|
95
|
+
desc <<-DESC
|
96
|
+
[internal] Switches the credentials file to either the current use or the
|
97
|
+
name specified by the `HEROKU_ACCOUNT` environment variable.
|
98
|
+
DESC
|
99
|
+
task :switch do
|
100
|
+
account_to_switch_to = ENV['HEROKU_ACCOUNT'] || user
|
101
|
+
File.rename("#{heroku_credentials_path}/#{account_to_switch_to}_credentials", heroku_credentials_file)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
desc <<-DESC
|
106
|
+
[internal] Raises an error if someone tries to run a task other than those
|
107
|
+
that are valid for a Heroku deployment.
|
108
|
+
DESC
|
109
|
+
task :raise_error do
|
110
|
+
raise "Deploying the #{rails_env} environment to Heroku. This command is invalid."
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
namespace :deploy do
|
115
|
+
desc <<-DESC
|
116
|
+
The standard deployment task.
|
117
|
+
|
118
|
+
It will check out a new release of the code, run any pending migrations and
|
119
|
+
restart the application.
|
120
|
+
DESC
|
121
|
+
task :default do
|
122
|
+
`git push heroku #{branch}`
|
123
|
+
deploy.migrate
|
124
|
+
deploy.restart
|
125
|
+
end
|
126
|
+
|
127
|
+
desc <<-DESC
|
128
|
+
Restarts the application.
|
129
|
+
DESC
|
130
|
+
task :restart do
|
131
|
+
`heroku restart`
|
132
|
+
end
|
133
|
+
|
134
|
+
desc <<-DESC
|
135
|
+
Runs the migrate rake task.
|
136
|
+
DESC
|
137
|
+
task :migrate do
|
138
|
+
`heroku rake db:migrate`
|
139
|
+
end
|
140
|
+
|
141
|
+
desc <<-DESC
|
142
|
+
Rolls back to a previous version and restarts.
|
143
|
+
DESC
|
144
|
+
namespace :rollback do
|
145
|
+
task :default do
|
146
|
+
`heroku rollback`
|
147
|
+
deploy.restart
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
namespace :web do
|
152
|
+
desc "Removes the maintenance page to resume normal site operation."
|
153
|
+
task :enable do
|
154
|
+
`heroku maintenance:off`
|
155
|
+
end
|
156
|
+
|
157
|
+
desc "Diplays the maintenance page."
|
158
|
+
task :disable do
|
159
|
+
`heroku maintenance:on`
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
desc "Prepare the server for deployment."
|
164
|
+
task :initial do
|
165
|
+
website.install
|
166
|
+
|
167
|
+
heroku.domain.addon.install
|
168
|
+
db.backup.addon.install
|
169
|
+
|
170
|
+
heroku.domain.install
|
171
|
+
|
172
|
+
`heroku config:add BUNDLE_WITHOUT="development:test"`
|
173
|
+
deploy.default
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
namespace :website do
|
178
|
+
desc "Installs the application on Heroku"
|
179
|
+
task :install do
|
180
|
+
`heroku create #{application_underscored}`
|
181
|
+
end
|
182
|
+
|
183
|
+
desc "Completely removes application from Heroku"
|
184
|
+
task :remove do
|
185
|
+
`heroku destroy --confirm #{application_underscored}`
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
namespace :db do
|
190
|
+
desc "Removes the DB from the Server. Also removes the user."
|
191
|
+
task :drop do
|
192
|
+
`heroku pg:reset`
|
193
|
+
end
|
194
|
+
|
195
|
+
namespace :backup do
|
196
|
+
desc "Backup the database"
|
197
|
+
task :default do
|
198
|
+
`heroku pgbackups:capture`
|
199
|
+
end
|
200
|
+
|
201
|
+
namespace :addon do
|
202
|
+
desc <<-DESC
|
203
|
+
Add the Postgres Backups Addon to the server.
|
204
|
+
DESC
|
205
|
+
task :install do
|
206
|
+
`heroku addons:add pgbackups:basic`
|
207
|
+
end
|
208
|
+
|
209
|
+
desc <<-DESC
|
210
|
+
Removes the Postgres Backups Addon from the server.
|
211
|
+
DESC
|
212
|
+
task :remove do
|
213
|
+
`heroku addons:remove pgbackups:basic`
|
214
|
+
end
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
desc "Reset database and seed fresh"
|
219
|
+
task :reset_and_seed do
|
220
|
+
raise "I'm sorry Dave, but I can't let you do that. I have full control over production." if rails_env == 'production'
|
221
|
+
db.backup
|
222
|
+
`heroku pg:reset`
|
223
|
+
`heroku rake db:seed`
|
224
|
+
end
|
225
|
+
|
226
|
+
desc "Seed database"
|
227
|
+
task :seed do
|
228
|
+
raise "I'm sorry Dave, but I can't let you do that. I have full control over production." if rails_env == 'production'
|
229
|
+
db.backup
|
230
|
+
`heroku rake db:seed`
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
desc "Begin an interactive Heroku session."
|
235
|
+
task :shell do
|
236
|
+
`heroku shell`
|
237
|
+
end
|
238
|
+
|
239
|
+
desc "Invoke a single command on the Heroku server."
|
240
|
+
task :invoke do
|
241
|
+
`heroku invoke #{ENV['COMMAND']}`
|
242
|
+
end
|
243
|
+
end
|
@@ -0,0 +1,128 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
set(:db_root_password) {Capistrano::CLI.password_prompt("Root Password For DB: ")} unless exists?(:db_root_password)
|
3
|
+
set(:db_app_password) {Capistrano::CLI.password_prompt("App Password For DB: ")} unless exists?(:db_app_password)
|
4
|
+
|
5
|
+
run_task "db:create", :as => "manager"
|
6
|
+
run_task "db:drop", :as => "manager"
|
7
|
+
run_task "db:install", :as => "manager"
|
8
|
+
|
9
|
+
namespace :db do
|
10
|
+
desc <<-DESC
|
11
|
+
Installs the MySQL database server on the system.
|
12
|
+
DESC
|
13
|
+
task :install do
|
14
|
+
mysql.send("install_on_#{os_type}")
|
15
|
+
end
|
16
|
+
|
17
|
+
desc <<-DESC
|
18
|
+
Creates the MySQL database and user for the application.
|
19
|
+
|
20
|
+
* Creates a script that is uploaded to the user's home directory.
|
21
|
+
* The script is executed as `root` and as such, the user will be prompted
|
22
|
+
for `root`'s password.
|
23
|
+
* The DB and user name are equivalent to the application_underscored
|
24
|
+
variable.
|
25
|
+
* The DB user will be granted all privileges on the DB.
|
26
|
+
DESC
|
27
|
+
task :create do
|
28
|
+
create_script = <<-CREATESCRIPT
|
29
|
+
create database #{application_underscored} character set utf8;
|
30
|
+
create user '#{application_underscored}'@'localhost' identified by '#{db_app_password}';
|
31
|
+
grant all on #{application_underscored}.* to #{application_underscored}@localhost;
|
32
|
+
CREATESCRIPT
|
33
|
+
|
34
|
+
put create_script, "#{user_home}/create_#{application_underscored}_db_script"
|
35
|
+
run %Q{#{sudo} bash -c "mysql --user=root --password=#{db_root_password} < #{user_home}/create_#{application_underscored}_db_script"}
|
36
|
+
run "rm #{user_home}/create_#{application_underscored}_db_script"
|
37
|
+
end
|
38
|
+
|
39
|
+
desc <<-DESC
|
40
|
+
Drops the MySQL database and user for the application.
|
41
|
+
|
42
|
+
* Creates a script that is uploaded to the user's home directory.
|
43
|
+
* The script is executed as `root` and as such, the user will be prompted
|
44
|
+
for `root`'s password.
|
45
|
+
DESC
|
46
|
+
task :drop do
|
47
|
+
drop_script = <<-DROPSCRIPT
|
48
|
+
drop user #{application_underscored}@localhost;
|
49
|
+
drop database #{application_underscored};
|
50
|
+
DROPSCRIPT
|
51
|
+
|
52
|
+
put drop_script, "#{user_home}/drop_#{application_underscored}_db_script"
|
53
|
+
run %Q{#{sudo} bash -c "mysql --user=root --password=#{db_root_password} < #{user_home}/drop_#{application_underscored}_db_script"}
|
54
|
+
run "rm #{user_home}/drop_#{application_underscored}_db_script"
|
55
|
+
end
|
56
|
+
|
57
|
+
desc <<-DESC
|
58
|
+
Calls the rake task `db:backup` on the server for the given environment.
|
59
|
+
|
60
|
+
* The backup file is placed in a directory called `db_backups` under the `shared`
|
61
|
+
directory by default.
|
62
|
+
* The filenames are formatted with the timestamp of the backup.
|
63
|
+
* After export, each file is zipped up using a bzip2 compression format.
|
64
|
+
DESC
|
65
|
+
task :backup do
|
66
|
+
run "if [ ! -d #{shared_path}/db_backups ]; then mkdir #{shared_path}/db_backups; fi"
|
67
|
+
run "cd #{current_path} && rake BACKUP_DIRECTORY=#{shared_path}/db_backups RAILS_ENV=#{rails_env} db:backup"
|
68
|
+
end
|
69
|
+
|
70
|
+
desc <<-DESC
|
71
|
+
Calls the rake task `db:reset_and_seed` on the server for the given environment.
|
72
|
+
|
73
|
+
Typically, this task will drop the DB, recreate the DB, load the development
|
74
|
+
schema and then populate the DB by calling the `db:seed` task.
|
75
|
+
|
76
|
+
Warning: This task cannot be called in production mode. If you truely wish
|
77
|
+
to run this in production, you'll need to log into the server and
|
78
|
+
run the rake task manually.
|
79
|
+
DESC
|
80
|
+
task :reset_and_seed do
|
81
|
+
raise "I'm sorry Dave, but I can't let you do that. I have full control over production." if rails_env == 'production'
|
82
|
+
db.backup
|
83
|
+
run "cd #{current_path} && rake RAILS_ENV=#{rails_env} db:reset_and_seed"
|
84
|
+
end
|
85
|
+
|
86
|
+
desc <<-DESC
|
87
|
+
Calls the rake task `db:seed` on the server for the given environment.
|
88
|
+
|
89
|
+
Typically, this task will populate the DB with valid data which is necessary
|
90
|
+
for the initial production deployment. An example may be that the `STATES`
|
91
|
+
table gets populated with all the information about the States.
|
92
|
+
|
93
|
+
Warning: This task cannot be called in production mode. If you truely wish
|
94
|
+
to run this in production, you'll need to log into the server and
|
95
|
+
run the rake task manually.
|
96
|
+
DESC
|
97
|
+
task :seed do
|
98
|
+
raise "I'm sorry Dave, but I can't let you do that. I have full control over production." if rails_env == 'production'
|
99
|
+
db.backup
|
100
|
+
run "cd #{current_path} && rake RAILS_ENV=#{rails_env} db:seed"
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
namespace :mysql do
|
105
|
+
desc <<-DESC
|
106
|
+
[internal] Install MySQL on an Ubuntu server.
|
107
|
+
|
108
|
+
* Will use `apt-get` to install MySQL.
|
109
|
+
* Will additionally create a debconf answers file so that the installation
|
110
|
+
can be automated.
|
111
|
+
* The Capistrano user will be prompted for the desired `root` password for
|
112
|
+
the DB.
|
113
|
+
DESC
|
114
|
+
task :install_on_ubuntu do
|
115
|
+
mysql_install_answers = <<-INSTALLANSWERS
|
116
|
+
mysql-server mysql-server/root_password select #{db_root_password}
|
117
|
+
mysql-server mysql-server/root_password_again select #{db_root_password}
|
118
|
+
INSTALLANSWERS
|
119
|
+
|
120
|
+
put mysql_install_answers, "#{user_home}/mysql_install_answers"
|
121
|
+
run "#{sudo} debconf-set-selections #{user_home}/mysql_install_answers"
|
122
|
+
run "rm #{user_home}/mysql_install_answers"
|
123
|
+
|
124
|
+
set :dependencies, %w{mysql-server-5.1 libmysql-ruby}
|
125
|
+
os.package_manager.install
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
@@ -0,0 +1,124 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
run_task "passenger:install:web_server_module", :as => "manager"
|
3
|
+
run_task "passenger:enable", :as => "manager"
|
4
|
+
run_task "passenger:disable", :as => "manager"
|
5
|
+
|
6
|
+
namespace :deploy do
|
7
|
+
desc <<-DESC
|
8
|
+
Starts/Restarts the application.
|
9
|
+
|
10
|
+
Passenger knows when you'd like to reset by looking at a file in the `tmp`
|
11
|
+
directory called `restart.txt`. If the Last Access time for `restart.txt`
|
12
|
+
changes, Passenger restarts the app.
|
13
|
+
DESC
|
14
|
+
task :start, :except => { :no_release => true } do
|
15
|
+
run "touch #{File.join(current_path,'tmp','restart.txt')}"
|
16
|
+
end
|
17
|
+
desc <<-DESC
|
18
|
+
There is no way to stop the application via Passenger.
|
19
|
+
|
20
|
+
This task does nothing.
|
21
|
+
DESC
|
22
|
+
task :stop do ; end
|
23
|
+
desc <<-DESC
|
24
|
+
Starts/Restarts the application.
|
25
|
+
|
26
|
+
Passenger knows when you'd like to reset by looking at a file in the `tmp`
|
27
|
+
directory called `restart.txt`. If the Last Access time for `restart.txt`
|
28
|
+
changes, Passenger restarts the app.
|
29
|
+
DESC
|
30
|
+
task :restart, :except => { :no_release => true } do
|
31
|
+
run "touch #{File.join(current_path,'tmp','restart.txt')}"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
namespace :passenger do
|
36
|
+
namespace :install do
|
37
|
+
desc <<-DESC
|
38
|
+
Installs the Passenger gem
|
39
|
+
|
40
|
+
Passenger will be installed via RVM in the `@global` gemset
|
41
|
+
for the default Ruby version.
|
42
|
+
DESC
|
43
|
+
task :gems do
|
44
|
+
run "rvm use #{default_ruby_version}@global && gem install passenger --version #{passenger_version} --no-ri --no-rdoc"
|
45
|
+
end
|
46
|
+
|
47
|
+
desc <<-DESC
|
48
|
+
Installs the Passenger module
|
49
|
+
DESC
|
50
|
+
task :web_server_module do
|
51
|
+
passenger.install.send("#{web_server_name}_module")
|
52
|
+
end
|
53
|
+
|
54
|
+
desc <<-DESC
|
55
|
+
[internal] Installs the Passenger module
|
56
|
+
|
57
|
+
The Passenger Apache module will be installed via RVM from the `@global` gemset for the default Ruby version.
|
58
|
+
DESC
|
59
|
+
task :apache_module do
|
60
|
+
run "rvm use #{default_ruby_version}@global && rvmsudo passenger-install-apache2-module -a"
|
61
|
+
|
62
|
+
apache_passenger_load = <<-PASSLOAD
|
63
|
+
LoadModule passenger_module #{user_home}/.rvm/gems/#{default_ruby_version}@global/gems/passenger-#{passenger_version}/ext/apache2/mod_passenger.so
|
64
|
+
PASSLOAD
|
65
|
+
|
66
|
+
apache_passenger_conf = <<-PASSCONF
|
67
|
+
<IfModule mod_passenger.c>
|
68
|
+
PassengerRoot #{user_home}/.rvm/gems/#{default_ruby_version}@global/gems/passenger-#{passenger_version}
|
69
|
+
PassengerRuby #{user_home}/.rvm/bin/#{default_ruby_version}
|
70
|
+
|
71
|
+
<Directory "#{deploy_dir}">
|
72
|
+
Order allow,deny
|
73
|
+
Allow from all
|
74
|
+
</Directory>
|
75
|
+
</IfModule>
|
76
|
+
PASSCONF
|
77
|
+
|
78
|
+
put apache_passenger_load, "#{user_home}/passenger.load"
|
79
|
+
put apache_passenger_conf, "#{user_home}/passenger.conf"
|
80
|
+
run "#{sudo} mv #{user_home}/passenger.load /etc/apache2/mods-available/"
|
81
|
+
run "#{sudo} mv #{user_home}/passenger.conf /etc/apache2/mods-available/"
|
82
|
+
passenger.enable
|
83
|
+
end
|
84
|
+
|
85
|
+
desc <<-DESC
|
86
|
+
Installs the Passenger gem and Apache module.
|
87
|
+
DESC
|
88
|
+
task :default do
|
89
|
+
passenger.install.gems
|
90
|
+
passenger.install.web_server_module
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
desc <<-DESC
|
95
|
+
Enables the Passenger module.
|
96
|
+
DESC
|
97
|
+
task :enable do
|
98
|
+
passenger.send("enable_on_#{web_server_name}")
|
99
|
+
web_server.restart
|
100
|
+
end
|
101
|
+
|
102
|
+
desc <<-DESC
|
103
|
+
Disables the Passenger module.
|
104
|
+
DESC
|
105
|
+
task :disable do
|
106
|
+
passenger.send("disable_on_#{web_server_name}")
|
107
|
+
web_server.restart
|
108
|
+
end
|
109
|
+
|
110
|
+
desc <<-DESC
|
111
|
+
[internal] Enables the Passenger module on Apache.
|
112
|
+
DESC
|
113
|
+
task :enable_on_apache do
|
114
|
+
run "#{sudo} a2enmod passenger"
|
115
|
+
end
|
116
|
+
|
117
|
+
desc <<-DESC
|
118
|
+
[internal] Disables the Passenger module on Apache.
|
119
|
+
DESC
|
120
|
+
task :disable_on_apache do
|
121
|
+
run "#{sudo} a2dismod passenger"
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|