josh-slicehost 0.0.2.1 → 0.0.2.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.
- data/MIT-LICENSE +1 -1
- data/README +10 -1
- data/lib/capistrano/ext/slicehost/apache.rb +5 -0
- data/lib/capistrano/ext/slicehost/aptitude.rb +7 -2
- data/lib/capistrano/ext/slicehost/disk.rb +6 -0
- data/lib/capistrano/ext/slicehost/gems.rb +14 -1
- data/lib/capistrano/ext/slicehost/ruby.rb +22 -7
- data/lib/capistrano/ext/slicehost/ssh.rb +8 -2
- data/lib/capistrano/ext/slicehost/templates/{passenger.config.erb → passenger.conf.erb} +0 -0
- metadata +3 -3
data/MIT-LICENSE
CHANGED
data/README
CHANGED
@@ -10,4 +10,13 @@ The recipes are designed to work stand alone apart from the standard set of Capi
|
|
10
10
|
|
11
11
|
require 'capistrano/ext/slicehost' in your deploy.rb file
|
12
12
|
|
13
|
-
|
13
|
+
Contributors
|
14
|
+
============
|
15
|
+
|
16
|
+
* Oleg Zhurbiy
|
17
|
+
* Thomas Balthazar
|
18
|
+
* Fran Diéguez
|
19
|
+
* Stephen Lumenta
|
20
|
+
* Jared Giles
|
21
|
+
|
22
|
+
Copyright (c) 2009 Joshua Peek, released under the MIT license
|
@@ -81,4 +81,9 @@ namespace :apache do
|
|
81
81
|
put render("vhost", binding), application
|
82
82
|
sudo "mv #{application} /etc/apache2/sites-available/#{application}"
|
83
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
|
84
89
|
end
|
@@ -74,14 +74,19 @@ namespace :aptitude do
|
|
74
74
|
Updates software packages and creates "a solid base for the 'meat' of the \
|
75
75
|
server". This task should be run only once when you are first setting up your \
|
76
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
|
77
81
|
|
78
82
|
See "Update", "locales", "Upgrade" and "build essentials" sections on \
|
79
83
|
http://articles.slicehost.com/2007/11/6/ubuntu-gutsy-setup-page-2
|
80
84
|
DESC
|
81
85
|
task :setup, :roles => :app do
|
82
86
|
update
|
83
|
-
|
84
|
-
sudo "
|
87
|
+
language = ENV["LANG"] || "en_GB.UTF-8"
|
88
|
+
sudo "locale-gen language"
|
89
|
+
sudo "/usr/sbin/update-locale LANG=#{language}"
|
85
90
|
safe_upgrade
|
86
91
|
full_upgrade
|
87
92
|
sudo "aptitude install -y build-essential"
|
@@ -1,4 +1,17 @@
|
|
1
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
|
+
|
2
15
|
desc "List gems on remote server"
|
3
16
|
task :list, :roles => :app do
|
4
17
|
stream "gem list"
|
@@ -17,7 +30,7 @@ namespace :gems do
|
|
17
30
|
desc "Install a gem on the remote server"
|
18
31
|
task :install, :roles => :app do
|
19
32
|
name = Capistrano::CLI.ui.ask("Which gem should we install: ")
|
20
|
-
sudo "gem install #{name}"
|
33
|
+
sudo "gem install #{name} --no-rdoc --no-ri"
|
21
34
|
end
|
22
35
|
|
23
36
|
desc "Uninstall a gem on the remote server"
|
@@ -1,8 +1,12 @@
|
|
1
|
-
# TODO: Automatically determine
|
2
|
-
set :
|
3
|
-
|
1
|
+
# TODO: Automatically determine this value
|
2
|
+
set :passenger_version, "2.0.6"
|
3
|
+
|
4
|
+
require 'net/http'
|
5
|
+
set :ruby_enterprise_url ,Net::HTTP.get( 'www.rubyenterpriseedition.com', '/download.html' ).scan(/http:.*\.tar\.gz/).first
|
6
|
+
set :ruby_enterprise_version, "#{ruby_enterprise_url[/(ruby-enterprise.*)(.tar.gz)/, 1]}"
|
4
7
|
|
5
8
|
namespace :ruby do
|
9
|
+
|
6
10
|
desc "Install Ruby 1.8"
|
7
11
|
task :setup_18, :roles => :app do
|
8
12
|
sudo "aptitude install -y ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8 libreadline-ruby1.8 libruby1.8 libopenssl-ruby sqlite3 libsqlite3-ruby1.8"
|
@@ -15,8 +19,9 @@ namespace :ruby do
|
|
15
19
|
|
16
20
|
desc "Install Ruby Enterpise Edition"
|
17
21
|
task :install_enterprise, :roles => :app do
|
22
|
+
sudo "aptitude install -y libssl-dev"
|
18
23
|
run "test ! -d /opt/#{ruby_enterprise_version}"
|
19
|
-
run "wget -q
|
24
|
+
run "wget -q #{ruby_enterprise_url}"
|
20
25
|
run "tar xzvf #{ruby_enterprise_version}.tar.gz"
|
21
26
|
run "rm #{ruby_enterprise_version}.tar.gz"
|
22
27
|
sudo "./#{ruby_enterprise_version}/installer --auto /opt/#{ruby_enterprise_version}"
|
@@ -26,11 +31,21 @@ namespace :ruby do
|
|
26
31
|
desc "Install Phusion Passenger"
|
27
32
|
task :install_passenger, :roles => :app do
|
28
33
|
sudo "apt-get install apache2-mpm-prefork"
|
29
|
-
sudo "
|
30
|
-
sudo "/opt/#{ruby_enterprise_version}/bin/ruby /opt/#{ruby_enterprise_version}/bin/passenger-
|
34
|
+
sudo "aptitude install -y apache2-prefork-dev"
|
35
|
+
sudo "/opt/#{ruby_enterprise_version}/bin/ruby /opt/#{ruby_enterprise_version}/bin/gem install passenger rake --no-rdoc --no-ri"
|
36
|
+
sudo "PATH='/opt/#{ruby_enterprise_version}/bin/':\$PATH /opt/#{ruby_enterprise_version}/bin/ruby /opt/#{ruby_enterprise_version}/bin/passenger-install-apache2-module", :pty => true do |ch, stream, data|
|
37
|
+
|
38
|
+
if data =~ /Press\sEnter\sto\scontinue/ || data =~ /Press\sENTER\sto\scontinue/
|
39
|
+
# prompt, and then send the response to the remote process
|
40
|
+
ch.send_data(Capistrano::CLI.password_prompt("Press enter to continue: ") + "\n")
|
41
|
+
else
|
42
|
+
# use the default handler for all other text
|
43
|
+
Capistrano::Configuration.default_io_proc.call(ch, stream, data)
|
44
|
+
end
|
45
|
+
end
|
31
46
|
|
32
47
|
put render("passenger.load", binding), "/home/#{user}/passenger.load"
|
33
|
-
put render("passenger.
|
48
|
+
put render("passenger.conf", binding), "/home/#{user}/passenger.conf"
|
34
49
|
|
35
50
|
sudo "mv /home/#{user}/passenger.load /etc/apache2/mods-available/"
|
36
51
|
sudo "mv /home/#{user}/passenger.config /etc/apache2/mods-available/"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
ssh_options = { :keys => [File.expand_path("~/.ssh/id_dsa")], :port => 22 }
|
1
|
+
ssh_options = { :keys => [File.expand_path("~/.ssh/id_dsa"),File.expand_path("~/.ssh/id_rsa") ], :port => 22 }
|
2
2
|
|
3
3
|
namespace :ssh do
|
4
4
|
desc <<-DESC
|
@@ -32,7 +32,13 @@ namespace :ssh do
|
|
32
32
|
run "chown -R #{user}:#{user} ~/.ssh"
|
33
33
|
run "chmod 700 ~/.ssh"
|
34
34
|
|
35
|
-
authorized_keys = ssh_options[:keys].collect { |key|
|
35
|
+
authorized_keys = ssh_options[:keys].collect { |key|
|
36
|
+
begin
|
37
|
+
File.read("#{key}.pub")
|
38
|
+
rescue Errno::ENOENT => e
|
39
|
+
end
|
40
|
+
|
41
|
+
}.join("\n")
|
36
42
|
put authorized_keys, "./.ssh/authorized_keys", :mode => 0600
|
37
43
|
end
|
38
44
|
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: josh-slicehost
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.2.
|
4
|
+
version: 0.0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua Peek
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-01-25 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -46,7 +46,7 @@ files:
|
|
46
46
|
- lib/capistrano/ext/slicehost/iptables.rb
|
47
47
|
- lib/capistrano/ext/slicehost/mysql.rb
|
48
48
|
- lib/capistrano/ext/slicehost/templates
|
49
|
-
- lib/capistrano/ext/slicehost/templates/passenger.
|
49
|
+
- lib/capistrano/ext/slicehost/templates/passenger.conf.erb
|
50
50
|
- lib/capistrano/ext/slicehost/templates/vhost.erb
|
51
51
|
- lib/capistrano/ext/slicehost/templates/passenger.load.erb
|
52
52
|
- lib/capistrano/ext/slicehost/templates/sshd_config.erb
|