bcalloway-slicehost 0.0.2.6 → 0.0.3.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.
- data/MIT-LICENSE +20 -0
- data/README +99 -0
- data/lib/capistrano/ext/slicehost.rb +7 -0
- data/lib/capistrano/ext/slicehost/apache.rb +90 -0
- data/lib/capistrano/ext/slicehost/aptitude.rb +94 -0
- data/lib/capistrano/ext/slicehost/disk.rb +13 -0
- data/lib/capistrano/ext/slicehost/gems.rb +41 -0
- data/lib/capistrano/ext/slicehost/git.rb +6 -0
- data/lib/capistrano/ext/slicehost/iptables.rb +21 -0
- data/lib/capistrano/ext/slicehost/mysql.rb +36 -0
- data/lib/capistrano/ext/slicehost/nginx.rb +70 -0
- data/lib/capistrano/ext/slicehost/postgresql.rb +37 -0
- data/lib/capistrano/ext/slicehost/profile.rb +11 -0
- data/lib/capistrano/ext/slicehost/render.rb +6 -0
- data/lib/capistrano/ext/slicehost/ruby.rb +59 -0
- data/lib/capistrano/ext/slicehost/slice.rb +10 -0
- data/lib/capistrano/ext/slicehost/ssh.rb +59 -0
- data/lib/capistrano/ext/slicehost/templates/bashrc.erb +93 -0
- data/lib/capistrano/ext/slicehost/templates/iptables.erb +42 -0
- data/lib/capistrano/ext/slicehost/templates/mydircolors.erb +170 -0
- data/lib/capistrano/ext/slicehost/templates/nanorc.erb +260 -0
- data/lib/capistrano/ext/slicehost/templates/passenger.conf.erb +2 -0
- data/lib/capistrano/ext/slicehost/templates/passenger.load.erb +1 -0
- data/lib/capistrano/ext/slicehost/templates/sshd_config.erb +81 -0
- data/lib/capistrano/ext/slicehost/templates/vhost.erb +8 -0
- data/lib/capistrano/ext/slicehost/templates/vhost_nginx.erb +23 -0
- data/lib/capistrano/ext/slicehost/templates/vimrc.erb +4 -0
- data/lib/capistrano/ext/slicehost/useradd.rb +68 -0
- data/lib/capistrano/ext/slicehost/vim.rb +19 -0
- metadata +39 -10
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 Joshua Peek
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README
ADDED
@@ -0,0 +1,99 @@
|
|
1
|
+
Slicehost Recipes
|
2
|
+
=================
|
3
|
+
|
4
|
+
Note: This is a fork of the original slicehost Capistrano recipies by Joshua Peek
|
5
|
+
|
6
|
+
Slicehost Capistrano recipes for configuring and managing your slice. Require Capistrano >2.5.0
|
7
|
+
|
8
|
+
Setup
|
9
|
+
=======
|
10
|
+
|
11
|
+
The recipes are designed to work stand alone apart from the standard set of Capistrano deploy recipes.
|
12
|
+
|
13
|
+
require 'capistrano/ext/slicehost' in your deploy.rb file
|
14
|
+
|
15
|
+
Slice setup recipies
|
16
|
+
====================
|
17
|
+
|
18
|
+
Commonly used setup recipies. Check the source for more.
|
19
|
+
|
20
|
+
Setup ssh, iptables and aptitude
|
21
|
+
cap slice:configure
|
22
|
+
|
23
|
+
Setup mysql
|
24
|
+
cap mysql:install
|
25
|
+
|
26
|
+
Install Apache
|
27
|
+
cap apache:install
|
28
|
+
|
29
|
+
Install ruby 1.8
|
30
|
+
cap ruby:setup_18
|
31
|
+
|
32
|
+
Install ruby enterprise
|
33
|
+
cap ruby:install_enterprise
|
34
|
+
|
35
|
+
Install ruby gems
|
36
|
+
cap gems:install_rubygems
|
37
|
+
|
38
|
+
Install passenger
|
39
|
+
cap ruby:install_passenger
|
40
|
+
|
41
|
+
Upload vhost template
|
42
|
+
cap apache:upload_vhost
|
43
|
+
|
44
|
+
Install git
|
45
|
+
cap git:install
|
46
|
+
|
47
|
+
Maintenance recipies
|
48
|
+
====================
|
49
|
+
|
50
|
+
Commonly used maitenance recipies. Check the source for more.
|
51
|
+
|
52
|
+
Show disk space
|
53
|
+
cap disk:free
|
54
|
+
|
55
|
+
Show free memory
|
56
|
+
cap disk:memory
|
57
|
+
|
58
|
+
Update aptitude
|
59
|
+
cap aptitude:update
|
60
|
+
|
61
|
+
Upgrade aptitude
|
62
|
+
cap aptitude:upgrade
|
63
|
+
|
64
|
+
Install package (it will ask you which)
|
65
|
+
cap aptitude:install
|
66
|
+
|
67
|
+
Reload SSH
|
68
|
+
cap ssh:reload
|
69
|
+
|
70
|
+
Install a gem (it will ask you which)
|
71
|
+
cap gems:intall
|
72
|
+
|
73
|
+
List gems
|
74
|
+
cap gems:list
|
75
|
+
|
76
|
+
Restart apache
|
77
|
+
cap apache:restart
|
78
|
+
|
79
|
+
Reload apache
|
80
|
+
cap apache:reload
|
81
|
+
|
82
|
+
Force reload apache
|
83
|
+
cap apache:force_reload
|
84
|
+
|
85
|
+
|
86
|
+
Contributors
|
87
|
+
============
|
88
|
+
|
89
|
+
* Oleg Zhurbiy
|
90
|
+
* Thomas Balthazar
|
91
|
+
* Fran Diéguez
|
92
|
+
* Stephen Lumenta
|
93
|
+
* Jared Giles
|
94
|
+
* John Nunemaker
|
95
|
+
* Eloy Duran
|
96
|
+
* Mischa Fierer
|
97
|
+
* Kurt Schrader
|
98
|
+
|
99
|
+
Copyright (c) 2009 Joshua Peek, released under the MIT license
|
@@ -0,0 +1,90 @@
|
|
1
|
+
set(:domain) do
|
2
|
+
Capistrano::CLI.ui.ask "Which domain should we use? "
|
3
|
+
end
|
4
|
+
|
5
|
+
namespace :apache do
|
6
|
+
desc "Restarts Apache webserver"
|
7
|
+
task :restart, :roles => :web do
|
8
|
+
sudo "/etc/init.d/apache2 restart"
|
9
|
+
end
|
10
|
+
|
11
|
+
desc "Starts Apache webserver"
|
12
|
+
task :start, :roles => :web do
|
13
|
+
sudo "/etc/init.d/apache2 start"
|
14
|
+
end
|
15
|
+
|
16
|
+
desc "Stops Apache webserver"
|
17
|
+
task :stop, :roles => :web do
|
18
|
+
sudo "/etc/init.d/apache2 stop"
|
19
|
+
end
|
20
|
+
|
21
|
+
desc "Reload Apache webserver"
|
22
|
+
task :reload, :roles => :web do
|
23
|
+
sudo "/etc/init.d/apache2 reload"
|
24
|
+
end
|
25
|
+
|
26
|
+
desc "Force reload Apache webserver"
|
27
|
+
task :force_reload, :roles => :web do
|
28
|
+
sudo "/etc/init.d/apache2 force-reload"
|
29
|
+
end
|
30
|
+
|
31
|
+
desc "List enabled Apache sites"
|
32
|
+
task :enabled_sites, :roles => :web do
|
33
|
+
run "ls /etc/apache2/sites-enabled"
|
34
|
+
end
|
35
|
+
|
36
|
+
desc "List available Apache sites"
|
37
|
+
task :available_sites, :roles => :web do
|
38
|
+
run "ls /etc/apache2/sites-available"
|
39
|
+
end
|
40
|
+
|
41
|
+
desc "List enabled Apache modules"
|
42
|
+
task :enabled_modules, :roles => :web do
|
43
|
+
run "ls /etc/apache2/mods-enabled"
|
44
|
+
end
|
45
|
+
|
46
|
+
desc "List available Apache modules"
|
47
|
+
task :available_modules, :roles => :web do
|
48
|
+
run "ls /etc/apache2/mods-available"
|
49
|
+
end
|
50
|
+
|
51
|
+
desc "Disable Apache site"
|
52
|
+
task :disable_site, :roles => :web do
|
53
|
+
site = Capistrano::CLI.ui.ask("Which site should we disable: ")
|
54
|
+
sudo "sudo a2dissite #{site}"
|
55
|
+
reload
|
56
|
+
end
|
57
|
+
|
58
|
+
desc "Enable Apache site"
|
59
|
+
task :enable_site, :roles => :web do
|
60
|
+
site = Capistrano::CLI.ui.ask("Which site should we enable: ")
|
61
|
+
sudo "sudo a2ensite #{site}"
|
62
|
+
reload
|
63
|
+
end
|
64
|
+
|
65
|
+
desc "Disable Apache module"
|
66
|
+
task :disable_module, :roles => :web do
|
67
|
+
mod = Capistrano::CLI.ui.ask("Which module should we disable: ")
|
68
|
+
sudo "sudo a2dismod #{mod}"
|
69
|
+
force_reload
|
70
|
+
end
|
71
|
+
|
72
|
+
desc "Enable Apache module"
|
73
|
+
task :enable_module, :roles => :web do
|
74
|
+
mod = Capistrano::CLI.ui.ask("Which module should we enable: ")
|
75
|
+
sudo "sudo a2enmod #{mod}"
|
76
|
+
force_reload
|
77
|
+
end
|
78
|
+
|
79
|
+
desc "Upload Apache virtual host"
|
80
|
+
task :upload_vhost, :roles => :web do
|
81
|
+
put render("vhost", binding), application
|
82
|
+
sudo "mv #{application} /etc/apache2/sites-available/#{application}"
|
83
|
+
end
|
84
|
+
|
85
|
+
desc "Install Apache"
|
86
|
+
task :install, :roles => :web do
|
87
|
+
sudo "aptitude install -y apache2 apache2.2-common apache2-mpm-prefork apache2-utils libexpat1 ssl-cert"
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
namespace :aptitude do
|
2
|
+
desc <<-DESC
|
3
|
+
Updates your software package list. This will not "upgrade" any of your \
|
4
|
+
installed software.
|
5
|
+
|
6
|
+
See "Update" section on \
|
7
|
+
http://articles.slicehost.com/2007/11/6/ubuntu-gutsy-setup-page-2
|
8
|
+
DESC
|
9
|
+
task :update, :roles => :app do
|
10
|
+
sudo "aptitude update"
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Alias for 'aptitude:safe_upgrade'"
|
14
|
+
task :upgrade, :roles => :app do
|
15
|
+
safe_upgrade
|
16
|
+
end
|
17
|
+
|
18
|
+
desc <<-DESC
|
19
|
+
Upgrades your installed software packages.
|
20
|
+
|
21
|
+
From the aptitude man pages:
|
22
|
+
|
23
|
+
This command will upgrade as many packages as it can upgrade without \
|
24
|
+
removing existing packages or installing new ones.
|
25
|
+
|
26
|
+
It is sometimes necessary to remove or install one package in order to \
|
27
|
+
upgrade another; this command is not able to upgrade packages in such \
|
28
|
+
situations. Use the full-upgrade to upgrade those packages as well.
|
29
|
+
|
30
|
+
See "Upgrade" section on \
|
31
|
+
http://articles.slicehost.com/2007/11/6/ubuntu-gutsy-setup-page-2
|
32
|
+
DESC
|
33
|
+
task :safe_upgrade, :roles => :app do
|
34
|
+
sudo "aptitude safe-upgrade -y"
|
35
|
+
end
|
36
|
+
|
37
|
+
desc <<-DESC
|
38
|
+
Upgrades your installed software packages.
|
39
|
+
|
40
|
+
From the aptitude man pages:
|
41
|
+
|
42
|
+
Like safe-upgrade, this command will attempt to upgrade packages, but it is \
|
43
|
+
more aggressive about solving dependency problems: it will install and \
|
44
|
+
remove packages until all dependencies are satisfied. Because of the nature \
|
45
|
+
of this command, it is possible that it will do undesirable things, and so \
|
46
|
+
you should be careful when using it.
|
47
|
+
|
48
|
+
See "Upgrade" section on \
|
49
|
+
http://articles.slicehost.com/2007/11/6/ubuntu-gutsy-setup-page-2
|
50
|
+
DESC
|
51
|
+
task :full_upgrade, :roles => :app do
|
52
|
+
sudo "aptitude full-upgrade -y"
|
53
|
+
end
|
54
|
+
|
55
|
+
desc <<-DESC
|
56
|
+
Installs a software package via aptitude. You will be prompted for the \
|
57
|
+
package name after running this commmand.
|
58
|
+
DESC
|
59
|
+
task :install, :roles => :app do
|
60
|
+
package = Capistrano::CLI.ui.ask("Which package should we install: ")
|
61
|
+
sudo "aptitude install -y #{package}"
|
62
|
+
end
|
63
|
+
|
64
|
+
desc <<-DESC
|
65
|
+
Uninstalls a software package via aptitude. You will be prompted for the \
|
66
|
+
package name after running this commmand.
|
67
|
+
DESC
|
68
|
+
task :uninstall, :roles => :app do
|
69
|
+
package = Capistrano::CLI.ui.ask("Which package should we uninstall: ")
|
70
|
+
sudo "aptitude remove #{package}"
|
71
|
+
end
|
72
|
+
|
73
|
+
desc <<-DESC
|
74
|
+
Updates software packages and creates "a solid base for the 'meat' of the \
|
75
|
+
server". This task should be run only once when you are first setting up your \
|
76
|
+
new slice.
|
77
|
+
|
78
|
+
For set another language different from en_GB.UTF-8, just set the LANG \
|
79
|
+
environment variable to your favorite language.
|
80
|
+
Ex. LANG="gl_ES.UTF-8"; cap aptitude:setup
|
81
|
+
|
82
|
+
See "Update", "locales", "Upgrade" and "build essentials" sections on \
|
83
|
+
http://articles.slicehost.com/2007/11/6/ubuntu-gutsy-setup-page-2
|
84
|
+
DESC
|
85
|
+
task :setup, :roles => :app do
|
86
|
+
update
|
87
|
+
language = ENV["LANG"] || "en_GB.UTF-8"
|
88
|
+
# sudo "locale-gen language"
|
89
|
+
# sudo "/usr/sbin/update-locale LANG=#{language}"
|
90
|
+
safe_upgrade
|
91
|
+
full_upgrade
|
92
|
+
sudo "aptitude install -y build-essential"
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
namespace :gems do
|
2
|
+
desc "Install the gem package system"
|
3
|
+
task :install_rubygems, :roles => :app do
|
4
|
+
rubygems_url = "http://rubyforge.org/" + Net::HTTP.get( URI.parse('http://rubyforge.org/frs/?group_id=126') ).scan(/frs\/.*\.tgz/).first.split('"')[0]
|
5
|
+
rubygems_version = rubygems_url[/(rubygems.*)(.tgz)/, 1]
|
6
|
+
run "test ! -f /usr/bin/gem"
|
7
|
+
run "wget -q #{rubygems_url}"
|
8
|
+
run "tar xzvf #{rubygems_version}.tgz"
|
9
|
+
run "rm #{rubygems_version}.tgz"
|
10
|
+
run "cd /home/#{user}/#{rubygems_version} && sudo /usr/bin/ruby ./setup.rb"
|
11
|
+
sudo "ln -s /usr/bin/gem1.8 /usr/bin/gem"
|
12
|
+
sudo "rm -rf #{rubygems_version}/"
|
13
|
+
end
|
14
|
+
|
15
|
+
desc "List gems on remote server"
|
16
|
+
task :list, :roles => :app do
|
17
|
+
stream "gem list"
|
18
|
+
end
|
19
|
+
|
20
|
+
desc "Update gems on remote server"
|
21
|
+
task :update, :roles => :app do
|
22
|
+
sudo "gem update"
|
23
|
+
end
|
24
|
+
|
25
|
+
desc "Update gem system on remote server"
|
26
|
+
task :update_system, :roles => :app do
|
27
|
+
sudo "gem update --system"
|
28
|
+
end
|
29
|
+
|
30
|
+
desc "Install a gem on the remote server"
|
31
|
+
task :install, :roles => :app do
|
32
|
+
name = Capistrano::CLI.ui.ask("Which gem should we install: ")
|
33
|
+
sudo "gem install #{name} --no-rdoc --no-ri"
|
34
|
+
end
|
35
|
+
|
36
|
+
desc "Uninstall a gem on the remote server"
|
37
|
+
task :uninstall, :roles => :app do
|
38
|
+
name = Capistrano::CLI.ui.ask("Which gem should we uninstall: ")
|
39
|
+
sudo "gem uninstall #{name}"
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
namespace :iptables do
|
2
|
+
desc <<-DESC
|
3
|
+
Harden iptables configuration. Only allows ssh, http, and https connections.
|
4
|
+
|
5
|
+
See "iptables" section on \
|
6
|
+
http://articles.slicehost.com/2008/4/25/ubuntu-hardy-setup-page-1
|
7
|
+
DESC
|
8
|
+
task :configure, :roles => :gateway do
|
9
|
+
put render("iptables", binding), "iptables.up.rules"
|
10
|
+
sudo "mv iptables.up.rules /etc/iptables.up.rules"
|
11
|
+
|
12
|
+
if capture("cat /etc/network/interfaces").grep(/iptables/).empty?
|
13
|
+
run %(cat /etc/network/interfaces |
|
14
|
+
sed '/iface lo inet loopback/G' |
|
15
|
+
sed -e '6s/.*/pre-up iptables-restore < \\/etc\\\/iptables.up.rules/' >
|
16
|
+
interfaces
|
17
|
+
)
|
18
|
+
sudo "mv interfaces /etc/network/interfaces"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
namespace :mysql do
|
2
|
+
desc "Restarts MySQL database server"
|
3
|
+
task :restart, :roles => :db do
|
4
|
+
sudo "/etc/init.d/mysql restart"
|
5
|
+
end
|
6
|
+
|
7
|
+
desc "Starts MySQL database server"
|
8
|
+
task :start, :roles => :db do
|
9
|
+
sudo "/etc/init.d/mysql start"
|
10
|
+
end
|
11
|
+
|
12
|
+
desc "Stops MySQL database server"
|
13
|
+
task :stop, :roles => :db do
|
14
|
+
sudo "/etc/init.d/mysql stop"
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Export MySQL database"
|
18
|
+
task :export, :roles => :db do
|
19
|
+
database = Capistrano::CLI.ui.ask("Which database should we export: ")
|
20
|
+
sudo "mysqldump -u root -p #{database} > #{database}.sql"
|
21
|
+
end
|
22
|
+
|
23
|
+
desc "Import MySQL database"
|
24
|
+
task :import, :roles => :db do
|
25
|
+
database = Capistrano::CLI.ui.ask("Which database should we create: ")
|
26
|
+
file = Capistrano::CLI.ui.ask("Which database file should we import: ")
|
27
|
+
sudo "mysqladmin -u root -p create #{database}"
|
28
|
+
sudo "mysql -u root -p #{database} < #{file}"
|
29
|
+
end
|
30
|
+
|
31
|
+
desc "Install MySQL"
|
32
|
+
task :install, :roles => :db do
|
33
|
+
sudo "aptitude install -y mysql-server mysql-client libmysqlclient15-dev"
|
34
|
+
sudo "aptitude install -y libmysql-ruby1.8"
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
set(:domain) do
|
2
|
+
Capistrano::CLI.ui.ask "Which domain should we use? "
|
3
|
+
end
|
4
|
+
|
5
|
+
set :nginx_path, "/opt/nginx"
|
6
|
+
|
7
|
+
namespace :nginx do
|
8
|
+
desc "Restarts Nginx webserver"
|
9
|
+
task :restart, :roles => :web do
|
10
|
+
sudo "/etc/init.d/nginx restart"
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Starts Nginx webserver"
|
14
|
+
task :start, :roles => :web do
|
15
|
+
sudo "/etc/init.d/nginx start"
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "Stops Nginx webserver"
|
19
|
+
task :stop, :roles => :web do
|
20
|
+
sudo "/etc/init.d/nginx stop"
|
21
|
+
end
|
22
|
+
|
23
|
+
desc "Reload Nginx webserver"
|
24
|
+
task :reload, :roles => :web do
|
25
|
+
sudo "/etc/init.d/nginx reload"
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "Force reload Nginx webserver"
|
29
|
+
task :force_reload, :roles => :web do
|
30
|
+
sudo "/etc/init.d/nginx force-reload"
|
31
|
+
end
|
32
|
+
|
33
|
+
desc "List enabled Nginx sites"
|
34
|
+
task :enabled_sites, :roles => :web do
|
35
|
+
run "ls #{nginx_path}/sites-enabled"
|
36
|
+
end
|
37
|
+
|
38
|
+
desc "List available Nginx sites"
|
39
|
+
task :available_sites, :roles => :web do
|
40
|
+
run "ls #{nginx_path}/sites-available"
|
41
|
+
end
|
42
|
+
|
43
|
+
desc "Disable Nginx site"
|
44
|
+
task :disable_site, :roles => :web do
|
45
|
+
site = Capistrano::CLI.ui.ask("Which site should we disable: ")
|
46
|
+
sudo "rm #{nginx_path}/sites-enabled/#{site}"
|
47
|
+
reload
|
48
|
+
end
|
49
|
+
|
50
|
+
desc "Enable Nginx site"
|
51
|
+
task :enable_site, :roles => :web do
|
52
|
+
site = Capistrano::CLI.ui.ask("Which site should we enable: ")
|
53
|
+
sudo "ln -s #{nginx_path}/sites-available/#{site} #{nginx_path}/sites-enabled/#{site}"
|
54
|
+
reload
|
55
|
+
end
|
56
|
+
|
57
|
+
desc "Upload Nginx virtual host"
|
58
|
+
task :upload_vhost, :roles => :web do
|
59
|
+
put render("vhost_nginx", binding), application
|
60
|
+
sudo "mv #{application} #{nginx_path}/sites-available/#{application}"
|
61
|
+
end
|
62
|
+
|
63
|
+
desc "Install Nginx"
|
64
|
+
task :install, :roles => :web do
|
65
|
+
sudo "passenger-install-nginx-module --auto --auto-download --prefix #{nginx_path} "
|
66
|
+
sudo "mkdir #{nginx_path}/sites-available"
|
67
|
+
sudo "mkdir #{nginx_path}/sites-enabled"
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|