Linux Tactic

Efficiently Manage Projects with Redmine on CentOS 8

Installing and Configuring Redmine on CentOS 8

In today’s digital age, project management is an essential part of any business, regardless of size. And to efficiently manage a project, you need effective tools that help you delegate, track and monitor tasks, communicate status updates, and ultimately, deliver the project on time.

This is where Redmine comes in handy. Redmine is a web-based project management tool that offers features such as project wiki, time tracking, and issue tracking.

It allows team members to collaborate in real-time, which increases productivity and improves communication. If you plan to use Redmine as your project management tool, this guide will help you install and configure it on your CentOS 8 system.


Before installing Redmine, there are some prerequisites that you need to meet. Ensure that you have:

– A CentOS 8 system with a minimal installation

– A user with sudo privileges

– A functional internet connection

– MariaDB server

– Ruby

– Apache web server

– Passenger web application server

Creating a MySQL database

Redmine uses a MySQL database to store its data. Therefore, the first step is to create a database and a user with appropriate permissions.

Use the following commands to create a database and a user and grant them access to the database:

1. Log in to your MariaDB server using the following command:

mysql -u root -p

2. Create a database, for example, “redmine_db” using the following command:

CREATE DATABASE redmine_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;


Create a MySQL user and set the password. Replace “username” with your desired username and “password” with your desired password:

CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;


Grant the user all the privileges on the database that you just created:

GRANT ALL PRIVILEGES ON redmine_db.* TO ‘username’@’localhost’ IDENTIFIED BY ‘password’;

Installing Passenger, Apache, and Ruby

To install Passenger, Apache, and Ruby, you need to enable the EPEL repository, install the required packages using yum, and configure the firewall to allow HTTP and HTTPS traffic. Use the following commands to do this:


Enable the EPEL repository:

sudo dnf install epel-release

2. Install the required packages:

sudo dnf -y install redhat-rpm-config httpd-devel gcc-c++ patch readline readline-devel zlib zlib-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison sqlite-devel nodejs mariadb-devel


Install passenger and nginx:

sudo dnf -y install passenger

4. Add passenger to Apache:

sudo passenger-install-apache2-module

5. Start Apache:

sudo systemctl start httpd

Creating a New System User

For security reasons, it is best practice to create a new system user and group for Redmine and assign the appropriate permissions. Use the following commands to create a new user and group and assign the appropriate permissions:


Create a new group using the following command:

sudo groupadd redmine

2. Create a new user and place them in the redmine group:

sudo useradd -g redmine -d /opt/redmine -s /bin/bash redmine


Assign the appropriate permissions:

sudo chown -R redmine:redmine /opt/redmine

Installing Redmine

Finally, it’s time to install Redmine. Use the following commands to download and install Redmine:


Download and extract the package:

cd /opt/redmine

sudo wget

sudo tar zxf redmine-4.2.1.tar.gz

2. Install the required dependencies:

cd redmine-4.2.1

sudo yum -y install ImageMagick-devel gcc mysql-devel patch openssl libyaml-devel libffi-devel libicu-devel zlib-devel

3. Configure the database:

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

sudo vi config/database.yml


Generate a session store secret key:

cd /opt/redmine/redmine-4.2.1

sudo bundle install –without development test

RAILS_ENV=production rake generate_secret_token

5. Migrate the database:

sudo RAILS_ENV=production rake db:migrate


Start the application server:

sudo passenger-install-apache2-module

Configuring Apache

Now that you have installed and configured Redmine, it is necessary to configure Apache to run the application. Follow these steps to configure Apache:


Configure the vhost file:

sudo vi /etc/httpd/conf.d/redmine.conf


DocumentRoot /opt/redmine/redmine-4.2.1/public

PassengerRuby /usr/bin/ruby

PassengerAppEnv production

Require all granted

Options -MultiViews

AllowOverride All

RewriteEngine on

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

2. Restart Apache:

