Install Mantis Bug Tracker on Rocky Linux 8 /CentOS 8

Welcome to the guide on how to install Mantis Bug Tracker on CentOS 8 / Rocky Linux 8. Error tracking system, Also known as Defect tracking system It is a software that helps people track errors reported in software development projects. This is always a necessary tool for any professional software development infrastructure.

Mantis Tracker (MantisBT) As one of the popular error tracking systems, it is a free and open source web-based tool for error tracking. It is a simple, easy-to-use and user-friendly software written in PHP language. It has many built-in tools to help you quickly resolve errors and problems.These features include; role-based access control, notification via email, category support, projects and sub-projects, problem diagrams, customizable dashboards, etc.

Mantis Bug Tracker has the following main functions:

  • Version control integration
  • Optional wiki and chat integration
  • File management
  • Project, sub-project and category support
  • Customizable question page and workflow
  • Reports and drawings
  • User-based security
  • Email and RSS feed support
  • Advanced search tools
  • Time tracking
  • User and question grouping
  • Mobile access via MantisTouch​​[9]
  • Customizable fields and personal start page

Step 1: Install LAMP server on CentOS 8 / Rocky Linux 8

We need to install the LAMP server (Apache, MariaDB, PHP, etc.) on CentOS 8 / Rocky Linux 8.

Here is a command to install all of them on CentOS 8 / Rocky Linux 8.

sudo dnf install httpd mariadb-server php php-mysqli php-mbstring php-curl unzip -y

After installing all these packages, start and enable Apache And MariaDB use the following commands:

sudo systemctl start httpd
sudo systemctl start mariadb
sudo systemctl enable httpd
sudo systemctl enable mariadb

Step 2: Create the MantisBT database

In this guide, we will use the installed MariaDB to create a backend database for Mantis Bug Tracker.

Harden MariaDB:

sudo mysql_secure_installation

Follow the steps below to harden MariaDB.

.........
Enter current password for root (enter for none): just press enter
.....
Set root password? [Y/n] y
New password: set a password
Re-enter new password: re-enter the password
.......
Remove anonymous users? [Y/n] y
 ... Success!
..........
Disallow root login remotely? [Y/n] y
 ... Success!
............
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
..........
Reload privilege tables now? [Y/n] y
 ... Success!
..........

Log in to MariaDB shell using the password set above

mysql -u root -p

Now create a database for MantisBT

CREATE DATABASE mantisdb;
GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'Passw0rd';

Then refresh the permissions and exit the MariaDB shell.

FLUSH PRIVILEGES;
 EXIT;

Restart MariaDB.

sudo systemctl restart mariadb

Step 3: Install Mantis Bug Tracker on CentOS 8 / Rocky Linux 8.

We are now ready to install MantisBT on CentOS 8 / Rocky Linux 8. We first need to download the latest stable version of MantisBT from the official download page of MantisBT.

Or, get the download link and use the Wget command to download Mantis Bug Tracker.Make sure to use Wget to install on your system sudo yum install wget

wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.zip

After downloading the file, unzip it to your default web root directory /var/www/html/

unzip mantisbt-2.25.2.zip

Move the extracted files to /var/www/html/ as follows.

sudo mv mantisbt-2.25.2 /var/www/html/mantisbt

Change the ownership of the file to Apache as follows.

sudo chown -R apache:apache /var/www/html/mantisbt

Step 4: Create a Mantis bug tracker Apache Site configuration.

We need to create a configuration file for MantisBT.

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

In the file, add the following content.

<VirtualHost *:80>
    DocumentRoot "/var/www/html/mantisbt"

    ServerName mantisbt.example.com

    ErrorLog "/var/log/httpd/mantisbt_error_log"
    CustomLog "/var/log/httpd/mantisbt_access_log" combined

        <Directory "/var/www/html/mantisbt/">
            DirectoryIndex index.php 
            Options -Indexes +FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

</VirtualHost>

Restart now Apache:

sudo systemctl restart httpd

Check service status:

$ systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Sat 2021-09-04 05:52:17 EDT; 11s ago
     Docs: man:httpd.service(8)
 Main PID: 5415 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 9688)
   Memory: 24.6M
   CGroup: /system.slice/httpd.service
           ├─5415 /usr/sbin/httpd -DFOREGROUND
           ├─5417 /usr/sbin/httpd -DFOREGROUND
           ├─5418 /usr/sbin/httpd -DFOREGROUND
           ├─5419 /usr/sbin/httpd -DFOREGROUND
           └─5420 /usr/sbin/httpd -DFOREGROUND

Sep 04 05:52:16 rockylinux8.linuxvmimages.local systemd[1]: httpd.service: Succeeded.
Sep 04 05:52:16 rockylinux8.linuxvmimages.local systemd[1]: Stopped The Apache HTTP Server.
Sep 04 05:52:16 rockylinux8.linuxvmimages.local systemd[1]: Starting The Apache HTTP Server...
Sep 04 05:52:17 rockylinux8.linuxvmimages.local systemd[1]: Started The Apache HTTP Server.
Sep 04 05:52:17 rockylinux8.linuxvmimages.local httpd[5415]: Server configured, listening on: port 80

Step 5: Configure SELinux and firewall on CentOS 8 / Rocky Linux 8.

CentOS 8 / Rocky Linux 8 systems enable SELinux by default. Therefore, in order for MantisBT to run, we must configure it as follows:

sudo setsebool httpd_can_network_connect on -P
sudo chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/mantisbt

Next, we allow ports 80 and 443 to pass through the firewall.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Step 6: Access the Mantis Bug Tracker Web interface

After all the above settings are completed correctly, we can now access the MantisBT web interface.The page will be accessed using the URL https://IP_Address or https://HOSTNAME

On this page, scroll down and provide your database name (database), username(Praying mantis), password(password), and time zone (Nairobi).then click Install/upgrade database as the picture shows.Install Mantis Bug Tracker on CentOS 8 Rocky Linux 8 1

After the installation is complete, you will need to log in to MantisBT. The default login of Mantis Bug Tracker is used here. username: administration staff password: rootInstall Mantis Bug Tracker on CentOS 8 Rocky Linux 8 4

After successfully logging in, you will see this screen. It is recommended to change the administrator password.Set a new password by filling in the required details, then click Update user after finishing.Install Mantis Bug Tracker on CentOS 8 Rocky Linux 8 7

You will need to log in again with the newly created user password: administrator, as shown.Install Mantis Bug Tracker on CentOS 8 Rocky Linux 8 8

After successfully logging in, you should be able to see the MantisBT issues dashboard as shown in the figure.Install Mantis Bug Tracker on CentOS 8 Rocky Linux 8 9

Navigate between the tabs on the left panel.View tab contains unassigned and resolved errorsInstall Mantis Bug Tracker on CentOS 8 Rocky Linux 8 11

The View Problems tab displays all information about the error.Install Mantis Bug Tracker on CentOS 8 Rocky Linux 8 10

On the Manager tab, you can manage users, projects, configuration files, etc.Install Mantis Bug Tracker on CentOS 8 Rocky Linux 8 12

With this simple interface, anyone can easily use MantisBT.

in conclusion.

This marks the end of our guide on how to install Mantis Bug Tracker on CentOS 8 / Rocky Linux 8. You can now implement the Mantis Bug Tracker in the development environment and collaborate with the team.I hope this guide is helpful to you

See more information on this page:

  • Install Mantis Bug Tracker on Ubuntu
  • Install Ajenti Control Panel on CentOS 8 | RHEL 8 | Rocky Linux 8
  • Use VeraCrypt to encrypt files and directories on Linux