centostrano 0.1 → 0.2

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.
@@ -0,0 +1,16 @@
1
+ Using deprec offline (on a plane!)
2
+ ==================================
3
+
4
+ # Run local rubygems server
5
+ - point gems.rubyforge.org at local gems server
6
+
7
+ # Turn off network apt sources and enable cdrom
8
+ - use apt-cdrom
9
+
10
+ # Run local apt mirror (optional)
11
+
12
+ # Push sources for compiled packages to target(s)
13
+ cap deprec:find_src
14
+ cap deprec:push_src
15
+
16
+
@@ -4,12 +4,24 @@ require 'fileutils'
4
4
 
5
5
  module Deprec2
6
6
 
7
- # Temporarly set ROLES to something different
7
+ # Temporarily modify ROLES if HOSTS not set
8
+ # Capistrano's default behaviour is for HOSTS to override ROLES
8
9
  def for_roles(roles)
9
10
  old_roles = ENV['ROLES']
10
- ENV['ROLES'] = roles
11
+ ENV['ROLES'] = roles.to_s unless ENV['HOSTS']
12
+ yield
13
+ ENV['ROLES'] = old_roles.to_s unless ENV['HOSTS']
14
+ end
15
+
16
+ # Temporarily ignore ROLES and HOSTS
17
+ def ignoring_roles_and_hosts
18
+ old_roles = ENV['ROLES']
19
+ old_hosts = ENV['HOSTS']
20
+ ENV['ROLES'] = nil
21
+ ENV['HOSTS'] = nil
11
22
  yield
12
23
  ENV['ROLES'] = old_roles
24
+ ENV['HOSTS'] = old_hosts
13
25
  end
14
26
 
15
27
  DEPREC_TEMPLATES_BASE = File.join(File.dirname(__FILE__), 'templates')
@@ -242,35 +254,67 @@ module Deprec2
242
254
  if defined?(src_package[:md5sum])
243
255
  md5_clause = " && echo '#{src_package[:md5sum]}' | md5sum -c - "
244
256
  end
245
- apt.install( {:base => %w(wget)}, :stable )
246
- # XXX replace with invoke_command
247
- run "cd #{src_dir} && test -f #{src_package[:filename]} #{md5_clause} || #{sudo} wget --quiet --timestamping #{src_package[:url]}"
257
+ case src_package[:download_method]
258
+ # when getting source with git
259
+ when :git
260
+ # ensure git is installed
261
+ apt.install( {:base => %w(git)}, :stable) #TODO fix this to test ubuntu version <hardy might need specific git version for full git submodules support
262
+ package_dir = File.join(src_dir, src_package[:dir])
263
+ run "if [ -d #{package_dir} ]; then cd #{package_dir} && #{sudo} git checkout master && #{sudo} git pull && #{sudo} git submodule init && #{sudo} git submodule update; else #{sudo} git clone #{src_package[:url]} #{package_dir} && cd #{package_dir} && #{sudo} git submodule init && #{sudo} git submodule update ; fi"
264
+ # Checkout the revision wanted if defined
265
+ if src_package[:version]
266
+ run "cd #{package_dir} && git branch | grep '#{src_package[:version]}$' && #{sudo} git branch -D '#{src_package[:version]}'; exit 0"
267
+ run "cd #{package_dir} && #{sudo} git checkout -b #{src_package[:version]} #{src_package[:version]}"
268
+ end
269
+
270
+ # when getting source with wget
271
+ when :http
272
+ # ensure wget is installed
273
+ apt.install( {:base => %w(wget)}, :stable )
274
+ # XXX replace with invoke_command
275
+ run "cd #{src_dir} && test -f #{src_package[:filename]} #{md5_clause} || #{sudo} wget --quiet --timestamping #{src_package[:url]}"
276
+ else
277
+ puts "DOWNLOAD SRC: Download method not recognised. src_package[:download_method]: #{src_package[:download_method]}"
278
+ end
248
279
  end
249
280
 
250
281
  # unpack src and make it writable by the group
251
282
  def unpack_src(src_package, src_dir)
252
283
  set_package_defaults(src_package)
253
284
  package_dir = File.join(src_dir, src_package[:dir])
