webroar 0.3.0 → 0.3.1

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/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