I was a happy Trac user, but after seeing Redmine , I realized that Trac has many missing features and that you must do a lot of things with plugins, Redmine has this features out-of-box. After working a bit with Redmine I discovered ChiliProject , which is a fork of Redmine, and its actually compatible with Redmine Themes and Plugins .
Here is a comparison of Redmine/ChiliProject and Trac features:
Feature | Redmine/ChiliProject | Trac |
---|---|---|
Multiple projects support | β | π« (with plugin, planned 0.14) |
Flexible role based access control | β | π« |
Flexible issue tracking system | β | β (no bulk ticket changes and ticket dependencies) |
Gantt chart and calendar | β | π« (GanttCalendarPlugin ) |
Feeds & email notifications | β | β |
Per project wiki | β | β |
Per project forums | β | π« (DiscussionPlugin ) |
Time tracking | β | π« (Plugins or custom field ) |
Custom fields for issues, time-entries, projects and users | β | β (editing trac.ini ) |
SCM integration | SVN, CVS, Git, Mercurial, Bazaar and Darcs | SVN in core, others with Plugins |
Issue creation via email | β | π« (MailToTracPlugin ) |
Multiple LDAP authentication support | β | π« (LDAPPlugin ) |
User self-registration support | β | π« (AccountManagerPlugin ) |
Multilanguage support | β | β |
Multiple databases support | MySQL, PostgreSQL, SQLite | MySQL (unstable), PostgreSQL, SQLite |
Mobile Apps | β | π« |
The first thing that made me not to test Redmine/ChiliProject immediately was that it is RoR and the complexity to make it run stable under apache, but after searching a bit, I found Phusion Passenger and Ruby Enterprise , which is a very good solution to run RoR products stable under Apache, and you have the ability to run Ruby with custom user, usefull for shared environments.
Installation
-
Ruby Enterprise
I downloaded and installer from source code, so that itβs compiled for my server and I can store it in a specific location. So, the first we have to do is download latest version from Ruby Enterprise Download page
1wget http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2011.03.tar.gz 2tar zxvf ruby-enterprise-1.8.7-2011.03.tar.gz 3cd ruby-enterprise-1.8.7-2011.03 4./installer
Follow installer instructions, and install dependencies if needed (the installer tells us which packages we need for our Linux distro)
-
Phusion Passenger
Next thing to do, is install the Passanger module for apache, this can be done with the passenger-install-apache2-module script available at Ruby Enterprise installation
1cd /opt/ruby-enterprise-1.8.7-2011.03/bin 2./passenger-install-apache2-module
This script also checks the dependencies and says what packages you need for your Linux distro
-
Apache
Now we need to configure apache, first we need to activate and configure the passenger module
/etc/apache2/mods-enabled/passenger.load
1
LoadModule passenger_module /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
/etc/apache2/mods-enabled/passenger.conf
1 2 3 4 5 6 7 8 9 10 11
<IfModule mod_passenger.c> PassengerRoot /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/passenger-3.0.7 PassengerRuby /opt/ruby-enterprise-1.8.7-2011.03/bin/ruby PassengerFriendlyErrorPages Off PassengerUserSwitching On PassengerDefaultUser www-data PassengerDefaultGroup www-data </IfModule>
And the last thing is configure a vhost under which we will run this ChiliProject installation
/etc/apache2/sites-enabled/chiliproject
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
NameVirtualHost *:443 <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key <IfModule mod_passenger.c> PassengerUser chiliproject PassengerGroup chiliproject </IfModule> ServerAdmin [email protected] ServerName chiliproject.org DocumentRoot /home/chiliproject/public <Directory /> Options -MultiViews AllowOverride All </Directory> ErrorLog /var/log/apache2/chiliproject-error.log CustomLog /var/log/apache2/chiliproject-access.log combined </VirtualHost>
-
ChiliProject
First install needed gems
1/opt/ruby-enterprise-1.8.7-2011.03/bin/gem install -v=0.4.2 i18n 2/opt/ruby-enterprise-1.8.7-2011.03/bin/gem install -v=1.0.1 rack 3/opt/ruby-enterprise-1.8.7-2011.03/bin/gem install mysql
Download the last available ChiliProject version from ChiliProject Files Page
1wget https://www.chiliproject.org/attachments/download/99/chiliproject-1.4.0.tar.gz 2tar zxvf chiliproject-1.4.0.tar.gz 3mv chiliproject-1.4.0 /home/chiliproject
Create the mysql database and user for ChiliProject
1CREATE DATABASE chiliproject CHARACTER SET utf8 collate utf8_unicode_ci; 2GRANT ALL PRIVILEGES ON chiliproject.* TO 'chiliproject'@'localhost' IDENTIFIED BY 'my_password';
Configure ChiliProject Database Connection
1mv config/database.yml.example config/database.yml
1production: 2 adapter: mysql 3 database: chiliproject 4 host: localhost 5 username: chiliproject 6 password: my_password
Now initialize ChiliProject (session Store, DB Tables, DB Default Data
1/opt/ruby-enterprise-1.8.7-2011.03/bin/rake generate_session_store 2RAILS_ENV=production /opt/ruby-enterprise-1.8.7-2011.03/bin/rake db:migrate 3RAILS_ENV=production /opt/ruby-enterprise-1.8.7-2011.03/bin/rake redmine:load_default_data
And the last thing we need to do before we can restart apache and begin to use the new installed ChiliProject, we need to create the chiliproject user
1adduser --home /home/chiliproject --shell /bin/false --no-create-home chiliproject 2chown -R chiliproject:chiliproject /home/chiliproject
-
(Optinal) Rmagick
If we want to enable Gantt export to png image we need to install Rmagick (available as gem). First we need to install imagemagick ang graphicsmagick dev packages and then we can install the rmagick gem.
1apt-get install libmagickcore-dev libgraphicsmagick1-dev libmagickwand-dev 2/opt/ruby-enterprise-1.8.7-2011.03/bin/gem install rmagick
Now we only need to restart Apache and load ChiliProject in our Browser. The default user is admin/admin