254
- # XXX replace with invoke_command
285
+ case src_package[:download_method]
286
+ # when unpacking git sources - nothing to do
287
+ when :git
288
+ puts "UNPACK SRC: nothing to do for git installs"
289
+ when :http
290
+ sudo <<-EOF
291
+ bash -c '
292
+ cd #{src_dir};
293
+ test -d #{package_dir}.old && rm -fr #{package_dir}.old;
294
+ test -d #{package_dir} && mv #{package_dir} #{package_dir}.old;
295
+ #{src_package[:unpack]}
296
+ '
297
+ EOF
298
+ else
299
+ puts "UNPACK SRC: Download method not recognised. src_package[:download_method]: #{src_package[:download_method]} "
300
+ end
255
301
  sudo <<-EOF
256
302
  bash -c '
257
303
  cd #{src_dir};
258
- test -d #{package_dir}.old && rm -fr #{package_dir}.old;
259
- test -d #{package_dir} && mv #{package_dir} #{package_dir}.old;
260
- #{src_package[:unpack]}
261
304
  chgrp -R #{group} #{package_dir};
262
305
  chmod -R g+w #{package_dir};
263
306
  '
264
307
  EOF
265
308
  end
266
-
309
+
267
310
  def set_package_defaults(pkg)
268
- pkg[:filename] ||= File.basename(pkg[:url])
269
- pkg[:dir] ||= File.basename(pkg[:url], '.tar.gz')
270
- pkg[:unpack] ||= "tar zxf #{pkg[:filename]};"
271
- pkg[:configure] ||= './configure ;'
272
- pkg[:make] ||= 'make;'
273
- pkg[:install] ||= 'make install;'
311
+ pkg[:filename] ||= File.basename(pkg[:url])
312
+ pkg[:dir] ||= pkg[:filename].sub(/(\.tgz|\.tar\.gz)/,'')
313
+ pkg[:download_method] ||= :http
314
+ pkg[:unpack] ||= "tar zxf #{pkg[:filename]};"
315
+ pkg[:configure] ||= './configure ;'
316
+ pkg[:make] ||= 'make;'
317
+ pkg[:install] ||= 'make install;'
274
318
  end
275
319
 
276
320
  # install package from source
@@ -31,3 +31,4 @@ require "#{File.dirname(__FILE__)}/recipes/gitosis"
31
31
  require "#{File.dirname(__FILE__)}/recipes/postgresql"
32
32
  require "#{File.dirname(__FILE__)}/recipes/logrotate"
33
33
  require "#{File.dirname(__FILE__)}/recipes/merb"
34
+ require "#{File.dirname(__FILE__)}/recipes/passenger"
@@ -38,11 +38,11 @@ Capistrano::Configuration.instance(:must_exist).load do
38
38
 
39
39
 
