centostrano 0.1 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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