Redmine configuration tips

This page regroup some tips and tricks for Redmine configuration. We release them publicly hoping that they can be useful to others.

Setup post commit hooks

Redmine only update its revisions database when somebody goes on the repository tab. The solution is to add a post-commit script that will update the DB automatically. This needs an API key generated in Redmine's admin GUI. See Sync redmin DB from SVN. Here is a simple script to make a generic post-commit hook for all your Redmine's projects.

aptitude install curl
vi /var/lib/svn/post-commit
-> REPOS=`$1`
   PROJECT=`basename $REPOS`
   curl `http://newredmineserver:3000/sys/fetch_changesets?id=$PROJECT&key=YOURKEY` > /dev/null
ln -s /var/lib/svn/post-commit project1/hooks/
ln -s /var/lib/svn/post-commit server/hooks/

LDAP authentication in Redmine

In Redmine Administration -> LDAP Authentication -> New authentication mode

Name     = LDAP server
Host     = ldapserverip
Port     = 389
LDAPS    = no
Account  = cn=admin,dc=mondomain,dc=com
Password = secret
Base DN  = dc=mondomain,dc=com

On-the-fly user creation = yes
  Login     = uid
  Firstname = givenName
  Lastname  = sN
  Email     = mail

Change all users to use LDAP authentication

sqlite3 /var/lib/dbconfig-common/sqlite3/redmine/instances/default/redmine_default
-> update users set auth_source_id = 1 where status = 1;

You can then create new users directly in LDAP and they will automatically be created in Redmine at their first login. Please adapt your attributes settings to reflect your LDAP scheme or you will end up with incorrect data in your newly created Redmine users.

Patch redmine to increase the 30 characters limit on logins

See `this ticket`: for details

If you want to use email addresses (or LDAP DNs) for logins you might want to apply this patch :

cd /usr/share/redmine
patch -p1 < 0001-Fixes-2719.patch 
rake db:migrate:plugins RAILS_ENV=development
rake db:migrate:plugins RAILS_ENV=production