Installing Request Tracker on Fedora Server

Request Tracker (RT) is an open-source trouble ticket tracking system. In this tutorial, we will walk through the installation process of Request Tracker on a Fedora Server.

Prerequisites

Before getting started, make sure that your Fedora Server is up-to-date by running the following commands:

sudo dnf update -y

Also, ensure that Apache, MySQL/MariaDB, and Perl modules are installed on your system:

sudo dnf install httpd mariadb mariadb-server perl perl-core perl-CGI perl-CPAN perl-DBD-MySQL perl-DBI perl-Email-Address perl-Env perl-ExtUtils-MakeMaker perl-HTML-FormatText-WithLinks perl-HTTP-Server-Simple perl-IPC-Run3 perl-JSON perl-List-MoreUtils perl-Locale-Maketext-Fuzzy perl-Log-Dispatch perl-Log-Dispatch-Array perl-Log-Dispatch-Perl perl-Log-Log4perl perl-Module-Build perl-Module-Install perl-Storable perl-Module-Install-AuthorTests perl-Module-Install-ReadmeFromPod perl-Module-Install-Repository perl-Package-DeprecationManager perl-PadWalker perl-Params-Util perl-Params-Validate perl-PathTools perl-PerlIO-gzip perl-Plack perl-Pod-Coverage perl-RT perl-Sub-Install perl-Sys-Syslog perl-Term-ReadKey perl-Term-ReadLine-Gnu perl-Test-Deep perl-Test-Exception perl-Test-Fatal perl-Test-LeakTrace perl-Test-Memory-Cycle perl-Test-MockModule perl-Test-NoWarnings perl-Test-Output perl-Test-Perl-Critic perl-Test-Pod perl-Test-Pod-Coverage perl-Test-Requires perl-Test-Script perl-Test-SharedFork perl-Test-Strict perl-Test-Taint perl-Test-TCP perl-Test-Time perl-Test-utf8 perl-Test-Warn perl-Test-Warnings perl-Time-HiRes perl-TimeDate perl-Tree-DAG_Node perl-URI perl-URI-Encode perl-Unicode-LineBreak perl-Unix-Syslog perl-Net-HTTP perl-Crypt-SSLeay perl-IO-HTML perl-Date-Manip.noarch perl-Authen-SASL.noarch perl-Convert-PEM.noarch wget

Step 1: Install EPEL repository

Request Tracker requires some packages that are available in the Extra Packages for Enterprise Linux (EPEL) repository. To install the EPEL repository, run the following command:

sudo dnf install epel-release -y

Step 2: Install RT

Now, download and install the latest version of RT using the following commands:

wget https://download.bestpractical.com/pub/rt/release/rt-latest.tar.gz
sudo tar -xvzf rt-latest.tar.gz -C /usr/share/

Step 3: Configure RT

Once installed, we need to configure the RT instance to work with Apache and MySQL/MariaDB.

Create a Database and User

First, we will create a new database and user for RT. Run the following command to log in to the MariaDB shell:

sudo mysql -u root -p

Enter your MariaDB root password in the prompt.

Once you are logged in, create a new RT database and user with the following commands:

CREATE DATABASE rt4 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON rt4.* TO 'rt_user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit

Configure RT

Next, we need to configure RT by copying the example configuration file and editing it:

sudo cp /usr/share/rt-*/etc/RT_Config.pm /usr/share/rt4/etc/
sudo vi /usr/share/rt4/etc/RT_Config.pm

In the RT_Config.pm file, find the following lines:

# Set $DatabaseType to "mysql", "Pg", "Oracle", or "SQLite".
# You can also specify a module name e.g. DBD::Pg
Set($DatabaseType , '');

# These are the settings for your database connection
Set($DatabaseUser , 'rt_user');
Set($DatabasePassword , 'password');
Set($DatabaseName , 'rt4');

Uncomment these lines and set the appropriate values for your database configuration.

Configure Apache

Create a new RT configuration file in Apache's configuration directory:

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

Add the following configuration to the rt4.conf file:

<VirtualHost *:80>
    ServerName rt.example.com
    DocumentRoot /usr/share/rt4/share/html
    AddDefaultCharset UTF-8

    <Location />
        SetHandler perl-script
        PerlResponseHandler Plack::Handler::Apache2
        PerlSetVar psgi_app /usr/share/rt4/sbin/rt-server
    </Location>

    <Directory "/usr/share/rt4/share/html">
        AllowOverride All
    </Directory>
</VirtualHost>

Replace rt.example.com with your server's hostname or IP address.

Create Initial Database Schema

Lastly, create the initial database schema by running the following command:

sudo /usr/share/rt4/sbin/rt-setup-database --action init --prompt-for-dba-password

Step 4: Start and Enable Services

Start and enable the Apache and MariaDB services using the following commands:

sudo systemctl enable httpd mariadb
sudo systemctl start httpd mariadb

Step 5: Accessing RT

You can now access your RT installation by visiting http://rt.example.com/ in your web browser. Replace rt.example.com with your server's hostname or IP address.

The default login credentials are:

You should change the root password and create a new admin user immediately after logging in.

Conclusion

In this tutorial, we have shown you how to install and configure Request Tracker on a Fedora Server. You can now use Request Tracker to track and manage your trouble tickets.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!