webroar 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,13 @@
1
+ V0.3.1 - 22-Mar-2010
2
+ --------------------
3
+
4
+ * Refactored and improved the code for handling restarts of an application.
5
+ * Corrected output emitted for version command.
6
+ * Fixed the incorrect server version being sent in the HTTP Response Headers.
7
+ * Updated description of the gem.
8
+ * Minor updates in the README and User Guide.
9
+
10
+
1
11
  v0.3.0 - 19-Mar-2010
2
12
  --------------------
3
13
 
data/README CHANGED
@@ -1,86 +1,116 @@
1
- Introduction
2
- -------------
3
-
4
- WebROaR is an application server that makes deployments of ruby web
5
- applications extremely simple. It provides an integrated solution to view
6
- the run time performance numbers and email notifications in case any
7
- exceptions occur in any of the deployed applications.
8
-
9
- It is 5 to 55% faster than all other comparable deployment stacks for
10
- Ruby on Rails applications.
11
-
12
- Check out http://webroar.in and doc/user-guide.html for more details.
13
-
14
- Key Features
15
- ~~~~~~~~~~~~
16
-
17
- * Maximum Performance.
18
- * Simplified Deployment.
19
- * Runs Ruby on Rails(TM) as well as other Rack compliant applications.
20
- * Run Multiple Applications Simultaneously.
21
- * Implements HTTP/1.1 grammar as per RFC 2616 including support for persistent,
22
- and chunked requests.
23
- * Intelligent load balancing and dynamic reaping of stuck ruby processing
24
- instances.
25
- * Provides run time performance data for the deployed applications.
26
- * Generates notifications in case any exceptions occur in any of the deployed
27
- applications.
28
- * SSL support.
29
-
30
- Supported Operating Systems
31
- ---------------------------
32
-
33
- WebROaR has been tested on Ubuntu 8.10/9.04/9.10, Debian 5 (64 Bit), Mac OS X
34
- (v10.5 & v10.6), Arch Linux 2009.08 and Cent OS 5.2. Basically, it should be able to run on any
35
- *IX OS.
36
-
37
- Currently it does not support Microsoft(R) Windows.
38
-
39
- Install
40
- --------
41
-
42
- Prerequisites
43
- ~~~~~~~~~~~~~
44
-
45
- - ruby 1.8.x or 1.9.x
46
- - ruby 1.8-dev or 1.9-dev
47
- - openssl ruby extension (On Ubuntu/Debian it is available as libopenssl-ruby1.X)
48
- - zlib ruby extension
49
- - rubygems
50
- - C build tools (gcc etc) (e.g. build-essential on Ubuntu, Xcode on MacOS)
51
- - libsqlite3
52
- - libsqlite3-dev
53
- - gnutls 2.4.1 or later (Only necessary in case SSL support is required)
54
- - gnutls-dev 2.4.1 or later (Only necessary in case SSL support is required)
55
-
56
- [NOTE]
57
- .Ruby Shared Library
58
- ===============================
59
- The server needs the shared library - libruby.so to run the ruby web
60
- applications.
61
-
62
- If you are building ruby from source, please ensure you pass the flag
63
- *--enable-shared* while executing its ./configure script.
64
-
65
- ===============================
66
-
67
- Procedure
68
- ~~~~~~~~~
69
-
70
- WebROaR can installed using the following commands:
71
-
72
- ----
73
- gem sources -a http://gems.github.com
74
- sudo gem install webroar
75
- sudo webroar install
76
- ----
77
-
78
- Or if you like living in the fast lane, you can install the edge version giving
79
- the following commands:
80
-
81
- ----
82
- git clone git://github.com/webroar/webroar.git
83
- cd webroar
84
- sudo rake install
85
- ----
86
-
1
+ Introduction
2
+ -------------
3
+
4
+ WebROaR is an application server that makes deployments of ruby web
5
+ applications extremely simple. It provides an integrated solution to view
6
+ the run time performance numbers and email notifications in case any
7
+ exceptions occur in any of the deployed applications.
8
+
9
+ It is 5 to 55% faster than all other comparable deployment stacks for
10
+ Ruby on Rails applications.
11
+
12
+ Check out http://webroar.in and doc/user-guide.html for more details.
13
+
14
+ Key Features
15
+ ~~~~~~~~~~~~
16
+
17
+ * Maximum Performance.
18
+ * Simplified Deployment.
19
+ * Runs Ruby on Rails(TM) as well as other Rack compliant applications.
20
+ * Run Multiple Applications Simultaneously.
21
+ * Implements HTTP/1.1 grammar as per RFC 2616 including support for persistent,
22
+ and chunked requests.
23
+ * Intelligent load balancing and dynamic reaping of stuck ruby processing
24
+ instances.
25
+ * Provides run time performance data for the deployed applications.
26
+ * Generates notifications in case any exceptions occur in any of the deployed
27
+ applications.
28
+ * SSL support.
29
+
30
+ Supported Operating Systems
31
+ ---------------------------
32
+
33
+ WebROaR has been tested on Ubuntu 8.10/9.04/9.10, Debian 5 (64 Bit), Mac OS X
34
+ (v10.5 & v10.6), Arch Linux 2009.08 and Cent OS 5.2. Basically, it should be
35
+ able to run on any *IX OS.
36
+
37
+ Currently it does not support Microsoft(R) Windows.
38
+
39
+ Install
40
+ --------
41
+
42
+ Prerequisites
43
+ ~~~~~~~~~~~~~
44
+
45
+ - ruby 1.8.x or 1.9.x
46
+ - ruby 1.8-dev or 1.9-dev
47
+ - openssl ruby extension (On Ubuntu/Debian it is available as libopenssl-ruby1.X)
48
+ - zlib ruby extension
49
+ - rubygems
50
+ - C build tools (gcc etc) (e.g. build-essential on Ubuntu, Xcode on MacOS)
51
+ - libsqlite3
52
+ - libsqlite3-dev
53
+ - gnutls 2.4.1 or later (Only necessary in case SSL support is required)
54
+ - gnutls-dev 2.4.1 or later (Only necessary in case SSL support is required)
55
+
56
+ [NOTE]
57
+ .Ruby Shared Library
58
+ ===============================
59
+ The server needs the shared library - libruby.so to run the ruby web
60
+ applications.
61
+
62
+ If you are building ruby from source, please ensure you pass the flag
63
+ *--enable-shared* while executing its ./configure script.
64
+
65
+ ===============================
66
+
67
+ Procedure
68
+ ~~~~~~~~~
69
+
70
+ WebROaR can installed using the following commands:
71
+
72
+ ----
73
+ sudo gem install webroar
74
+ sudo webroar install
75
+ ----
76
+
77
+ [NOTE]
78
+ .SSL Support
79
+ ===============================
80
+ In case you would like to setup SSL support for the server, use the following
81
+ command line switch with *sudo webroar install* command mentioned above.
82
+ ----
83
+ sudo webroar install --ssl-support
84
+ ----
85
+
86
+ Configure further SSL options in the server's admin panel
87
+ *http://<yourservername>:<port>/admin-panel/configuration*
88
+
89
+ After restarting the server, admin panel would now also be accessible over SSL.
90
+ *https://<yourservername>:<port>/admin-panel*
91
+ ===============================
92
+
93
+ Or if you like living in the fast lane, you can install the edge version giving
94
+ the following commands:
95
+
96
+ ----
97
+ git clone git://github.com/webroar/webroar.git
98
+ cd webroar
99
+ sudo rake install
100
+ ----
101
+
102
+ [NOTE]
103
+ .SSL Support
104
+ ===============================
105
+ To build with SSL support, use the following additional switch with the
106
+ *sudo rake install* command:
107
+ ----
108
+ sudo rake install ssl=yes
109
+ ----
110
+
111
+ Configure further SSL options in the server's admin panel
112
+ *http://<yourservername>:<port>/admin-panel/configuration*
113
+
114
+ After restarting the server, admin panel would now also be accessible over SSL.
115
+ *https://<yourservername>:<port>/admin-panel*
116
+ ===============================
data/doc/user-guide.html CHANGED
@@ -768,7 +768,7 @@ rubygems version or any other reason), you can install the following dependent
768
768
  </p>
