Redmine 7 installation on Ubuntu 26.04

This guide will show you how to install Redmine 7 on Ubuntu 26.04. The Ubuntu Linux used for the installation could be checked below.

ubuntu_version_26_04.png

Installing the Redmine 7.0.0 requires a few specific steps because it relies on Ruby on Rails 8 and Ruby 4. The safest deployment on Ubuntu is to build from source, set up a MySQL/MariaDB database, and use Puma or Passenger with Nginx for production.

Install Dependencies and Database

Firstly, please update your Ubuntu package list and install the necessary system and database prerequisites via the following commands below:

sudo apt update && sudo apt upgrade -y

sudo apt install -y build-essential libmysqlclient-dev mysql-server wget curl git \
libssl-dev libreadline-dev zlib1g-dev libyaml-dev libffi-dev libxml2-dev libxslt1-dev

Afterward, secure your MySQL installation and create the Redmine database and user:

sudo mysql_secure_installation

sudo mysql -u root -p

Then in the MySQL shell, please run:

CREATE DATABASE redmine CHARACTER SET utf8mb4;

CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'YOUR_STRONG_PASSWORD';

GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

FLUSH PRIVILEGES;

EXIT;

Installation of Ruby and Bundler

Redmine 7 requires Ruby. The easiest way to install a compatible Ruby version is by using a version manager like rbenv or Brightbox PPA. Please install Ruby, then Bundler:

sudo gem install bundler

Download and Set Redmine 7

Download the official source tarball file of Redmine 7.0.0, extract it, and then prepare the configuration files:

cd /var/www/html

sudo wget [direct link to the Redmine file located in https://redmine.org]

sudo tar -xvf redmine-7.0.0.tar.gz

sudo mv redmine-7.0.0 redmine

cd redmine

Note: In our example the exact link to download the Redmine 7.0.0 from the official site and the command accordingly is sudo wget https://www.redmine.org/releases/redmine-7.0.0.tar.gz, you have to just right click on the file and get the link as it is in the screenshot below.

copy_link.png

Now copy the example database configuration and edit it to include your SQL credentials:

sudo cp config/database.yml.example config/database.yml

sudo nano config/database.yml

Under the production: please update the adapter, database, host, username, password, and set encoding: utf8mb4.

production_database_config.png

Install the needed Gems and Migrate the Database

This step is about installation of all required dependencies and initialize the Redmine database:

sudo bundle install --without development test

sudo bundle exec rake generate_secret_token

sudo bundle exec rake db:migrate RAILS_ENV=production

sudo bundle exec rake redmine:load_default_data RAILS_ENV=production

Troubleshooting

Important: Please check the below troubleshooting points in case you encounter the following problems.

  • If you encountered this gem error:
An error occurred while installing bcrypt (3.1.22), and Bundler
cannot continue.

You have to install the specific gem version in this way:

dimitar@dimitar:/var/www/html/redmine$ sudo gem install bcrypt -v '3.1.22'
  • In case you have similar with the above gem problem (in this situation the "date" gem):
An error occurred while installing date (3.5.1), and Bundler cannot
continue.

In Gemfile:
  rails was resolved to 8.1.3, which depends on
    actionmailbox was resolved to 8.1.3, which depends on
      mail was resolved to 2.9.1, which depends on
        net-imap was resolved to 0.6.4.1, which depends on
          date

You can just update the gem as follows below:

dimitar@dimitar:/var/www/html/redmine$ sudo bundle update date
  • And regarding this error:
An error occurred while installing io-console (0.8.2), and Bundler
cannot continue.

In Gemfile:
  rails was resolved to 8.1.3, which depends on
    actiontext was resolved to 8.1.3, which depends on
      action_text-trix was resolved to 2.1.19, which depends on
        railties was resolved to 8.1.3, which depends on
          irb was resolved to 1.18.0, which depends on
            reline was resolved to 0.6.3, which depends on
              io-console

Please fix it in this way:

dimitar@dimitar:/var/www/html/redmine$ sudo bundle config set --local path 'vendor/bundle'

And finally run the bundle install command again to finish all the gem installations.

dimitar@dimitar:/var/www/html/redmine$ sudo bundle install

Afterward all the migration will run fine:

dimitar@dimitar:/var/www/html/redmine$ sudo bundle exec rake db:migrate RAILS_ENV=production
== 1 Setup: migrating =========================================================
-- create_table("attachments", {:options=>"ENGINE=InnoDB", :force=>true, :id=>:integer})
   -> 0.0156s
-- create_table("auth_sources", {:options=>"ENGINE=InnoDB", :force=>true, :id=>:integer})
   -> 0.0140s
-- create_table("custom_fields", {:options=>"ENGINE=InnoDB", :force=>true, :id=>:integer})
   -> 0.0140s
-- create_table("custom_fields_projects", {:options=>"ENGINE=InnoDB", :id=>false, :force=>true})
   -> 0.0131s
-- create_table("custom_fields_trackers", {:options=>"ENGINE=InnoDB", :id=>false, :force=>true})
   -> 0.0127s
-- create_table("custom_values", {:options=>"ENGINE=InnoDB", :force=>true, :id=>:integer})
   -> 0.0135s
-- create_table("documents", {:options=>"ENGINE=InnoDB", :force=>true, :id=>:integer})
........................
..............
.......
...

Setting the Permissions and Start Application

Please assign the correct folder permissions to the web server user (www-data):

sudo chown -R www-data:www-data files log tmp public/plugin_assets

sudo chmod -R 755 files log tmp public/plugin_assets

The way to start the built-in WEBrick or Puma server to verify if your installation works:

sudo bundle exec rails server -e production

The result in your terminal should be:

dimitar@dimitar:/var/www/html/redmine$ sudo bundle exec rails server -e production
=> Booting Puma
=> Rails 8.1.3 application starting in production 
=> Run bin/rails server --help for more startup options
Puma starting in single mode...
* Puma version: 8.0.2 ("Into the Arena")
* Ruby version: ruby 3.3.8 (2025-04-09 revision b200bad6cd) [x86_64-linux-gnu]
*  Min threads: 0
*  Max threads: 5
*  Environment: production
*          PID: 2619799
* Listening on http://0.0.0.0:3000
..................
............
.....

As you see in the above messages that followed the command in your terminal, you can now access your new Redmine 7 locally or via your server's IP on port 3000 (e.g., http://your-server-ip:3000). The default login is admin / admin. Screenshot reference of the working Redmine afterward could be checked below:

redmine_7_successfully_installed.png

Was this article helpful? Yes  No