HowTo install Redmine on Debian with Passenger¶
- HowTo install Redmine on Debian with Passenger
This is work in progress. Please see the guide on HowTo_Install_Redmine_on_Debian_with_Ruby-on-Rails_and_Apache2-Passenger for now.
This guide is going to explain how to install Redmine 0.9.x, 1.0.x, or trunk for a production setup on a Debian 5.0.x "Lenny".
Although, there exists a Redmine package in lenny-backports and above, I would recommend to not use it for now, as it patches Redmine to run on various older libraries (foremost Rails). If you run Squeeze, it should be easier to use the provided package. However, you are more flexible and probably get better support in the forums or in IRC when you use the redmine.org provided package. This is obviously the preferred method of deployment here.
What we are going to do here?¶
At first, we need to make sure to meet the general requirements on RedmineInstall. At the time of writing, this included:
- Ruby 1.8.7 (preferred), 1.8.6 is also okay. Redmine is still not fully compatible with Ruby 1.9.x and JRuby
- Rubygems 1.3.1 or higher
- Rails 2.3.5 with dependencies
- Rack 1.0.1. Version 1.1 is not supported with Rails 2.3.5
Finally, we are going to install Apache 2.2 or Nginx together with passenger and set them up with redmine.
We are now walking through to install all these packages.
At first, we install the base ruby. Luckily, Debian Lenny ships with ruby 1.8.7 by default:
aptitude install ruby1.8 irb1.8 rdoc1.8 ri1.8 libreadline-ruby1.8 libopenssl-ruby1.8
Setup lenny-packports to install passenger and some requirements from debian packages¶
This step is not necessary if you run a newer Debian distribution than Lenny. So if you run Squeeze or Sid, just skip this.
At first, we are adding the official
lenny-backports repository to our
sources.list. This repository provides newer or additional packages compiled to run with Debian Lenny. Most of the time, it will include the software versions from the current testing distribution.
echo "deb http://www.backports.org/debian lenny-backports main" >> /etc/apt/sources.list aptitude reload
Next we are going to instruct APT to prefer the current Debian stable release over the backports packages. Additionally, we are pinning some packages from backports such that these are installed and preferred over the stable release versions.
cat <<EOF > /etc/apt/preferences Package: * Pin: release o=Debian,a=stable Pin-Priority: 101 Package: * Pin: release a=lenny-backports Pin-Priority: 1 Package: rubygems Pin: release a=lenny-backports Pin-Priority: 999 Package: rubygems1.8 Pin: release a=lenny-backports Pin-Priority: 999 Package: rake Pin: release a=lenny-backports Pin-Priority: 999 Package: librack-ruby1.8 Pin: release a=lenny-backports Pin-Priority: 999 EOF