769
769
  <div class="literalblock">
770
770
  <div class="content">
771
- <pre><tt>calendar_date_select, rack, rake, rspec, sqlite3-ruby, starling-starling, will_paginate</tt></pre>
771
+ <pre><tt>calendar_date_select, rack, rake, rspec, sqlite3-ruby, starling, will_paginate</tt></pre>
772
772
  </div></div>
773
773
  </li>
774
774
  <li>
@@ -1371,7 +1371,7 @@ Build Tests
1371
1371
  </div>
1372
1372
  <div id="footer">
1373
1373
  <div id="footer-text">
1374
- Last updated 2010-03-19 23:52:38 IST
1374
+ Last updated 2010-03-20 01:17:11 IST
1375
1375
  </div>
1376
1376
  </div>
1377
1377
  </body>
data/doc/user-guide.txt CHANGED
@@ -131,85 +131,85 @@ remote machine
131
131
  +
132
132
  ----
133
133
 
134
- set :application, "WebROaR"
135
- set :repository, "git://github.com/webroar/webroar.git"
136
-
137
- set :scm, :git
134
+ set :application, "WebROaR"
135
+ set :repository, "git://github.com/webroar/webroar.git"
136
+
137
+ set :scm, :git
138
138
 
139
139
  #############################################
140
140
  # WebROaR installation parameters #
