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?

1
  • Why the downvote?
    – User1
    Jan 8, 2010 at 4:14

4 Answers 4

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.

1
  • That's a great link. I think that will work.
    – User1
    Jan 6, 2010 at 16:07
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.

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.

1
  • The cluelessness contained in that one page scares the wallop out of me.
    – womble
    Jan 6, 2010 at 0:32
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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .