AlmaLinuxRHEL Based

How To Install Redmine on AlmaLinux 9

Install Redmine on AlmaLinux 9

Redmine is a powerful project management tool that provides support for various project management methodologies, including Agile and Scrum. It is highly customizable, allowing users to manage multiple projects while tracking issues, time, and resources effectively. Installing Redmine on AlmaLinux 9 can enhance your project management capabilities significantly. This guide will walk you through the installation process step-by-step, ensuring a smooth setup.

Prerequisites

Before diving into the installation process, it’s crucial to ensure that your system meets the necessary requirements. This section outlines the essential prerequisites for installing Redmine on AlmaLinux 9.

System Requirements

  • Operating System: AlmaLinux 9 or compatible Linux distribution.
  • CPU: Minimum dual-core processor.
  • RAM: At least 2 GB (4 GB recommended for better performance).
  • Disk Space: A minimum of 1 GB free space for installation and additional space for projects.

Software Requirements

  • Ruby: Version 2.6 or higher is required for Redmine.
  • Database: MySQL or PostgreSQL are recommended options.
  • Web Server: Apache or Nginx can be used to serve Redmine.

User Permissions

You will need a non-root user with sudo privileges to perform the installation. This practice enhances security by minimizing the risk of accidental system changes.

Step 1: Update Your System

The first step in preparing your AlmaLinux system for Redmine is to ensure that all packages are up-to-date. Keeping your system updated is critical as it ensures you have the latest security patches and software enhancements.

sudo dnf update -y

This command will refresh your package manager’s database and install any available updates. After running this command, it’s advisable to reboot your system if any kernel updates were applied.

Step 2: Install Required Dependencies

The next step involves installing several dependencies that Redmine requires to function correctly. These include Ruby, Apache, and database libraries.

Enable EPEL Repository

The Extra Packages for Enterprise Linux (EPEL) repository contains additional software packages that are not included in the standard AlmaLinux repositories. To enable it, run:

sudo dnf install epel-release -y

Install Required Packages

The following command installs all necessary packages for running Redmine:

sudo dnf install ruby ruby-devel httpd mariadb-server mariadb-devel ImageMagick ImageMagick-devel gcc gcc-c++ -y

This command installs Ruby along with development tools, the Apache web server, MariaDB (a MySQL-compatible database), and ImageMagick (for image processing). Ensure that all installations complete successfully without errors.

Step 3: Configure the Database

A database is essential for storing Redmine’s data, including user information and project details. In this section, you will set up MariaDB as your database server.

Install and Start MariaDB

The first step is to start the MariaDB service and enable it to start on boot:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Secure MariaDB Installation

Securitizing your MariaDB installation is crucial to prevent unauthorized access. Run the following command to initiate the security script:

sudo mysql_secure_installation

This script will prompt you to set a root password, remove anonymous users, disallow root login remotely, and remove test databases. Follow the prompts carefully to secure your installation.

Create a Database for Redmine

You will now create a dedicated database for Redmine. Log into MariaDB using the following command:

sudo mysql -u root -p

You will be prompted to enter the root password you set earlier. Once logged in, execute the following SQL commands:

CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmineuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmineuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

This creates a new database named `redmine`, a user `redmineuser`, and grants full privileges on the database to this user. Replace `’password’` with a strong password of your choice.

Step 4: Download and Install Redmine

The next step involves downloading the latest version of Redmine from its official website and installing it on your server.

Download the Latest Version of Redmine

You can download Redmine using `wget`. Replace `x.x.x` with the latest version number available from the Redmine website:

wget https://www.redmine.org/releases/redmine-x.x.x.tar.gz

Extract and Move Files

Once downloaded, extract the files and move them to a suitable directory:

tar xzf redmine-x.x.x.tar.gz
sudo mv redmine-x.x.x /opt/redmine

Set Up Directory Permissions

The web server needs proper permissions to access Redmine files. Set ownership of the directory as follows:

sudo chown -R apache:apache /opt/redmine

Step 5: Configure Redmine

This section focuses on configuring Redmine to connect with your newly created database and preparing it for use.

Database Configuration

Edit the `config/database.yml` file to set up your database connection parameters:

cd /opt/redmine
nano config/database.yml

Your configuration should look similar to this (make sure to replace placeholders with actual values):

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmineuser
  password: "password"

Install Bundler and Dependencies

You need Bundler to manage Ruby gems required by Redmine. Install it using gem:

gem install bundler --no-document
cd /opt/redmine
bundle install --without development test

This command installs all necessary gems while excluding development and test dependencies, which aren’t needed in production environments.

Step 6: Configure Apache Web Server

Your web server needs configuration settings specific to serving Redmine properly. Here’s how you can set it up using Apache.

Create Apache Configuration File for Redmine

Create a new configuration file in `/etc/httpd/conf.d/`:

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

Add the following content to configure Apache for Redmine:

<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /opt/redmine/public

    <Directory /opt/redmine/public>
        Require all granted
        Options -MultiViews
        AllowOverride all
    </Directory>
    
    ErrorLog /var/log/httpd/redmine_error.log
    CustomLog /var/log/httpd/redmine_access.log combined
</VirtualHost>

This configuration sets up a virtual host for your domain pointing to the public directory of Redmine. Ensure you replace `yourdomain.com` with your actual domain name or IP address.

Enable and Start Apache Service

The final step in configuring Apache is enabling and starting its service:

sudo systemctl start httpd.service 
sudo systemctl enable httpd.service 

Step 7: Finalize Installation and Access Redmine

The last steps involve finalizing your installation by migrating the database and loading default data into Redmine.

Migrate Database and Load Default Data

Navigating back into the Redmine directory, run these commands:

cd /opt/redmine 
RAILS_ENV=production bundle exec rake db:migrate 
RAILS_ENV=production bundle exec rake redmine:load_default_data 

This process initializes your database schema and populates it with default data such as roles and permissions necessary for operation.

Accessing Redmine Web Interface

You can now access your newly installed Redmine instance by navigating to http://yourdomain.com. Use default login credentials (admin/admin) to log in initially; be sure to change these after logging in for security purposes.

How To Install Redmine on AlmaLinux 9

Congratulations! You have successfully installed Redmine. Thanks for using this tutorial for installing the Redmine open source project management app on AlmaLinux 9 system. For additional help or useful information, we recommend you check the official Redmine website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button