40
40
  SRC_PACKAGES[:apache] = {
41
- :filename => 'httpd-2.2.9.tar.gz',
42
- :md5sum => "28470617033b8fb998779f6d76016f82 httpd-2.2.9.tar.gz",
43
- :dir => 'httpd-2.2.9',
44
- :url => "http://www.apache.org/dist/httpd/httpd-2.2.9.tar.gz",
45
- :unpack => "tar zxf httpd-2.2.9.tar.gz;",
41
+ :filename => 'httpd-2.2.11.tar.gz',
42
+ :md5sum => "03e0a99a5de0f3f568a0087fb9993af9 httpd-2.2.11.tar.gz",
43
+ :dir => 'httpd-2.2.11',
44
+ :url => "http://www.apache.org/dist/httpd/httpd-2.2.11.tar.gz",
45
+ :unpack => "tar zxf httpd-2.2.11.tar.gz;",
46
46
  :configure => %w(
47
47
  ./configure
48
48
  --enable-mods-shared=all
@@ -62,7 +62,7 @@ Capistrano::Configuration.instance(:must_exist).load do
62
62
  :make => 'make;',
63
63
  :install => '--fstrans=no make install;',
64
64
  :post_install => 'install -b support/apachectl /etc/init.d/httpd;',
65
- :version => 'c2.2.9',
65
+ :version => 'c2.2.11',
66
66
  :release => '1'
67
67
  }
68
68
 
@@ -159,6 +159,8 @@ Capistrano::Configuration.instance(:must_exist).load do
159
159
 
160
160
  desc "Set apache to start on boot"
161
161
  task :activate do
162
+ send(run_method, "sed -i '2i# chkconfig: 2345 10 90' /etc/init.d/httpd")
163
+ send(run_method, "sed -i '3i# description: Activates/Deactivates Apache Web Server' /etc/init.d/httpd")
162
164
  send(run_method, "/sbin/chkconfig --add httpd")
163
165
  send(run_method, "/sbin/chkconfig --level 345 httpd on")
164
166
  end
@@ -129,6 +129,26 @@ members = #{gitosis_admin} #{gitosis_server}
129
129
  system "git add ."
130
130
  system "git commit -a -m 'Touched .gitignore to emtpy folders, ignored log files, tmp, sqlite3 db'"
131
131
  end
132
-
132
+
133
+ desc "setup \"external\" repository accessible to redmine"
134
+ task :setup_for_redmine do
135
+ sudo "test -d /var/git/checkout || sudo mkdir -p /var/git/checkout"
136
+ sudo "test -d /var/git/checkout/#{application} || sudo git clone /home/git/repositories/#{application}.git /var/git/checkout/#{application}"
137
+ sudo "chown -R git:deploy /var/git/checkout/#{application}"
138
+ hook_file = "/home/git/repositories/#{application}.git/hooks/post-update"
139
+ hook_file_tmp = "/tmp/hook_file.tmp"
140
+ sudo "echo \"#!/bin/sh\" > #{hook_file_tmp}"
141
+ [
142
+ "cd /var/git/checkout/#{application} || exit",
143
+ "unset GIT_DIR",
144
+ "git pull /home/git/repositories/#{application}.git/ master",
145
+ "exec git-update-server-info"
146
+ ].each { |l| sudo "echo \"#{l}\" >> #{hook_file_tmp}" }
147
+ sudo "mv #{hook_file_tmp} #{hook_file}"
148
+ sudo "chmod 755 #{hook_file}"
149
+ sudo "chown git:scm #{hook_file}"
150
+ puts "\nPut '/var/git/checkout/#{application}/.git' into Redmine Git repository settings\n\n"
151
+ end
152
+
133
153
  end end
134
154
  end
@@ -16,7 +16,7 @@ Capistrano::Configuration.instance(:must_exist).load do
16
16
  desc "Install merb"
17
17
  task :install, :roles => :app do
18
18
  install_deps
19
- %w(core plugins more).each do |gem|
19
+ %w(extlib core more plugins).each do |gem|
20
20
  package_info = {
21
21
  :filename => "merb-#{gem}",
22
22
  :dir => "merb-#{gem}",
@@ -30,7 +30,7 @@ Capistrano::Configuration.instance(:must_exist).load do
30
30
  task :install_deps do
31
31
  top.centos.mongrel.install
32
32
  top.centos.git.install
33
- gem2.install(%w(rack mongrel json json_pure erubis mime-types rspec hpricot mocha rubigen haml markaby mailfactory ruby2ruby))
33
+ gem2.install(%w(rack mongrel json json_pure erubis mime-types rspec hpricot mocha rubigen haml markaby mailfactory ruby2ruby facets))
34
34
  end
35
35
 
36
36
 
@@ -21,7 +21,7 @@ Capistrano::Configuration.instance(:must_exist).load do
21
21
  # Install
22
22
 
23
23
  desc "Install mongrel"
24
- task :install do
24
+ task :install, :roles => :app do
25
25
  gem2.install 'mongrel'
26
26
  gem2.install 'mongrel_cluster'
27
27
  gem2.install 'swiftiply'
@@ -32,7 +32,7 @@ Capistrano::Configuration.instance(:must_exist).load do
32
32
  activate_system
33
33
  end
34
34
 
35
- task :symlink_mongrel_rails do
35
+ task :symlink_mongrel_rails, :roles => :app do
36
36
  sudo "ln -sf /usr/local/bin/mongrel_rails /usr/bin/mongrel_rails"
37
37
  end
38
38
 
@@ -136,23 +136,28 @@ Capistrano::Configuration.instance(:must_exist).load do
136
136
  task :stop, :roles => :app do
137
137
  send(run_method, "mongrel_rails cluster::stop -C #{mongrel_conf}")
138
138
  end
139
+
140
+ desc "Stop all mongrel clusters."
141
+ task :stop_all, :roles => :app do
142
+ run "#{sudo} /etc/init.d/mongrel_cluster stop"
143
+ end
139
144
 
140
145
  desc "Restart application server."
141
146
  task :restart, :roles => :app do
142
147
  send(run_method, "mongrel_rails cluster::restart --clean -C #{mongrel_conf}")
143
148
  end
144
149
 
145
- task :activate, :roles => :app do
150
+ task :activate do
146
151
  activate_system
147
152
  activate_project
148
153
  end
149
154
 
150
- task :activate_system, :roles => :app do
155
+ task :activate_system do
151
156
  send(run_method, "/sbin/chkconfig --add mongrel_cluster")
152
- send(run_method, "/sbin/chkconfig --level 45 mongrel_cluster on")
157
+ send(run_method, "/sbin/chkconfig --level 35 mongrel_cluster on")
153
158
  end
154
159
 
155
- task :activate_project, :roles => :app do
160
+ task :activate_project do
156
161
  symlink_mongrel_cluster
157
162
  symlink_monit_config
158
163
  end
@@ -8,7 +8,7 @@ Capistrano::Configuration.instance(:must_exist).load do
8
8
  desc "Install mysql"
9
9
  task :install, :roles => :db do
10
10
  install_deps
11
- symlink_mysql_sockfile # XXX still needed?
11
+ #symlink_mysql_sockfile # XXX still needed?
12
12
  end
13
13
 
14
14
  # Install dependencies for Mysql
@@ -23,12 +23,12 @@ Capistrano::Configuration.instance(:must_exist).load do
23
23
  execute(sql, db_user)
24
24
  end
25
25
 
26
- task :symlink_mysql_sockfile, :roles => :db do
26
+ #task :symlink_mysql_sockfile, :roles => :db do
27
27
  # rails puts "socket: /tmp/mysql.sock" into config/database.yml
28
28
  # this is not the location for our ubuntu's mysql socket file
29
29
  # so we create this link to make deployment using rails defaults simpler
30
- sudo "ln -sf /var/lib/mysql/mysql.sock /tmp/mysql.sock"
31
- end
30
+ # sudo "ln -sf /var/lib/mysql/mysql.sock /tmp/mysql.sock"
31
+ #end
32
32
 
33
33
  # Configuration
34
34
 
@@ -54,7 +54,7 @@ Capistrano::Configuration.instance(:must_exist).load do
54
54
  end
55
55
  end
56
56
 
57
- desc "Push trac config files to server"
57
+ desc "Push mysql config files to server"
58
58
  task :config, :roles => :db do
59
59
  deprec2.push_configs(:mysql, SYSTEM_CONFIG_FILES[:mysql])
60
60
  end
@@ -7,14 +7,15 @@ Capistrano::Configuration.instance(:must_exist).load do
7
7
  set :nginx_user, 'nginx'
8
8
  set :nginx_group, 'nginx'
9
9
  set :nginx_vhost_dir, '/usr/local/nginx/conf/vhosts'
10
- set :nginx_client_max_body_size, '50M'
10
+ set :nginx_client_max_body_size, '100M'
11
+ set :nginx_worker_processes, 4
11
12
 
12
13
  SRC_PACKAGES[:nginx] = {
13
- :filename => 'nginx-0.6.31.tar.gz',
14
- :md5sum => "824bcc25bbd5b636f182237b69227bd2 nginx-0.6.31.tar.gz",
15
- :dir => 'nginx-0.6.31',
16
- :url => "http://sysoev.ru/nginx/nginx-0.6.31.tar.gz",
17
- :unpack => "tar zxf nginx-0.6.31.tar.gz;",
14
+ :filename => 'nginx-0.6.34.tar.gz',
15
+ :md5sum => "837bcfb88bdc6b6efc4e63979c9c7b41 nginx-0.6.34.tar.gz",
16
+ :dir => 'nginx-0.6.34',
17
+ :url => "http://sysoev.ru/nginx/nginx-0.6.34.tar.gz",
18
+ :unpack => "tar zxf nginx-0.6.34.tar.gz;",
18
19
  :configure => %w(
19
20
  ./configure
20
21
  --sbin-path=/usr/local/sbin
@@ -23,12 +24,12 @@ Capistrano::Configuration.instance(:must_exist).load do
23
24
  ).reject{|arg| arg.match '#'}.join(' '),
24
25
  :make => 'make;',
25
26
  :install => 'make install;',
26
- :version => 'c0.6.31',
27
+ :version => 'c0.6.34',
27
28
  :release => '1'
28
29
  }
29
30
 
30
31
  desc "Install nginx"
31
- task :install do
32
+ task :install, :roles => :web do
32
33
  install_deps
33
34
  deprec2.download_src(SRC_PACKAGES[:nginx], src_dir)
34
35
  yum.install_from_src(SRC_PACKAGES[:nginx], src_dir)
@@ -43,22 +44,18 @@ Capistrano::Configuration.instance(:must_exist).load do
43
44
  end
44
45
 
45
46
  # install dependencies for nginx
46
- task :install_deps do
47
+ task :install_deps, :roles => :web do
47
48
  #apt.install( {:base => %w(libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev)}, :stable )
48
49
  apt.install( {:base => %w(pcre* openssl openssl-devel zlib-devel)}, :stable )
49
50
  # do we need libgcrypt11-dev?
50
51
  end
51
52
 
52
- task :create_nginx_user do
53
+ task :create_nginx_user, :roles => :web do
53
54
  deprec2.groupadd(nginx_group)
54
55
  deprec2.useradd(nginx_user, :group => nginx_group, :homedir => false)
55
56
  end
56
57
 
57
- task :rename_index_page, :roles => :web do
58
- index_file = '/usr/local/nginx/html/index.html'
59
- sudo "test -f #{index_file} && sudo mv #{index_file} #{index_file}.orig || exit 0"
60
- end
61
-
58
+
62
59
  SYSTEM_CONFIG_FILES[:nginx] = [
63
60
 
64
61
  {:template => 'nginx-init-script',
@@ -116,11 +113,11 @@ Capistrano::Configuration.instance(:must_exist).load do
116
113
  Activate nginx start scripts on server.
117
114
  Setup server to start nginx on boot.
118
115
  DESC
119
- task :activate do
116
+ task :activate, :roles => :web do
120
117
  activate_system
121
118
  end
122
119
 
123
- task :activate_system do
120
+ task :activate_system, :roles => :web do
124
121
  send(run_method, "/sbin/chkconfig --add nginx")
125
122
  send(run_method, "/sbin/chkconfig --level 345 nginx on")
126
123
  end
@@ -129,7 +126,7 @@ Capistrano::Configuration.instance(:must_exist).load do
129
126
  Dectivate nginx start scripts on server.
130
127
  Setup server to start nginx on boot.
131
128
  DESC
132
- task :deactivate do
129
+ task :deactivate, :roles => :web do
133
130
  send(run_method, "/sbin/chkconfig --del nginx")
134
131
  end
135
132
 
@@ -143,7 +140,9 @@ Capistrano::Configuration.instance(:must_exist).load do
143
140
 
144
141
  desc "Stop Nginx"
145
142
  task :stop, :roles => :web do
146
- send(run_method, "/etc/init.d/nginx stop")
143
+ # Nginx returns error code if you try to stop when it's not running
144
+ # We don't want this to kill Capistrano.
145
+ send(run_method, "/etc/init.d/nginx stop; exit 0")
147
146
  end
148
147
 
149
148
  desc "Restart Nginx"
@@ -167,6 +166,11 @@ Capistrano::Configuration.instance(:must_exist).load do
167
166
  # there's nothing to store for nginx
168
167
  end
169
168
 
169
+ # Helper task to get rid of pesky "it works" page - not called by deprec tasks
170
+ task :rename_index_page, :roles => :web do
171
+ index_file = '/usr/local/nginx/html/index.html'
172
+ sudo "test -f #{index_file} && sudo mv #{index_file} #{index_file}.orig || exit 0"
173
+ end
170
174
  end
171
175
  end
172
176
  end
@@ -0,0 +1,127 @@
1
+ # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
+ Capistrano::Configuration.instance(:must_exist).load do
3
+ namespace :centos do
4
+ namespace :passenger do
5
+
6
+ set :passenger_install_dir, '/opt/passenger'
7
+ set(:passenger_document_root) { "#{current_path}/public" }
8
+ set :passenger_rails_allow_mod_rewrite, 'off'
9
+ set :passenger_vhost_dir, '/usr/local/apache2/conf/apps'
10
+ # Default settings for Passenger config files
11
+ set :passenger_log_level, 0
12
+ set :passenger_user_switching, 'on'
13
+ set :passenger_default_user, 'nobody'
14
+ set :passenger_max_pool_size, 6
15
+ set :passenger_max_instances_per_app, 0
16
+ set :passenger_pool_idle_time, 300
17
+ set :passenger_rails_autodetect, 'on'
18
+ set :passenger_rails_spawn_method, 'smart' # smart | conservative
19
+
20
+ SRC_PACKAGES[:passenger] = {
21
+ :url => "git://github.com/FooBarWidget/passenger.git",
22
+ :download_method => :git,
23
+ :version => 'release-2.0.6', # Specify a tagged release to deploy
24
+ :configure => '',
25
+ :make => '',
26
+ :install => ' ./bin/passenger-install-apache2-module'
27
+ }
28
+
29
+ SYSTEM_CONFIG_FILES[:passenger] = [
30
+
31
+ {:template => 'passenger.erb',
32
+ :path => '/usr/local/apache2/conf/apps/passenger',
33
+ :mode => 0755,
34
+ :owner => 'root:root'}
35
+
36
+ ]
37
+
38
+ PROJECT_CONFIG_FILES[:passenger] = [
39
+
40
+ { :template => 'apache_vhost.erb',
41
+ :path => 'apache_vhost',
42
+ :mode => 0755,
43
+ :owner => 'root:root'}
44
+
45
+ ]
46
+
47
+ desc "Install passenger"
48
+ task :install, :roles => :passenger do
49
+ install_deps
50
+ deprec2.download_src(SRC_PACKAGES[:passenger], src_dir)
51
+
52
+ # Non standard - passenger requires input
53
+ package_dir = File.join(src_dir, 'passenger.git')
54
+ dest_dir = passenger_install_dir + '-' + (SRC_PACKAGES[:passenger][:version] || 'trunk')
55
+ run "#{sudo} rsync -avz #{package_dir}/ #{dest_dir}"
56
+ run <<-EOF
57
+ cd #{dest_dir} &&
58
+ #{sudo} ruby -i -pe '$_ = $_.sub("STDIN.readline","# do nothing")' bin/passenger-install-apache2-module
59
+ EOF
60
+ run "export APXS2=/usr/local/apache2/bin/apxs"
61
+ run "export APR_CONFIG=/usr/local/apache2/bin/apr-1-config"
62
+ sudo "su -c 'export PATH=/usr/local/apache2/bin:$PATH && export APXS2=/usr/local/apache2/bin/apxs && export APR_CONFIG=/usr/local/apache2/bin/apr-1-config && cd #{dest_dir} && ./bin/passenger-install-apache2-module'"
63
+ #run "cd #{dest_dir} && #{sudo} ./bin/passenger-install-apache2-module"
64
+ run "#{sudo} unlink #{passenger_install_dir} 2>/dev/null; #{sudo} ln -sf #{dest_dir} #{passenger_install_dir}"
65
+ end
66
+
67
+ # install dependencies for nginx
68
+ task :install_deps, :roles => :passenger do
69
+ apt.install( {:base => %w(rsync apr-devel)}, :stable )
70
+ gem2.install 'rack'
71
+ top.centos.apache.install
72
+ end
73
+
74
+ desc "Generate Passenger apache configs (system & project level)."
75
+ task :config_gen do
76
+ config_gen_system
77
+ config_gen_project
78
+ end
79
+
80
+ desc "Generate Passenger apache configs (system level) from template."
81
+ task :config_gen_system do
82
+ SYSTEM_CONFIG_FILES[:passenger].each do |file|
83
+ deprec2.render_template(:passenger, file)
84
+ end
85
+ end
86
+
87
+ desc "Generate Passenger apache configs (project level) from template."
88
+ task :config_gen_project do
89
+ PROJECT_CONFIG_FILES[:passenger].each do |file|
90
+ deprec2.render_template(:passenger, file)
91
+ end
92
+ end
93
+
94
+ desc "Push Passenger config files (system & project level) to server"
95
+ task :config, :roles => :passenger do
96
+ config_system
97
+ config_project
98
+ end
99
+
100
+ desc "Push Passenger configs (system level) to server"
101
+ task :config_system, :roles => :passenger do
102
+ deprec2.push_configs(:passenger, SYSTEM_CONFIG_FILES[:passenger])
103
+ end
104
+
105
+ desc "Push Passenger configs (project level) to server"
106
+ task :config_project, :roles => :passenger do
107
+ deprec2.push_configs(:passenger, PROJECT_CONFIG_FILES[:passenger])
108
+ symlink_passenger_vhost
109
+ end
110
+
111
+ task :symlink_passenger_vhost, :roles => :passenger do
112
+ sudo "ln -sf #{deploy_to}/passenger/apache_vhost #{passenger_vhost_dir}/#{application}.conf"
113
+ end
114
+
115
+ desc "Restart Application"
116
+ task :restart, :roles => :app do
117
+ run "touch #{current_path}/tmp/restart.txt"
118
+ end
119
+
120
+ desc "Restart Apache"
121
+ task :restart_apache, :roles => :passenger do
122
+ run "#{sudo} /etc/init.d/httpd restart"
123
+ end
124
+
125
+ end
126
+ end
127
+ end