FedoraRHEL Based

How To Install Redmine on Fedora 41

Install Redmine on Fedora 41

Redmine is a versatile project management tool that offers features such as issue tracking, project planning, and support for multiple version control systems. Installing Redmine on Fedora 41 can enhance your project management capabilities by providing a robust platform for collaboration and organization. This guide will walk you through the step-by-step process of installing Redmine on Fedora 41, ensuring you have everything you need to get started.

System Requirements

Before diving into the installation process, it’s essential to understand the system requirements for running Redmine effectively on Fedora 41.

  • Operating System: Fedora 41
  • Dependencies:
    • Ruby version 2.5 or higher
    • Database support: MySQL (MariaDB) or PostgreSQL
    • Web server options: Apache or Nginx
  • Hardware Requirements:
    • Minimum: 1 GB RAM, 1 CPU core
    • Recommended: 2 GB RAM, 2 CPU cores

Preparing the Environment

The first step in installing Redmine is to prepare your environment by ensuring your system is up-to-date and that all necessary dependencies are installed.

Updating the System

Start by updating your Fedora packages to ensure you have the latest versions. Open a terminal and run the following command:

sudo dnf update -y

This command will refresh your package database and install any available updates. Keeping your system updated is crucial for security and stability.

Installing Required Dependencies

You will need several packages to run Redmine smoothly. Install the required dependencies with the following command:

sudo dnf install -y gcc make ruby ruby-devel mariadb-server mariadb-devel git ImageMagick ImageMagick-devel

This command installs development tools, Ruby, MariaDB (as the database server), and ImageMagick (for image processing). Make sure to install any other libraries that may be necessary based on your specific needs.

Setting Up the Database

A database is essential for storing Redmine’s data. You can choose between MySQL (MariaDB) or PostgreSQL. This guide will focus on using MariaDB.

Choosing a Database

If you prefer PostgreSQL, the installation steps will be similar but with minor differences in commands.

Installation Steps

To install MariaDB, run the following command:

sudo dnf install -y mariadb-server mariadb-devel

After installation, start the MariaDB service and enable it to start at boot:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Creating a Database and User for Redmine

You need to create a new database and user specifically for Redmine. Access the MariaDB shell with:

sudo mysql -u root -p

You will be prompted to enter the root password. Once inside the MariaDB shell, execute the following commands:

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

This creates a database named “redmine,” a user “redmineuser,” and grants all privileges on the database to this user. Replace ‘your_password‘ with a strong password of your choice.

Downloading and Installing Redmine

The next step involves downloading Redmine from its official repository and setting it up on your server.

Obtaining Redmine

You can download the latest version of Redmine using wget. First, navigate to your desired installation directory (e.g., /opt):

cd /opt
sudo wget https://www.redmine.org/releases/redmine-6.0.1.tar.gz

This command downloads the latest stable release of Redmine (replace with the latest version if necessary). After downloading, verify its integrity if needed.

Extracting Redmine

Extract the downloaded archive using tar:

sudo tar -xzf redmine-6.0.1.tar.gz
sudo mv redmine-6.0.1 redmine
cd redmine

This extracts Redmine into a directory named “redmine” within /opt.

Installing Bundler and Dependencies

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

sudogem install bundler

Next, run Bundler to install all necessary gems specified in the Gemfile:

bundle install --without development test

Configuring Redmine

The configuration phase involves setting up database connections and generating necessary tokens for session management.

Database Configuration

Edit the database configuration file located at config/database.yml:

sudo nano config/database.yml

Edit the production section to match your database settings:

# MySQL configuration
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmineuser
  password: "your_password"
  encoding: utf8mb4
  # Uncomment below if using SSL
  # sslca: /path/to/ca-cert.pem
# PostgreSQL configuration would look similar but with adapter: postgresql

Generating Secret Token

You need to generate a secret token for session management. Run this command within your Redmine directory:

bundle exec rake generate_secret_token RAILS_ENV=production

Migrating Database

The next step is to migrate your database schema by running migrations:

RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data

This sets up your database with default data for Redmine.

Setting Permissions

The permissions of your Redmine directories must be set correctly for security reasons and functionality.

sudochown -R apache:apache /opt/redmine
sudo chmod -R 755 /opt/redmine
chmod -R 755 tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
chmod -R 755 plugins
chmod -R 755 public/plugin_assets
chmod -R 755 tmp/sessions tmp/sockets tmp/cache public/plugin_assets

# Note: Replace 'apache' with 'nginx' if you're using Nginx as your web server.

Starting the Application

You can start Redmine using either WEBrick or Puma as web servers. For production use, Puma is recommended due to its performance advantages.

Using WEBrick or Puma

If you want to start using WEBrick temporarily, run this command:

bunble exec rails server webrick -e production -b 0.0.0.0 -d
# To use Puma instead:
bundle exec puma -C config/puma.rb -e production -b tcp://0.0.0.0:3000 -d 
# Note: The '-d' flag runs it as a daemon.

Accessing Redmine

You can access your newly installed Redmine instance by navigating to Your_Server_IP_or_Domain:3000/ . You should see the Redmine login page.

Install Redmine on Fedora 41

Testing the Installation

The default login credentials are as follows:

  • User: admin
  • Password: admin

Please make sure to change these credentials immediately after logging in for security purposes.

First Steps After Login

  • Navigating through settings and configurations.
  • Create new projects and assign users.
  • Add plugins or themes as needed for additional functionality.
  • Create custom issue trackers tailored to your workflow.
  • Dive into documentation available within Redmine for advanced features.

Troubleshooting Common Issues

  • If you encounter issues starting WEBrick or Puma, check that no other services are running on port 3000 by executing:
    sudoflsof -i :3000 
    # If some service is running on port 3000, terminate it or change port in config/puma.rb 
    # For example change it from `port` => `3000` to `port` => `4000` 
    # Then restart Puma.
  • If you face database connection errors:
    Ensure that your username/password in config/database.yml matches what you’ve set in MariaDB.
    Check that MariaDB is running with:

    sudostatus mariadb 
    # If it's not active, start it with:
    sudo systemctl start mariadb 
  • If you receive permission denied errors:
    Ensure correct ownership/permissions were set previously.
    Re-run permission commands if necessary.
    Check SELinux settings if enabled; consider setting it permissive temporarily during testing.
  • If there are missing gems during `bundle install`, ensure all dependencies are installed as mentioned earlier.
    Run `bundle update` if issues persist.
  • If you encounter any other issues, consult logs located in `log/production.log` for detailed error messages.

Congratulations! You have successfully installed Redmine. Thanks for using this tutorial for installing the Redmine project management app on Fedora 41 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