Changed lines at line 8
8: - Rails 1.2 (or most recent)
9: - Sample rails app at /var/www/test
10: - gem. So you can gem install xxx whatever you need.
11: - mysql ruby bindings. e.g. see echo "require 'rubygems'; require_gem 'mysql'" | irb
12: - rmagick ruby bindings. e.g. see echo "require 'rubygems'; require_gem 'rmagick'" | irb
13: It then sets things up so that you can run rails apps via apache, lighttpd or mongrel.
14: If you are after this setup, just mention 'Please install the RimuHosting Ruby on Rails Hosting Stack' on the order confirmation page when/if you order a RimuHosting server (at http://rimuhosting.com/order/startorder.jsp)
15: For a RoR server we recommend you go with a VPS with 128MB of memory or more (since rails can be somewhat memory hungry).
16: 1 Preferred Distros For Rails Hosting
17: The preferred distro for Rails hosting is one that supports Apache 2.2. Since this has mod_proxy_balancer support. Which works in well with the Apache + Mongrel setup.
18: FC5, FC6, and FC7 come with Apache 2.2.
19: Centos5 and Debian Etch also come with Apache 2.2.
20: RHEL4, Debian Sarge, Ubuntu (Eft and Dapper) are all Apache 2.0 based.
21: We have installed rails these distros. But with Apache 2.0 they do not have mod_proxy_balancer. Which imposes some (probably livable) restrictions on your setup.
22: 1 Running Rails With Lighttpd
23: There are a few options when it comes to choosing a 'front end' web server to your rails app. Choices include Mongrel or Lighttpd.
24: Lighttpd is standalone web server. It is commonly used (or at least requested) by the rails community. You can use it to run rails apps.
25: After the RimuHosting rails stack is installed there will be a sample lighttpd init script in /etc/init.d/lighttpd that will stop/start a lighttpd process.
26: Note:
27: - Lighttpd would run on port 3000. You could run it on port 80. That would prevent you running apache on that port. Else you'd need a different/extra IP.
28: - We have not setup ssl with lighttpd before. Not sure what's involved there.
29: To run lighttpd with multiple domains you would setup virtual hosting. e.g. in lighttpd.conf:
30: {code}
31: $HTTP["host"] =~ "(www\.)?example\.com" {
32: server.document-root = "/var/www/example/current/public/"
33: server.error-handler-404 = "/dispatch.fcgi"
34: fastcgi.server = (
35: ".fcgi" => (
36: "localhost" => (
37: "socket" => "/var/run/www/example.com-0.socket"
38: )
39: )
40: )
41: }
42: $HTTP["host"] =~ "(www\.)?example2\.com" {
43: server.document-root ="/var/www/example2/current/public/"
44: server.error-handler-404 = "/dispatch.fcgi"
45: fastcgi.server = (
46: ".fcgi" => (
47: "localhost" => (
48: "socket" => "/var/run/www/example2-0.socket"
49: )
50: )
51: )
52: }
53: {code}
54: More info at http://www.lighttpd.net/documentation/configuration.html
55: 1 Running Rails With Mongrel
56: Mongrel is an up and coming rails-specific web server. See http://mongrel.rubyforge.net If you are considering running lighttpd then mongrel looks like it would be a good alternative to that.
57: After the RimuHosting rails stack is installed there will be a sample mongrel init script in /etc/init.d/mongrel that will stop/start a mongrel process.
58: Notes:
59: - Same as lighttpd
60: 1 Using Apache as A Front End To Mongrel or Lighttpd
61: Try adding the following to your Apache 2.0 Virtual Host directive:
62: {code}
63: ProxyRequests Off
64: ProxyPass /myrailsapp http://localhost:3000/myrailsapp
65: ProxyPassReverse /myrailsapp http://localhost:3000/myrailsapp
66: {code}
67: __Note__: Remove any '>>' characters that the html on this page adds to that url if you copy/paste it.
68: (Still waiting to confirm this bit works, and it is likely different with apache 2.2).
69: 1 Using Apache 2.2 with mod_proxy_balancer As a Front End to Mongrel Cluster
70: The Ruby on Rails dispatcher can only handle one request at a time. It is 'synchronized' to only let one through at a time. Why? Since it is not designed to run multiple threads simultaneously.
71: For most non-slashdot-sized sites this is fine. Since requests can execute quite quickly.
72: If you have a busier site though, Apache 2.2 has a new option for you. It offers the mod_proxy_balancer module. This lets you run multiple rails instances and then use the proxy balancer to spread your requests over multiple rails containers.
73: The downside is higher memory usage (so you'd need a server with more memory).
74: The 'balanced' rails setup would look like this:
75: Start your mongrels:
76: {code}
77: mongrel_rails start -d -e production -p 8000 -a 127.0.0.1 -P log/mongrel.8000.pid -c /var/www/test
78: mongrel_rails start -d -e production -p 8001 -a 127.0.0.1 -P log/mongrel.8001.pid -c /var/www/test
79: {code}
80: (Or modify /etc/init.d/mongrel).
81: Then setup an Apache 2.2 (it does not work in Apache 1.3 or 2.0) virtual host:
82: {code}
83: <VirtualHost *:80>
84: ServerName dummy-host.example.com
85: # Presuming your rails app is at /var/www/test
86: DocumentRoot /var/www/test/public
87: <Directory "/var/www/test/public">
88: Options FollowSymLinks
89: AllowOverride None
90: Order allow,deny
91: Allow from all
92: </Directory>
93: # Configure mongrel_cluster
94: <Proxy balancer://mongrel_cluster>
95: BalancerMember http://127.0.0.1:8000
96: BalancerMember http://127.0.0.1:8001
97: </Proxy>
98: ProxyPass / balancer://mongrel_cluster/
99: ProxyPassReverse / balancer://mongrel_cluster/
100: # These directories should always be served up by Apache, since they contain static content. Or just let rails do it.
101: ProxyPass /images !
102: ProxyPass /stylesheets !
103: ProxyPass /javascripts !
104: ProxyPass /favicon.ico !
105: RewriteEngine On
106: # Important rule to prevent exposure of subversion files if you are deploying with Capistrano !
107: RewriteRule ^(.*/)?\.svn/ - [F,L]
108: # Rewrite index to check for static
109: RewriteRule ^/$ /index.html [QSA]
110: # Rewrite to check for Rails cached page
111: RewriteRule ^([^.]+)$ $1.html [QSA]
112: # Redirect all non-static requests to cluster
113: RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
114: RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]
115: </VirtualHost>
116: {code}
117: 1 Using Apache 2.0 with a load balancing proxy As a Front End to Mongrel Cluster
118: Apache 2.0 does not have mod_proxy_balancer as part of the module listing. Upgrading the stock distribution's Apache installation cannot proceed though without having to recompile all applications that link to libapache (e.g. PHP, etc). However, an alternative solution to mod_proxy_balancer would be the use of a third-party application that would do the load balancing of the rails processes in a mongrel_cluster.
119: Popular choices that can be used as the load-balancing proxy server for mongrel_cluster include Pound (http://www.apsis.ch/pound) and Pen (http://siag.nu/pen).
120: 1 Getting 'client denied by server configuration' Errors
121: If you're getting errors like this:
122: {code:none}
123: client denied by server configuration: proxy:http://127.0.0.1:8080
124: {code}
125: Check that you have something like this in your httpd.conf:
126: {code:none}
127: <Proxy *>
128: Order allow,deny
129: Allow from all
130: </Proxy>
131: {code}
132: In Debian and Ubuntu, this is set to __deny by default__ in /etc/apache2/mods-available/proxy.conf.
133: 1 Brainspl.at Howto
134: Ezra, a RimuHosting customer, also has their own ruby/rails/lighthttpd install script at http://brainspl.at/rails_stack.html
135: Our setup script is originally derived from that.
136: 1 Ubuntu's Rails
137: If you are using Ubuntu 5.10 aka Breezy Badger (or higher), you can install rails with:
138: {code:none}
139: apt-get install rails
140: {code}
141: 1 The RimuHosting Rails Stack Script
142: To run the RimuHosting Rails Hosting Stack script:
143: {code}
144: wget -O rails.sh "http://downloads.rimuhosting.com/miscproj/rails.sh"
145: bash -x rails.sh
146: {code}
147: You can view a html-ized the RimuHosting Ruby on Rails Hosting Script at http://downloads.rimuhosting.com/miscproj/rails.html (this is likely not the most recent version).
148: We have run it on RHEL4 and Debian Sarge OK. And it will prossibly work on Ubuntu as well.
149: The script is updated by us every now and then if we find it stops working for whatever reason. If you find a problem with it or have a suggestion then email p.bliki.rimuhosting.com at rimuhosting.com and let us know and provide a 'patch' if you can.
150: Caveats: No warranty express or applied. We take all care but will not be liable for any problem. We recommend you use the script as a guide. Do not 'just run' it. It may format your hard drive, and electrocute your mother. Seriously: it could potentially break your existing ruby/gem/apache/lighttpd/mongrel setup. Look at the code carefully before running any of it on your system.
151: The code will 'error out' if/when it hits problems and stop at that point. We are interested in any changes that would help us run the script on a wider variety of distros and handle a wider variety of conditions.
152: 1 Stale PID files preventing Mongrel to start up
153: If you get these messages when trying to start mongrels, that's because it's not cleaning/ignoring PID files properly:
154: {code:none}
155: # /etc/init.d/mongrel_cluster start
156: Starting all mongrel_clusters...
157: ** !!! PID file log/mongrel.8000.pid already exists. Mongrel could be running already. Check your log/mongrel.log for errors.
158: ** !!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start.
159: ** !!! PID file log/mongrel.8001.pid already exists. Mongrel could be running already. Check your log/mongrel.log for errors.
160: ** !!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start.
161: ** !!! PID file log/mongrel.8002.pid already exists. Mongrel could be running already. Check your log/mongrel.log for errors.
162: ** !!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start.
163: {code}
164: Thanks to the patch provided here http://textsnippets.com/posts/show/931 you should be able to avoid that problem. Save this file as "/tmp/mongrel.patch":
165: {code:none}
166: --- bin/mongrel_rails-orig 2007-05-16 14:41:51.000000000 -0400
167: +++ bin/mongrel_rails 2007-05-16 14:42:50.000000000 -0400
168: @@ -83,9 +83,17 @@
169: config = Mongrel::Rails::RailsConfigurator.new(settings) do
170: if defaults[:daemon]
171: if File.exist? defaults[:pid_file]
172: - log "!!! PID file #{defaults[:pid_file]} already exists. Mongrel could be running already. Check your #{defaults[:log_file]} for errors."
173: - log "!!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start."
174: - exit 1
175: + # mongrels that crash can leave stale PID files behind, and these
176: + # should not stop mongrel from being restarted by monitors...
177: + pid = File.new(defaults[:pid_file]).readline
178: + unless `ps -ef | grep #{pid} | grep -v grep`.length > 0
179: + # use "ps ax" for freebsd
180: + log "!!! PID file #{defaults[:pid_file]} exists, but is stale, and will be deleted so that this mongrel can run."
181: + File.delete(defaults[:pid_file])
182: + else
183: + log "!!! PID file #{defaults[:pid_file]} already exists and the process id referred to in it is running. This mongrel is probably already running. #{defaults[:log_file]} for errors. EXITING."
184: + exit 1
185: + end
186: end
187:
188: daemonize
189: {code}
190: Then apply it by running something like this:
191: # patch -p0 /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails < mongrel.patch
192: 1 Internal Server Errors when using Internet Explorer
193: If you're getting Internal Server Errors from Apache when using Internet Explorer to connect to SSL pages, see if this KB article seems to match your problem: http://support.microsoft.com/default.aspx?kbid=831167
194: If so, the fix is to use the following in your SSL virtual host:
195: {code:none}
196: SSLOptions +StdEnvVars
197: BrowserMatch ".*MSIE.*" \
198: nokeepalive ssl-unclean-shutdown \
199: downgrade-1.0 force-response-1.0
200: {code}
201: Taken from: http://www.freeonrails.com/node/17784
202: 1 Mongrel Cluster not starting up at boot
203: Even though you symlinked the mongrel_cluster init script to the right rc.d directory, it's not starting correctly. In the console you might see something like this (on Centos5):
204: {code:none}
205: Starting mongrel_cluster: which: no mongrel_cluster_ctl in (/sbin:/usr/sbin:/bin:/usr/bin)
206: [ OK ]
207: {code}
208: Add this PATH variable to /etc/init.d/mongrel_cluster:
209: {code}
210: CONF_DIR=/etc/mongrel_cluster
211: PATH=/usr/local/bin:$PATH
212: RETVAL=0
213: {code}
214: The next time you boot, on the console you should see this:
215: {code}
216: Starting mongrel_cluster: Starting all mongrel_clusters...
217: [ OK ]
218: {code}
219: We've seen this on Centos5 and Ubuntu a few times.
220: 1 Help Improve The RimuHosting Rails Hosting Stack
221: Join in the discussion at http://forums.rimuhosting.com/forums/showthread.php?p=823#post823 and let us know what we can do to improve our rails hosting stack and documentation.
222: - Rails 2 (or if you need the 'older' 1.2 just mention that)
223: - Sample rails app at /var/www/test
224: - gem. So you can gem install xxx whatever you need.
225: - mysql ruby bindings. e.g. see echo "require 'rubygems'; require_gem 'mysql'" | irb
226: - rmagick ruby bindings. e.g. see echo "require 'rubygems'; require_gem 'rmagick'" | irb
227: It then sets things up so that you can run rails apps via apache, lighttpd or mongrel.
228: If you are after this setup, just mention 'Please install the RimuHosting Ruby on Rails Hosting Stack' on the order confirmation page when/if you order a RimuHosting server (at http://rimuhosting.com/order/startorder.jsp)
229: For a RoR server we recommend you go with a VPS with 128MB of memory or more (since rails can be somewhat memory hungry).
230: 1 Preferred Distros For Rails Hosting
231: The preferred distro for Rails hosting is one that supports Apache 2.2. Since this has mod_proxy_balancer support. Which works in well with the Apache + Mongrel setup.
232: FC5, FC6, FC7, Centos5, Ubuntu Gutsy, Debian Etch all come with Apache 2.2.
233: RHEL4, Debian Sarge, Ubuntu (Eft and Dapper) are all Apache 2.0 based.
234: We have installed rails these distros. But with Apache 2.0 they do not have mod_proxy_balancer. Which imposes some (probably livable) restrictions on your setup.
235: 1 Running Rails With Mongrel
236: Mongrel is an up and coming rails-specific web server. See http://mongrel.rubyforge.net If you are considering running lighttpd then mongrel looks like it would be a good alternative to that.
237: After the RimuHosting rails stack is installed there will be a sample mongrel init script in /etc/init.d/mongrel that will stop/start a mongrel process.
238: Notes:
239: - Same as lighttpd
240: 1 Using Apache as A Front End To Mongrel or Lighttpd
241: Try adding the following to your Apache 2.0 Virtual Host directive:
242: {code}
243: ProxyRequests Off
244: ProxyPass /myrailsapp http://localhost:3000/myrailsapp
245: ProxyPassReverse /myrailsapp http://localhost:3000/myrailsapp
246: {code}
247: __Note__: Remove any '>>' characters that the html on this page adds to that url if you copy/paste it.
248: (Still waiting to confirm this bit works, and it is likely different with apache 2.2).
249: 1 Using Apache 2.2 with mod_proxy_balancer As a Front End to Mongrel Cluster
250: The Ruby on Rails dispatcher can only handle one request at a time. It is 'synchronized' to only let one through at a time. Why? Since it is not designed to run multiple threads simultaneously.
251: For most non-slashdot-sized sites this is fine. Since requests can execute quite quickly.
252: If you have a busier site though, Apache 2.2 has a new option for you. It offers the mod_proxy_balancer module. This lets you run multiple rails instances and then use the proxy balancer to spread your requests over multiple rails containers.
253: The downside is higher memory usage (so you'd need a server with more memory).
254: The 'balanced' rails setup would look like this:
255: Start your mongrels:
256: {code}
257: mongrel_rails start -d -e production -p 8000 -a 127.0.0.1 -P log/mongrel.8000.pid -c /var/www/test
258: mongrel_rails start -d -e production -p 8001 -a 127.0.0.1 -P log/mongrel.8001.pid -c /var/www/test
259: {code}
260: (Or modify /etc/init.d/mongrel).
261: Then setup an Apache 2.2 (it does not work in Apache 1.3 or 2.0) virtual host:
262: {code}
263: <VirtualHost *:80>
264: ServerName dummy-host.example.com
265: # Presuming your rails app is at /var/www/test
266: DocumentRoot /var/www/test/public
267: <Directory "/var/www/test/public">
268: Options FollowSymLinks
269: AllowOverride None
270: Order allow,deny
271: Allow from all
272: </Directory>
273: # Configure mongrel_cluster
274: <Proxy balancer://mongrel_cluster>
275: BalancerMember http://127.0.0.1:8000
276: BalancerMember http://127.0.0.1:8001
277: </Proxy>
278: ProxyPass / balancer://mongrel_cluster/
279: ProxyPassReverse / balancer://mongrel_cluster/
280: # These directories should always be served up by Apache, since they contain static content. Or just let rails do it.
281: ProxyPass /images !
282: ProxyPass /stylesheets !
283: ProxyPass /javascripts !
284: ProxyPass /favicon.ico !
285: RewriteEngine On
286: # Important rule to prevent exposure of subversion files if you are deploying with Capistrano !
287: RewriteRule ^(.*/)?\.svn/ - [F,L]
288: # Rewrite index to check for static
289: RewriteRule ^/$ /index.html [QSA]
290: # Rewrite to check for Rails cached page
291: RewriteRule ^([^.]+)$ $1.html [QSA]
292: # Redirect all non-static requests to cluster
293: RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
294: RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]
295: </VirtualHost>
296: {code}
297: 1 Running Rails With Lighttpd
298: There are a few options when it comes to choosing a 'front end' web server to your rails app. Choices include Mongrel or Lighttpd.
299: Lighttpd is standalone web server. It is commonly used (or at least requested) by the rails community. You can use it to run rails apps.
300: After the RimuHosting rails stack is installed there will be a sample lighttpd init script in /etc/init.d/lighttpd that will stop/start a lighttpd process.
301: Note:
302: - Lighttpd would run on port 3000. You could run it on port 80. That would prevent you running apache on that port. Else you'd need a different/extra IP.
303: - We have not setup ssl with lighttpd before. Not sure what's involved there.
304: To run lighttpd with multiple domains you would setup virtual hosting. e.g. in lighttpd.conf:
305: {code}
306: $HTTP["host"] =~ "(www\.)?example\.com" {
307: server.document-root = "/var/www/example/current/public/"
308: server.error-handler-404 = "/dispatch.fcgi"
309: fastcgi.server = (
310: ".fcgi" => (
311: "localhost" => (
312: "socket" => "/var/run/www/example.com-0.socket"
313: )
314: )
315: )
316: }
317: $HTTP["host"] =~ "(www\.)?example2\.com" {
318: server.document-root ="/var/www/example2/current/public/"
319: server.error-handler-404 = "/dispatch.fcgi"
320: fastcgi.server = (
321: ".fcgi" => (
322: "localhost" => (
323: "socket" => "/var/run/www/example2-0.socket"
324: )
325: )
326: )
327: }
328: {code}
329: More info at http://www.lighttpd.net/documentation/configuration.html
330: 1 Using Apache 2.0 with a load balancing proxy As a Front End to Mongrel Cluster
331: Apache 2.0 does not have mod_proxy_balancer as part of the module listing. Upgrading the stock distribution's Apache installation cannot proceed though without having to recompile all applications that link to libapache (e.g. PHP, etc). However, an alternative solution to mod_proxy_balancer would be the use of a third-party application that would do the load balancing of the rails processes in a mongrel_cluster.
332: Popular choices that can be used as the load-balancing proxy server for mongrel_cluster include Pound (http://www.apsis.ch/pound) and Pen (http://siag.nu/pen).
333: 1 Getting 'client denied by server configuration' Errors
334: If you're getting errors like this:
335: {code:none}
336: client denied by server configuration: proxy:http://127.0.0.1:8080
337: {code}
338: Check that you have something like this in your httpd.conf:
339: {code:none}
340: <Proxy *>
341: Order allow,deny
342: Allow from all
343: </Proxy>
344: {code}
345: In Debian and Ubuntu, this is set to __deny by default__ in /etc/apache2/mods-available/proxy.conf.
346: 1 The RimuHosting Rails Stack Script
347: To run the RimuHosting Rails Hosting Stack script:
348: {code}
349: wget -O rails.sh "http://proj.ri.mu/rails.sh"
350: bash -x rails.sh
351: {code}
352: You can view a html-ized the RimuHosting Ruby on Rails Hosting Script at http://downloads.rimuhosting.com/miscproj/rails.html (this is likely not the most recent version).
353: The script is updated by us every now and then if we find it stops working for whatever reason. If you find a problem with it or have a suggestion then email p.bliki.rimuhosting.com at rimuhosting.com and let us know and provide a 'patch' if you can.
354: Caveats: No warranty express or applied. We take all care but will not be liable for any problem. We recommend you use the script as a guide. Do not 'just run' it. It may format your hard drive, and electrocute your mother. Seriously: it could potentially break your existing ruby/gem/apache/lighttpd/mongrel setup. Look at the code carefully before running any of it on your system.
355: The code will 'error out' if/when it hits problems and stop at that point. We are interested in any changes that would help us run the script on a wider variety of distros and handle a wider variety of conditions.
356: 1 Stale PID files preventing Mongrel to start up
357: If you get these messages when trying to start mongrels, that's because it's not cleaning/ignoring PID files properly:
358: {code:none}
359: # /etc/init.d/mongrel_cluster start
360: Starting all mongrel_clusters...
361: ** !!! PID file log/mongrel.8000.pid already exists. Mongrel could be running already. Check your log/mongrel.log for errors.
362: ** !!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start.
363: ** !!! PID file log/mongrel.8001.pid already exists. Mongrel could be running already. Check your log/mongrel.log for errors.
364: ** !!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start.
365: ** !!! PID file log/mongrel.8002.pid already exists. Mongrel could be running already. Check your log/mongrel.log for errors.
366: ** !!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start.
367: {code}
368: Thanks to the patch provided here http://textsnippets.com/posts/show/931 you should be able to avoid that problem. Save this file as "/tmp/mongrel.patch":
369: {code:none}
370: --- bin/mongrel_rails-orig 2007-05-16 14:41:51.000000000 -0400
371: +++ bin/mongrel_rails 2007-05-16 14:42:50.000000000 -0400
372: @@ -83,9 +83,17 @@
373: config = Mongrel::Rails::RailsConfigurator.new(settings) do
374: if defaults[:daemon]
375: if File.exist? defaults[:pid_file]
376: - log "!!! PID file #{defaults[:pid_file]} already exists. Mongrel could be running already. Check your #{defaults[:log_file]} for errors."
377: - log "!!! Exiting with error. You must stop mongrel and clear the .pid before I'll attempt a start."
378: - exit 1
379: + # mongrels that crash can leave stale PID files behind, and these
380: + # should not stop mongrel from being restarted by monitors...
381: + pid = File.new(defaults[:pid_file]).readline
382: + unless `ps -ef | grep #{pid} | grep -v grep`.length > 0
383: + # use "ps ax" for freebsd
384: + log "!!! PID file #{defaults[:pid_file]} exists, but is stale, and will be deleted so that this mongrel can run."
385: + File.delete(defaults[:pid_file])
386: + else
387: + log "!!! PID file #{defaults[:pid_file]} already exists and the process id referred to in it is running. This mongrel is probably already running. #{defaults[:log_file]} for errors. EXITING."
388: + exit 1
389: + end
390: end
391:
392: daemonize
393: {code}
394: Then apply it by running something like this:
395: # patch -p0 /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails < mongrel.patch
396: 1 Internal Server Errors when using Internet Explorer
397: If you're getting Internal Server Errors from Apache when using Internet Explorer to connect to SSL pages, see if this KB article seems to match your problem: http://support.microsoft.com/default.aspx?kbid=831167
398: If so, the fix is to use the following in your SSL virtual host:
399: {code:none}
400: SSLOptions +StdEnvVars
401: BrowserMatch ".*MSIE.*" \
402: nokeepalive ssl-unclean-shutdown \
403: downgrade-1.0 force-response-1.0
404: {code}
405: Taken from: http://www.freeonrails.com/node/17784
406: 1 Mongrel Cluster not starting up at boot
407: Even though you symlinked the mongrel_cluster init script to the right rc.d directory, it's not starting correctly. In the console you might see something like this (on Centos5):
408: {code:none}
409: Starting mongrel_cluster: which: no mongrel_cluster_ctl in (/sbin:/usr/sbin:/bin:/usr/bin)
410: [ OK ]
411: {code}
412: Add this PATH variable to /etc/init.d/mongrel_cluster:
413: {code}
414: CONF_DIR=/etc/mongrel_cluster
415: PATH=/usr/local/bin:$PATH
416: RETVAL=0
417: {code}
418: The next time you boot, on the console you should see this:
419: {code}
420: Starting mongrel_cluster: Starting all mongrel_clusters...
421: [ OK ]
422: {code}
423: We've seen this on Centos5 and Ubuntu a few times.