How to install Redmine on Ubuntu 16.04

In this article, we will show you how to install Redmine on Ubuntu 16.04. Redmine is a cross-platform and cross-tracking database issue as well as a web project management application built on top of the open source Ruby on Rails framework. This guide should work on other Linux VPS systems as well, but was tested and written for Ubuntu 16.04 VPS.

Installing Redmine on Ubuntu 16.04 is a fairly straightforward task if you follow our article carefully.

1. Updating the system and installing the necessary packages

sudo apt update
sudo apt install curl subversion libmysqlclient-dev libmagickcore-dev libmagickwand-dev imagemagick g++, zlib1g-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgmp-dev, libgdbm-dev, libncurses5-dev, automake, libtool, bison, pkg-config, libffi-dev, libgmp-dev, libreadline6-dev, libssl-dev

2. Installing MySQL and creating a database

To install the MySQL package, run the following command:

sudo apt install mysql-server

When the installation is complete, run the following command to secure the installation:


Next, we need to create a database for our Redmine installation:

mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE redmine CHARACTER SET utf8;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'redmine_passwd';
MariaDB [(none)]> q

3. Create a new system user

Creating a new system user for Redmine.

sudo adduser --home /opt/redmine --shell /bin/bash --gecos 'Redmine application' redmine
usermod -aG sudo redmine

Switching to a new Redmine user:

sudo su - redmine

4. Installing Ruby using RVM

curl -sSL | gpg --import -
curl -sSL | bash -s stable --ruby

To start using RVM, run the following commands:

source ~/.rvm/scripts/rvm
rvm --default use ruby

In order to check if everything is done correctly, use the command ruby --version… The output should be similar to the following:

ruby --version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

5. Install Redmine

Run the following commands to checkout Redmine source code into directory $HOME/redmine and create the required directories.

cd && svn co redmine
mkdir -p ./redmine/tmp/pids ./redmine/public/plugin_assets

Configuring database parameters:

cp ./redmine/config/configuration.yml.example ./redmine/config/configuration.yml
cp ./redmine/config/database.yml.example ./redmine/config/database.yml

Open the file database.yml and update the username / password:

nano ./redmine/config/database.yml
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "redmine_passwd"
  encoding: utf8

6. Installing Gems

cd /opt/redmine/redmine
echo "gem 'puma'" >> Gemfile.local
echo "gem: --no-ri --no-rdoc" >> ~/.gemrc 
gem install bundler
bundle install --without development test postgresql sqlite

7. Preparing the database

rake generate_secret_token
RAILS_ENV=production rake db:migrate
RAILS_ENV=production REDMINE_LANG=en rake redmine:load_default_data

8. Configuring Puma

Create a new config file as follows:

nano ~/redmine/config/puma.rb
#!/usr/bin/env puma

directory application_path
environment 'production'
daemonize true
pidfile "#{application_path}/tmp/pids/"
state_path "#{application_path}/tmp/pids/puma.state"
stdout_redirect "#{application_path}/log/puma.stdout.log", "#{application_path}/log/puma.stderr.log"
bind "tcp://"

9. Launching Puma

Start the Puma server with the following command:

cd /opt/redmine/redmine/ && bundle exec puma --config config/puma.rb

The output should be similar to the following:

Puma starting in single mode...
* Version 3.11.3 (ruby 2.4.1-p111), codename: Love Song
* Min threads: 0, max threads: 16
* Environment: production
* Daemonizing...

Finally, you can launch your browser and access your fresh Redmine installation at: https://IP_ADDRESS:9000

That’s all. You have successfully installed Redmine on your Ubuntu VPS. For more information on Redmine, please refer to the Redmine website (

Please disable your ad blocker or whitelist this site!

Related Posts