2

There's a very highly rated application for defect management called Redmine. It's written in Ruby. I was able to get it working following their instructions. However, I would like to run the application as a service that starts automatically every time the server reboots. How do you go about adding a Ruby website as a Linux service?

User1
  • 2,486
  • 5
  • 20
  • 21

4 Answers4

1

There's no such thing as a "Ruby website"; a Rails site needs an application server process running to serve requests for the app, this is typically one of mongrel, thin, or unicorn (if you're using webrick, you're on a loser already).

Your options are, broadly:

  1. Write an init script for it, invoke that init script on boot as per the procedure for your particular distribution
  2. Use an @reboot rule in cron (uuuuugly)
  3. Use something like daemontools to manage the server process

I do (3), because it is awesome. I expect a lot of people to recommend monit in place of daemontools; I've done that, and I hated every second of it.

womble
  • 96,255
  • 29
  • 175
  • 230
0

You may be interested in this:

http://rubyworks.rubyforge.org/

Once having your system set up properly to run as a real server for Ruby stuff, you can then insert your Redmine application into it's environment.

0

If you have apache or some other web server already running, you don't need to run Redmine as a separate service - just have it run under your web server. For Apache Just follow the instructions for installing Passenger here:

http://www.modrails.com/install.html

And then add an entry in Apache that points to the path to that site, like so:

<VirtualHost *:80>
    ServerName www.mycook.com
    DocumentRoot /webapps/mycook/public
    <Directory /webapps/mycook/public>
        Allow from all
        Options -MultiViews
    </Directory>
</VirtualHost>

http://www.modrails.com/documentation/Users%20guide%20Apache.html#_deploying_a_ruby_on_rails_application

womble
  • 96,255
  • 29
  • 175
  • 230
Rilindo
  • 5,078
  • 5
  • 28
  • 46
0

If you're on a recent version of Ubuntu, you'll want to write an Upstart script - as well as that introduction, /etc/init is full of examples.

If you're on anything else, you'll want to create an init script - the redmine wiki has an example, specifically tailored for redmine.

James Polley
  • 2,089
  • 15
  • 13