Categories
General

Install Request Tracker on Fedora Workstation 31

Requirements

You’ll need the following:

  • Perl
  • Make
  • Curl
  • SQLite
  • esmtp or ssmtp (or a Sendmail alternative)
  • Many additional Perl modules

Installing Requirements

Use the following commands to install all the requirements for Request Tracker version 4.4.4.

# Base requirements
sudo dnf install curl esmtp make perl sqlite

# Installing the Perl modules in several batches
sudo dnf install \
    "perl(Term::ReadKey)" \
    "perl(Getopt::Long)" \
    "perl(Text::ParseWords)" \
    "perl(Term::ReadLine)" \
    "perl(Digest::SHA)" \
    "perl(Pod::Select)" \
    "perl(Digest::MD5)" \
    "perl(Storable)" \
    "perl(Text::Template)" \
    "perl(Time::HiRes)" \
    "perl(Sys::Syslog)" \
    "perl(Digest::base)" \
    "perl(URI::QueryParam)" \
    "perl(File::Glob)" \
    "perl(File::Spec)" \
    "perl(Scalar::Util)" \
    "perl(Encode)" \
    "perl(File::Temp)" \
    "perl(Errno)" \
    "perl(URI)" \
    "perl(Locale::Maketext)" \
    "perl(File::Which)" \
    "perl(Pod::Usage)" \
    "perl(Getopt::Long)" \
    "perl(Mozilla::CA)" \
    "perl(File::Which)"

sudo dnf install \
    "perl(Apache::Session)" \
    "perl(Business::Hours)" \
    "perl(CGI::Cookie)" \
    "perl(CGI::Emulate::PSGI)" \
    "perl(CGI::PSGI)" \
    "perl(CGI)" \
    "perl(Class::Accessor::Fast)" \
    "perl(Clone)" \
    "perl(Convert::Color)" \
    "perl(Crypt::Eksblowfish)" \
    "perl(Crypt::X509)" \
    "perl(CSS::Minifier::XS)" \
    "perl(CSS::Squish)" \
    "perl(Data::GUID)" \
    "perl(Data::ICal)" \
    "perl(Data::Page::Pageset)" \
    "perl(Date::Extract)" \
    "perl(Date::Manip)" \
    "perl(DateTime::Format::Natural)" \
    "perl(DateTime::Locale)" \
    "perl(DateTime)" \
    "perl(DBD::SQLite)" \
    "perl(DBI)" \
    "perl(DBIx::SearchBuilder)" \
    "perl(Devel::GlobalDestruction)" \
    "perl(Devel::StackTrace)" \
    "perl(Email::Address::List)" \
    "perl(Email::Address)" \
    "perl(File::ShareDir)" 

sudo dnf install \
    "perl(GD::Graph)" \
    "perl(GD::Text)" \
    "perl(GD)" \
    "perl(GnuPG::Interface)" \
    "perl(GraphViz)" \
    "perl(HTML::Entities)" \
    "perl(HTML::FormatText::WithLinks::AndTables)" \
    "perl(HTML::FormatText::WithLinks)" \
    "perl(HTML::Mason::PSGIHandler)" \
    "perl(HTML::Mason)" \
    "perl(HTML::Quoted)" \
    "perl(HTML::RewriteAttributes)" \
    "perl(HTML::Scrubber)" \
    "perl(HTTP::Message)" \
    "perl(IPC::Run)" \
    "perl(IPC::Run3)" \
    "perl(JavaScript::Minifier::XS)" \
    "perl(JSON)" \
    "perl(List::MoreUtils)" \
    "perl(Locale::Maketext::Fuzzy)" \
    "perl(Locale::Maketext::Lexicon)" \
    "perl(Log::Dispatch)" \
    "perl(LWP::Protocol::https)" \
    "perl(LWP::Simple)" \
    "perl(LWP::UserAgent)" \
    "perl(Mail::Header)" \
    "perl(Mail::Mailer)" \
    "perl(MIME::Entity)" \
    "perl(MIME::Types)" \
    "perl(Module::Refresh)" \
    "perl(Module::Versions::Report)" 

sudo dnf install \
    "perl(Net::CIDR)" \
    "perl(Net::IP)" \
    "perl(PerlIO::eol)" \
    "perl(Plack::Handler::Starlet)" \
    "perl(Plack)" \
    "perl(Regexp::Common::net::CIDR)" \
    "perl(Regexp::Common)" \
    "perl(Regexp::IPv6)" \
    "perl(Role::Basic)" \
    "perl(Scope::Upper)" \
    "perl(String::ShellQuote)" \
    "perl(Symbol::Global::Name)" \
    "perl(Text::Password::Pronounceable)" \
    "perl(Text::Quoted)" \
    "perl(Text::WikiFormat)" \
    "perl(Text::Wrapper)" \
    "perl(Time::ParseDate)" \
    "perl(Tree::Simple)" \
    "perl(UNIVERSAL::require)" \
    "perl(XML::RSS)"

Download and Unpack Request Tracker

mkdir ~/rt-install
cd ~/rt-install
curl -C - -O "https://download.bestpractical.com/pub/rt/release/rt-4.4.4.tar.gz"
tar xzf ./rt-4.4.4.tar.gz
cd rt-4.4.4

Configure Request Tracker

We’re going to install to $HOME/rt4 with SQLite and use the built-in server.

./configure --prefix=$HOME/rt4 \
    --enable-graphviz \
    --enable-gd \
    --enable-gpg \
    --enable-smime \
    --with-web-handler=standalone \
    --with-db-type=SQLite \
    --with-my-user-group \
    --with-attachment-store=disk

Verify Dependencies are Installed

You’ll want to ensure that everything is ready for install:

make testdeps
# You should see a line at then end stating that
# all dependencies are available.

Install Request Tracker

make install

Configure Installation

Run the built-in server and then browse to http://localhost:8080 to finish the installation. For database setup, you can keep the defaults.

# Run the built-in server
$HOME/rt4/sbin/rt-server --port 8080

Finished

You may need to restart the server once you’ve finished the configuration depending on the options specified.

Alternative Install Method

dnf install rt
Categories
General

Wha? … mind blown …

fedora-has-no-more-usr-dir