Redmine Installation Guide: How to install Redmine on Shared/Dedicated Host?

Are you searching for a complete Redmine Installation Guide? If yes, your search probably ends here. Or, we should rather say, the simple and interesting redmine installation process begins here.

Redmine Installation: A Brief

Redmine is a popular Project management software built on top of RoR (Ruby on Rails). In fact, the redmine installation is very similar to how one would go about installation an RoR application. But, it can get overwhelming and time consuming if you haven’t installed RoR apps before. Since RoR apps are a bit different to setup than their PHP counterparts.

However, if you have been setting up CakePHP apps earlier, you might find it a bit easier. So, you can definitely follow a step by step comprehensive redmine installation guide like ours, to support you. Moreover, this shall help you even if you are installing redmine for the very first time.

Redmine Installation: Pre-requisites

1. Web Hosting:

Redmine is a self hosted software. So, you would need to buy a web hosting yourself to host the Redmine. Since, redmine is a Ruby on Rails(RoR) application, so your host should you have RoR hosting enabled. Here are a few hosts that provide ready to go RoR hosting:

VPS: You might find it a bit difficult to find a VPS with RoR installed. However, you will still find a good number of hosts supporting RoR already installed. Nonetheless, most of the VPS will provide you with a root access, using which you can install Ruby and Rails by yourself.

Dedicated Servers: If you are using dedicated servers, you are mostly on your own. However, you have quite some help available on the web for setting up Ruby and RoR on the dedicated servers. E.g there are bitnami images for EC2, there are detailed blogs for digitalocean and so on.

2. Database:

Redmine can be based on top of mysql, postgresql or SQL Server. Now, if you are using a shared host like bluehost, sitegroud etc. to host redmine, then mysql will be your default database. Whereas, on a VPS or dedicated server, you are free to install redmine on top of postgresql as well. Since you have freedom to install the applications with super user access.

3. Web Server:

On Shared host, you are mostly stuck with the choice of web server and have to go with whatever your shared host provides. While on a VPS or dedicated server, it is easy enough to install redmine on any webserver you like e.g Apache, nginx or any other host.

Redmine Installation: Additional Requirements

The latest versions of redmine have deprecated support for Ruby 1.9.x and 2.0.x. So, please ensure that the web host has atleast ruby 2.2.x installed.

If you would like support for Gantt Charts etc. then imagemagick would be required. Please check this with your shared host. You can anyways install image magick or any other application on a Virtual or a dedicated host.

Download Redmine

Alright, so now when you have your server set, its time to download redmine from the official repository. You need to download and extract the redmine in the webroot i.e the folder accessible by webserver, from where it can pickup and run the scripts.

You can go here to download redmineeasily. For the purpose of this blog, we assume that the redmine downloaded is the latest version as of writing this blog i.e 3.3.x. This means, you should have a host which has at least Ruby 2.2.x installed.

Redmine Installation: A Step by Step Guide

To start with, installing redmine is no difficult from installation of any RoR application. The steps are mostly similar.

So, here is the step by step detailed redmine installation guide for you:

1. Database Creation:

First of all, you need to create an empty database. You can do this from cpanel/plesk on the shared host. You can do this with console commands to create database on the VPS/dedicated server. Let’s assume, you created a user <redmine> with password <your_password>. You must ensure to change these credentials or this can be a big security loop in your server.

2. Database Configuration:

All the rails applications require that you configure the database in config/database.yml file. Moreover, the configuration is simple and just requires that you enter the database name, user name and password. A sample database file looks like file.

3. Install dependencies:

Installing discrepancies in a Ruby on Rails application is a breeze. So, you just got to run the bundle command and bundler will install all required gems in place. You might also be required to add the path to the gems to the bash profile of linux user where the redmine is being installed. A simple command like as follows:

bundle install

4. Generate Session Store Secret key:

Just like every RoR App, generate a session store secret. The generation of session store secret is just a matter of running a simple rake command.

bundle exec rake generate_secret_token

5. Migrate Database:

Now, it’s time to migrate the database. The migration of database will create the required tables and relationships in the database required to run the application. Again, migration is a simple Rails rake task.

bundle exec rake db:migrate

6. Load default data to database:

Redmine installation requires certain configuration options to be loaded into the database. And, this is loaded via a pre-configured rake script. At this step, you can chose to configure the language in which you want to load the default data in. Redmine provides a host of language support. Now, you can just run a simple rake command to load the data to the database like:

RAILS_ENV=production bundle exec rake redmine:load_default_data

7. Grant Permissions to the web server user:

The user running the web server must have these permissions for the file attachment, uploading and other functionality to work fine. Also, the files, log, tmp and public/plugin_assets folders should have write access for the user running the web server.

8. Test the Installation:

Finally, its now time to test drive the installation. If you have been installing all this on a local system, you can just test the application with the built in server by running. And, test that the application is working on http://localhost:3000

bundle exec rails server webrick -e production

9. Migrate Redmine to the hosting server:

Redmine comes with rails dispatcher and htaccess file to place in the webroot folder, where you can just place the files and get the redmine going. Therefore, you might need to configure htaccess file as per your hosting environment and settings. Hence, when you complete the final step, you are all done!

We hope this in-depth redmine installation guide was helpful in getting you up and running with Redmine.

Enjoy your shiny new redmine installation!!

Feel free to drop a comment if you get stuck somewhere, we will try to help as much as possible. And yes, don’t forget to share your ideas or tips to smoothen the redmine installation further.