141
141
  #############################################
142
142
  # Instead of asking for admin user name, password and port you can directly set
143
- # it from here.
143
+ # it from here.
144
144
 
145
145
  set :user, 'username'
146
- set :port, 22
146
+ set :port, 22
147
147
  set(:password) { Capistrano::CLI.password_prompt("Enter ssh password for \
148
- #{user}: ") }
149
- set :use_sudo, false
150
- set :deploy_to, "path-to-deploy-webroar"
148
+ #{user}: ") }
149
+ set :use_sudo, false
150
+ set :deploy_to, "path-to-deploy-webroar"
151
151
  set(:webroar_admin_username) { Capistrano::CLI.ui.ask("Please enter a username \
152
- for the administrator account of server's admin panel:") }
152
+ for the administrator account of server's admin panel:") }
153
153
  set(:webroar_admin_password) { Capistrano::CLI.password_prompt("Please enter a \
154
154
  password(minimum 6 characters) for the administrator account of server's admin \
155
- panel:") }
155
+ panel:") }
156
156
  set(:webroar_port) { Capistrano::CLI.ui.ask("Enter server port \
157
- (default is 3000):") }
158
- set :webroar_import_configuration, true # set false to beging with fresh install
159
- set :webroar_ssl_support, false # set true to Build webroar with SSL support
160
-
161
- role :web, "server" # Your HTTP server, Apache/etc
162
- role :app, "server" # This may be the same as your `Web` server
157
+ (default is 3000):") }
158
+ set :webroar_import_configuration, true # set false to beging with fresh install
159
+ set :webroar_ssl_support, false # set true to Build webroar with SSL support
160
+
161
+ role :web, "server" # Your HTTP server, Apache/etc
162
+ role :app, "server" # This may be the same as your `Web` server
163
163
  role :db, "server", :primary => true # This is where Rails migrations will run
164
-
164
+
165
165
  ############################################
166
-
167
- namespace :deploy do
168
- # hook into capistrano's deploy task
169
- after 'deploy:update_code', 'deploy:webroar:install'
170
-
171
- task :finalize_update, :except => { :no_release => true } do
172
- run "chmod -R g+w #{release_path}" if fetch(:group_writable, true)
173
- end
174
-
175
- namespace :webroar do
176
-
177
- desc "Uninstall the webroar gem"
178
- task :uninstall do
179
- run "#{sudo} webroar uninstall; #{sudo} gem uninstall -ax webroar"
180
- end
181
-
182
- desc "Install the server"
183
- task :install, :roles => :app do
166
+
167
+ namespace :deploy do
168
+ # hook into capistrano's deploy task
169
+ after 'deploy:update_code', 'deploy:webroar:install'
170
+
171
+ task :finalize_update, :except => { :no_release => true } do
172
+ run "chmod -R g+w #{release_path}" if fetch(:group_writable, true)
173
+ end
174
+
175
+ namespace :webroar do
176
+
177
+ desc "Uninstall the webroar gem"
178
+ task :uninstall do
179
+ run "#{sudo} webroar uninstall; #{sudo} gem uninstall -ax webroar"
180
+ end
181
+
182
+ desc "Install the server"
183
+ task :install, :roles => :app do
184
184
  run "cd #{release_path}; #{sudo} rake install #{'ssl=on' if \
185
- webroar_ssl_support}", :pty=>true do |ch, stream, out|
186
- next if out.chomp == ''
187
- logger.important out, ch[:server]
188
- case out
189
- when / least/
190
- raise Capistrano::Error, out
191
- when />/
192
- ch.send_data("#{webroar_import_configuration ? '1' : '2'}\n")
193
- when / username/
194
- ch.send_data("#{webroar_admin_username}\n")
195
- when / password/
196
- ch.send_data("#{webroar_admin_password}\n")
197
- when / port/
198
- ch.send_data("#{webroar_port}\n")
199
- end
200
- end
201
- end
202
-
203
-
204
- desc "Start, Stop and Restat the server"
205
- %w(start stop restart).each do |name|
206
- task name.to_sym,:roles => :app do
207
- run "#{sudo} webroar #{name}" #Manual Configuration required, this is best effort.
208
- end
209
- end
210
-
211
- end
212
-
185
+ webroar_ssl_support}", :pty=>true do |ch, stream, out|
186
+ next if out.chomp == ''
187
+ logger.important out, ch[:server]
188
+ case out
189
+ when / least/
190
+ raise Capistrano::Error, out
191
+ when />/
192
+ ch.send_data("#{webroar_import_configuration ? '1' : '2'}\n")
193
+ when / username/
194
+ ch.send_data("#{webroar_admin_username}\n")
195
+ when / password/
196
+ ch.send_data("#{webroar_admin_password}\n")
197
+ when / port/
198
+ ch.send_data("#{webroar_port}\n")
199
+ end
200
+ end
201
+ end
202
+
203
+
204
+ desc "Start, Stop and Restat the server"
205
+ %w(start stop restart).each do |name|
206
+ task name.to_sym,:roles => :app do
207
+ run "#{sudo} webroar #{name}" #Manual Configuration required, this is best effort.
208
+ end
209
+ end
210
+
211
+ end
212
+
213
213
  end
214
214
 
215
215
  ----
@@ -234,7 +234,7 @@ better.)
234
234
  rubygems version or any other reason), you can install the following dependent
235
235
  gems individually first:
236
236
 
237
- calendar_date_select, rack, rake, rspec, sqlite3-ruby, starling-starling, will_paginate
237
+ calendar_date_select, rack, rake, rspec, sqlite3-ruby, starling, will_paginate
238
238
 
239
239
  - After successful installation of the webroar gem, any errors that occur
240
240
  during the setup are saved to the install.log created in the installed gem's
@@ -206,7 +206,7 @@ class CommandRunner
206
206
 
207
207
  def run
208
208
 
209
- parse_args
209
+ return unless parse_args
210
210
 
211
211
  if ARGV.length == 0
212
212
  puts HELP
@@ -258,7 +258,7 @@ class CommandRunner
258
258
 
259
259
  opts.on( '-v', '--version', 'Version information') do
260
260
  Installer.new.version
261
- return
261
+ return false
262
262
  end
263
263
 
264
264
  opts.on( '-u', '--username USERNAME', 'Username for the administrator account of server\'s admin panel') do |value|
@@ -319,9 +319,11 @@ class CommandRunner
319
319
  optparse.parse!
320
320
  rescue OptionParser::ParseError => err
321
321
  puts "#{err}. See 'webroar --help'."
322
- return
322
+ return false
323
323
  end
324
324
 
325
+ return true
326
+
325
327
  end
326
328
 
327
329
  end # class Command