Upgrading Redmine from 1.4.4 to 2.3.x on Debian Wheezy using deb packages

From lxadm | Linux administration tips, tutorials, HOWTOs and articles
Jump to: navigation, search

Debian Wheezy comes with Redmine 1.4.4. If you want to upgrade to Redmine 2.3.x using deb packages, here is how.

Backup first

Needless to say, please backup your Redmine installation before trying to upgrade it.


There is a deb package available in Debian unstable.

To use it, you can replace “wheezy” with “unstable” in your /etc/apt/sources.list file.

For example, if your mirror looks like this one:

deb http://mirror.hetzner.de/debian/packages wheezy main contrib non-free

change it to use “unstable”:

deb http://mirror.hetzner.de/debian/packages unstable main contrib non-free

Do it only for Redmine upgrade, and change back to “wheezy” after the upgrade is done.

Upgrading packages

Upgrading the packages is simple and requires just:

# apt-get install redmine redmine-mysql redmine-sqlite

It will upgrade Redmine packages and install quite a bit of new Ruby packages.

Additional upgrade instructions

There is some extra instructions you have to do to have your updated Redmine functional.

# cd /usr/share/redmine
# rake db:migrate RAILS_ENV=production

If you’re getting “Permission denied – /etc/redmine/default/session.yml” when going to admin interface, you have to add “PassengerDefaultUser www-data” to /etc/apache2/mods-enabled/passenger.conf:

<IfModule mod_passenger.c>
PassengerRoot /usr
PassengerRuby /usr/bin/ruby
PassengerDefaultUser www-data

The last thing is using a correct ruby-rack package. The one from Debian unstable (1.5.x) will be too new for Redmine 2.3.1, so downgrade to this version:

# wget http://ftp.us.debian.org/debian/pool/main/r/ruby-rack/ruby-rack_1.4.1-2.1_all.deb
# dpkg -i ruby-rack_1.4.1-2.1_all.deb

  • if you’re seeing Redmine errors, try clearing your browser cache / cookies, as or you might be getting “session contains objects whose class definition isn’t available” errors,
  • run this query – otherwise, you may be seeing this: http://www.redmine.org/boards/2/topics/35358
update queries set `type` = null where `type` = 'IssueQuery';
delivery_method: :smtp
address: localhost
port: 25
domain: projects.webcoders-media.dk
authentication: :none
openssl_verify_mode: 'none'

That’s it!