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.
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
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
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/
Once installed, we need to configure the RT instance to work with Apache and MySQL/MariaDB.
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
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.
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.
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
Start and enable the Apache and MariaDB services using the following commands:
sudo systemctl enable httpd mariadb
sudo systemctl start httpd mariadb
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:
root
password
You should change the root password and create a new admin user immediately after logging in.
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!