sudo systemctl restart httpd

Configuring Apache with SSL

It is highly recommended to configure Apache with SSL to secure the communication between the client and server. Here’s how to do it:


Install the Certbot client:

sudo dnf install certbot python3-certbot-apache

2. Obtain an SSL certificate from Let’s Encrypt:

sudo certbot –apache -d


Configure the firewall:

sudo firewall-cmd –permanent –add-service=http

sudo firewall-cmd –permanent –add-service=https

sudo firewall-cmd –reload


There you have it! Now that you have installed and configured Redmine on CentOS 8, you can start using it to manage your projects. We hope that this guide has been informative and helps you get started with Redmine.

Remember to keep your system up to date and secure by regularly applying updates and patches. Happy managing!

Using Redmine

Redmine is an excellent web-based application that enables hassle-free project management. It offers various functionalities such as issue tracking, a project wiki, time tracking, and the ability to customize workflows.

In this section, we will show you how to use Redmine to manage your projects.

Open your browser

To get started, open your web browser and navigate to the URL of your Redmine instance. The URL may vary depending on the settings and configurations on your server.

Generally, the URL includes the domain or IP address of your server, followed by “/redmine”, for example, “”.

Login and Password

On the login page, enter your username and password to sign in. If you do not have an account, contact your Redmine administrator to create an account for you.

To ensure the security of your account and data, create a strong password and change it regularly.

User Account Page

Once you have logged in, you will be taken to your user account page. Here, you will be able to view and edit your personal information, password, and email address.

You can also update your notification settings and customize your Redmine interface by selecting a theme, language, or text formatting options.


A firewall is a software or hardware device that controls access to and from a network or device. If you have installed Redmine on a server that has a firewall enabled, you may need to configure it to allow HTTP and HTTPS traffic to the server.

If you are unsure how to configure a firewall, contact your network administrator or consult the documentation for your firewall software.

Using Redmine as a Project Management Tool

Redmine can be used to assist with various project management tasks, from task delegation to progress tracking, to collaboration with your team. Here are some tips to help you get started:


Create a New Project

To create a new project, click on the “Projects” link in the top menu bar and select “New project.” Fill out the necessary information for your project, including the project name, description, and any other necessary details. Once you have entered all your information, select “Create” to create the project.

2. Create Tasks and Issues

Next, create tasks and issues for your project.

You can create a new task by clicking on “New issue” in the top menu bar, or by selecting “New issue” from within your project. Provide the necessary details, including the issue summary, description, and any relevant attachments or associated files.

3. Assign Tasks and Establish Priorities

You can assign tasks to team members by selecting their name from the “Assignee” dropdown list while creating or editing a task/issue.

Additionally, you can establish priorities by setting the priority level of a task or issue. 4.

Track Progress

Redmine offers several methods to track progress, including burndown charts, gantt charts, and calendars. Use these tools to help you monitor progress, track deadlines, and manage your resources effectively.

5. Collaborate with Your Team

Redmine features tools that enable collaboration with your team, including a project wiki, version control, and issue and change tracking.

Encourage your team to use these tools to help them stay organized, share information, and work together effectively.


Redmine is an excellent project management tool that offers so much more than just issue tracking. Its customizable workflows and team collaboration features make it an ideal choice for project managers.

With this guide’s help, you can configure, set up, and begin using Redmine to help you manage projects more efficiently. Redmine is a powerful web-based project management tool that enables efficient and effective project management.

In this guide, we covered how to install and configure Redmine on CentOS 8, configure Apache, and use Redmine as a project management tool. Along with the necessary prerequisites, we covered the steps to create a MySQL database, install Passenger, Apache, and Ruby, create a new system user, and install Redmine.

Moreover, we covered how to use Redmine as a project management tool, including creating new projects, tasks, and issues, assigning tasks, tracking progress, and collaborating with your team. Ultimately, using Redmine can help you stay organized, increase productivity, and improve communication.

Popular Posts