Installing optional requirements
Redmine uses several optional components that may be required in some use-case scenarios. This recipe will download multiple libraries from the Internet. Do not use/download unnecessary software if you don't know what it does or just to have green lights in Redmine if you are not planning to use it. Every piece of software on the Internet-connected server/software
is a potential security hole, especially if exposed through a web app such as Redmine.
How to do it…
Installing optional components is operating system-dependent. This recipe covers the installation of requirements on Ubuntu.
ImageMagick and rmagick
ImageMagick is a software suite to create, edit, compose, or convert bitmap images. It can read and write a variety of formats and be used from within third-party applications, such as Redmine, to perform various tasks on the images uploaded or generated by users.
To install ImageMagick
on Ubuntu, simply type the following:
sudo apt-get install ImageMagick libmagickwand-dev
It will download and install a significant number of libraries that are required by
ImageMagick
.
If you have already installed Redmine and want to add the rmagick gem after installation, use the following command. It can be used for a fresh install as well:
bundle install --with rmagick --without development test postgresql
Installing SCM binaries
Redmine uses several SCM binaries so that it can track code-issue relation in most of the popular Source Control Management (SCM) scenarios. Don't confuse this with Software Configuration Management.
On Ubuntu, installing all supported SCM binaries is extremely simple. Just open up a terminal and type the following:
sudo apt-get install subversion darcs mercurial cvs bzr git
After installation, restart your Redmine and navigate to Administration | Settings | Repositories.
You should get a screen that looks similar to this:
The green check sign and version number indicates that the repository client binary is installed and usable.
How it works…
Redmine is a complex Ruby on Rails (ROR) application that utilizes a wide variety of Ruby libraries that are required for Redmine to perform various tasks, such as exporting to PDF, connecting to a repository or manipulating images. In this recipe, we covered the installation of ImageMagick and its development libraries, which are optional but required. For example, SCM binaries are used and can be configured on a per-project basis, so you can track multiple repositories on different servers and on different SCM platforms.
There's more…
Subversion along with Git is really popular and widely used by many developers and teams. Redmine can create repositories for you automatically. Additional recipes and how tos can be found at the bottom of Redmine wiki HowTos: