Wiki Forum Sign up! Explore Home


Getting involved

Everyone is welcome to help out, so feel free to join the development google group and I'm sure we can find something for you to do. If you want to make changes to CIT you should create an account on github and fork the main development branch there:

Installing CIT on your server

Step 1: getting the source

You can get the source from several places.

1. Grab it from the github repository. This version is much more cutting edge and contain a range of new features. It is in production in some sites, so it is stable. It was forked in December 2008 and more recently given a different name (“Jobsworth”) to differentiate it. This code is released under the GPL version 3.

git clone git://

2. Download the source as a zipped bundle from here. We recommend you grab one of the nightly snapshots since they are stable and the other versions are too far out of date. These are quite close the version currently running on the hosted environment.

3. Grab it from the main git repository:

git clone git://

This should be the same as the version currently running on the hosted environment. This code is released under the MIT/X Consortium License.

At this time, option 1 is the recommended choice for those wanting all the new features since options 2 and 3 have not been updated since December 2008. If you are moving from the hosted CIT offering to your own installation, you must first restore your backup to a local installation created from option 3, before upgrading to 1.

IMPORTANT: If you downloaded the github version of the source, do NOT follow these instructions. Instead follow the instructions here:

Step 2: Prerequsites

You need to be running some type of Unix: OSX, Linux, Solaris, BSD. Windows will probably not work.

Install the following packages. Under FreeBSD this can be easily done using 'portinstall' and then each of these ports:

  • ruby18-gems
  • ruby18-mysql
  • rubygem-rake
  • ImageMagick

Under Debian you will need to install the following packages using aptitude: libssl-dev zlib1g-dev build-essential mysql-server mysql-client libmysql-ruby libmysqlclient-dev imagemagick libmagick9-dev librmagick-ruby librmagick-ruby1.8 libxslt1-dev. If you plan to run Apache with Passenger (recommended) then you will also need the following packages: apache2 apache2-prefork-dev libapr1-dev libaprutil1-dev. Once all those packages have been installed follow these instructions to install Ruby/Rails/Gem/etc.

Under other operating systems use your favourite package manager to ensure you have Ruby 1.8.x, rubygems, Imagemagick, Rake and the Ruby mysql driver installed.

Then install Phusion Passenger from You can also run CIT with Mongrel, but it tends to be a little easier with Phusion to set up. Make sure you set up the appropriate virtual host in Apache.

Step 3: Ruby gems

There are a bunch of gems which are needed for running CIT. If you cd into the top of your clockingIT installation, then type:

rake gems

That will tell you what you need to install.

Step 4: Setup

ruby setup.rb

Upgrading to a newer revision

git checkout db/schema.rb
git pull

Next, make sure the database is updated and javascript/css rebuilt.

rake db:migrate RAILS_ENV=production
rake asset:packager:build_all

Depending on which environment you are updating, you can change the RAIL_ENV value to “test” or “development” and the appropriate database will be updated.

Find the daemons running with

ps ax | grep ruby

then kill each of the three running daemons.

Restart daemons

cd /usr/local/www/clockingit
nohup ./script/push_server &
./script/ferret_server -e production start
apachectl restart

Setting up Email Integration

Quoting Erlend from a forum post - “You need to setup your email solution so that it sends all emails for a subdomain to your rails user, and setup the alias so that it runs the mailman script.”

Assuming that you already have your DNS and MX set correctly, we'll configure sendmail to pass all emails sent to to ClockingIT so that replies can go back to the task. See for more help on configuring sendmail on FreeBSD systems.

* Add an entry to /etc/mail/local-host-names to contain your domain

* Add an entry to /etc/mail/aliases to create an alias that will hand off emails to the mailman script

cit: "|/path/to/cit/script/runner -e production 'Mailman.receive('"

* Add an entry to /etc/mail/virtusertable to redirect all emails to your domain to the above alias        cit

* run “make” in /etc/mail

* run “make restart” in /etc/mail

wiki/source.txt · Last modified: 2013/03/11 00:56 by globalinnovation
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki