Skip to content

Instantly share code, notes, and snippets.

@cyhook
Last active June 21, 2021 08:56
Show Gist options
  • Save cyhook/5b63262be7ac1495e5110f2a2d320393 to your computer and use it in GitHub Desktop.
Save cyhook/5b63262be7ac1495e5110f2a2d320393 to your computer and use it in GitHub Desktop.

Request Tracker Installation on Ubuntu 14.04 with Assets and REST API module

export http_proxy="http://10.x.x.x:3128"
export https_proxy="http://10.x.x.x.x:3128"

Setup the database

# apt-get install mysql-server mysql-client libmysqlclient-dev

Setup the CGI Webserver

# apt-get install make apache2 libapache2-mod-fcgid libssl-dev libyaml-perl libgd-dev libgd-gd2-perl libgraphviz-perl

Setup Perl dependencies

# apt-get install libwww-perl libcss-squish-perl libmodule-versions-report-perl libcatalyst-plugin-log-dispatch-perl libregexp-common-perl libuniversal-require-perl libtext-wrapper-perl  libtext-password-pronounceable-perl libtime-modules-perl liblist-moreutils-perl libscalar-util-numeric-perl libdatetime-locale-perl libtext-template-perl libhtml-scrubber-perl libcache-simple-timedexpiry-perl   liblocale-maketext-lexicon-perl libdigest-whirlpool-perl libregexp-common-net-cidr-perl libtext-quoted-perl libmime-tools-perl libdevel-globaldestruction-perl  liblocale-maketext-lexicon-perl libregexp-common-net-cidr-perl libdbix-searchbuilder-perl libdevel-stacktrace-perl libhtml-rewriteattributes-perl libgnupg-interface-perl libperlio-eol-perl libdata-ical-perl libtext-wikiformat-perl libhtml-mason-perl libapache-session-browseable-perl libcgi-psgi-perl libhtml-mason-psgihandler-perl  libcgi-emulate-psgi-perl libconvert-color-perl liblocale-maketext-fuzzy-perl libhtml-quoted-perl libdatetime-perl libnet-cidr-perl libregexp-ipv6-perl libregexp-common-email-address-perl libipc-run3-perl  libxml-rss-perl libconfig-json-perl starlet libgd-text-perl libgd-graph-perl

Download and run the setup

cd /usr/src/;
wget https://download.bestpractical.com/pub/rt/release/rt-4.2.14.tar.gz ; 
wget https://download.bestpractical.com/pub//rt/release/RT-IR-4.0.0.tar.gz ;
wget https://download.bestpractical.com/pub//rt/release/RT-Extension-Assets-1.05.tar.gz ;
wget https://cpan.metacpan.org/authors/id/S/SR/SRVSH/RT-Client-REST-0.50.tar.gz
adduser --system --group rt;
usermod -aG rt www-data;
tar xzvf rt-4.*.tar.gz;
cd /usr/src/rt-4.2.14
./configure --with-web-user=www-data --with-web-group=www-data --enable-graphviz --enable-gd
### ADD Missing perl modules in the following list
cpan Business::Hours Encode@2.64 Crypt::Eksblowfish JavaScript::Minifier::XS Business::Hours Encode@2.64 Crypt::Eksblowfish JavaScript::Minifier::XS CSS::Minifier::XS Email::Address::List@0.02 GD::Graph@1.47 File::Which Crypt::SSLeay Net::SSL Mozilla::CA Crypt::X509 File::Which GD::Graph@1.47 File::Which Crypt::X509 File::Which Data::Page::Pageset JavaScript::Minifier::XS  Crypt::Eksblowfish  Email::Address::List@0.02 Business::Hours CSS::Minifier::XS Encode@2.64 Net::SSL Mozilla::CA Crypt::SSLeay
make testdeps			# This should show all dependencies as found.
make install			# populates to /opt/rt4/
make initialize-database	# setup DB user and tables

To test the installation

/opt/rt4/sbin/rt-server --port 8080	# Default login for http://10.1.1.155:8080 is root/password

Setup Vhost for running the Perl CGI

cat /etc/apache2/sites-available/rt.conf
<VirtualHost *:8081>
        ServerAdmin webmaster@localhost
        ServerName 10.1.1.155:8081

        AddDefaultCharset UTF-8
        DocumentRoot /opt/rt4/share/html
        Alias /NoAuth/images/ /opt/rt4/share/html/NoAuth/images/
        ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/
        <Location />
                Require all granted
        </Location>

        LogLevel info

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
a2enmod fcgid
a2ensite rt
# vim /opt/rt4/etc/RT_SiteConfig.pm
...
Set( $rtname, '10.1.1.155');
Set($WebDomain, '10.1.1.155');
Set($WebPort, 8081);
...

Fix perms and restart

service apache2 restart	# file perms need correcting (bug)
service apache2 reload

RT for Incident Response Module Installation

Extract and fix dependencies

cd /usr/src
tar xzvf RT-IR-4.0.0.tar.gz
cd /usr/src/RT-IR-4.0.0
apt-get install libhook-lexwrap-perl libnet-whois-ripe-perl
perl Makefile.PL	# this will show only - Parse::BooleanLogic ...missing.
make			# connects to CPAN and downloads
perl Makefile.PL	# verify that all deps are found.

Install RTIR and update DB schema

make install		# this populates /opt/rt4/local/plugins/RT-IR/
make initdb

Activate the RTIR extension in the /opt/rt4/etc/RT_SiteConfig.pm file:

...
Set (@Plugins,(qw(RT::Extension::Assets RT::Interface::REST RT::IR)));
...

Restart the Perl CGI

service apache2 restart

RT Extension Assets Setup

cd /usr/src
tar xzvf RT-Extension-Assets-1.05.tar.gz
cd /usr/src/RT-Extension-Assets-1.05
apt-get install libhook-lexwrap-perl libnet-whois-ripe-perl
perl Makefile.PL	# this will show only - Parse::BooleanLogic ...missing.
make			# connects to CPAN and downloads
perl Makefile.PL	# verify that all deps are found.

Install RTIR Extension Assets and update DB schema

make install		
make initdb
service apache2 restart

RT REST API

Setup RT REST API

tar xzvf RT-Client-REST-0.50.tar.gz;
cd /usr/src/RT-Client-REST-0.50
perl Makefile.PL	# this will show only
make			# connects to CPAN and downloads
make install            # Install any missing modules using cpan
perl Makefile.PL	# verify that all deps are found.

Replace the cpan url with the link to your RT setup e.g. http://10.xxx.xxx.xxx:8081

nano comment_on_ticket.pl create_ticket.pl create_user.pl edit_custom_field.pl edit_group.pl edit_ticket.pl edit_user.pl list_attachments.pl list_tickets.pl list_transactions.pl list_transactions_rt.pl report-bug-to-cpan.pl search_tickets.pl show_attachment.pl show_group.pl show_links.pl show_queue.pl show_ticket.pl show_transaction.pl show_user.pl take_ticket.pl

Restart the Perl CGI

service apache2 restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment