wiki:Nmm2022/Agenda/RTsetup

Version 11 (modified by geethike, 3 years ago) ( diff )

--

Install Request Tracker 5 (RT) on Ubuntu 20.04

Update system package cache;

# sudo su
# apt update
# apt upgrade

Install Required Build tools

# apt install build-essential libapache2-mod-fcgid libssl-dev libexpat1-dev libdbd-mysql-perl liblwp-protocol-https-perl libhtml-formattext-withlinks-andtables-perl libhtml-formattext-withlinks-perl html2text

Install Apache Web Server

#apt install apache2
# systemctl start apache2
# systemctl enable apache2

Install MariaDB Database Server

Install MariaDB 10.5 on Ubuntu 20.04;

# apt-key adv --fetch-keys 'http://mariadb.org/mariadb_release_signing_key.asc'

# add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal main'

# apt update
# apt install mariadb-server mariadb-client
# systemctl start mariadb
# systemctl enable mariadb

Install Request Tracker (RT)

Download RT 5 Tarball

# wget https://download.bestpractical.com/pub/rt/release/rt-5.0.0.tar.gz

You can now extract the source code;

# tar xzf rt-5.0.0.tar.gz

Compile and Install Request Tracker (RT)

Change to RT 5 source code directory and configure it to adapt it to the system as well as check if required package dependency is met;

# cd rt-5.0.0/
# ./configure

Next, check for package dependency.

# make testdeps

out put as follows;

/usr/bin/perl ./sbin/rt-test-dependencies
perl:
    5.10.1 ................................................. ok (5.30.0)

users / groups:
    rt group (www-data) .................................... ok (gid 33)
    bin user (root) ........................................ ok (uid 0)
    libs user (root) ....................................... ok (uid 0)
    libs group (bin) ....................................... ok (gid 2)
    web user (www-data) .................................... ok (uid 33)
    web group (www-data) ................................... ok (gid 33)

CORE dependencies:
    Apache::Session >= 1.53 ................................ MISSING
    Business::Hours ........................................ MISSING
    CGI >= 4.00 ............................................ ok (4.46)
    CGI::Cookie >= 1.20 .................................... ok (4.46)
    CGI::Emulate::PSGI ..................................... MISSING
    CGI::PSGI >= 0.12 ...................................... MISSING
    CSS::Minifier::XS ...................................... MISSING
    CSS::Squish >= 0.06 .................................... MISSING
    Class::Accessor::Fast .................................. MISSING
    Clone .................................................. MISSING
    Convert::Color ......................................... MISSING
    Crypt::Eksblowfish ..................................... MISSING
    DBI >= 1.37 ............................................ ok (1.643)
...

Fixing Request Tracker Missing Perl Dependencies;

You can fix the missing perl dependencies by installing them one by one or by simply using make fixdeps command. In order to use the make fixdeps command for fixing the missing packages, configure CPAN shell and install cpanminus.

# perl -MCPAN -e shell
CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes] yes

Autoconfiguration complete.
...
...
cpan shell -- CPAN exploration and modules installation (v2.22)
Enter 'h' for help.

cpan[1]> quit

Install CPANMINUS . cpanminus provides a command-line (non interactive) interface to automatically download, build and install Perl modules from CPAN.

# apt install cpanminus

Next, fix the dependencies;

# make fixdeps

Once the dependencies are installed, you can reverify;

...
FASTCGI dependencies:
    FCGI >= 0.74 ........................................... ok (0.79)

GPG dependencies:
    File::Which ............................................ ok
    GnuPG::Interface >= 1.00 ............................... ok (1.00)
    PerlIO::eol ............................................ ok

MYSQL dependencies:
    DBD::mysql >= 2.1018, != 4.042 ......................... ok (4.050)

SMIME dependencies:
    Crypt::X509 ............................................ ok
    File::Which ............................................ ok
    String::ShellQuote ..................................... ok


---------------------------------------------------------------------------

All dependencies found.

You can now install Request Tracker (RT);

# make install
...
# Make the web ui's data dir writable
chmod 0770  	/opt/rt5/var/mason_data \
		/opt/rt5/var/session_data
chown -R www-data 	/opt/rt5/var/mason_data \
			/opt/rt5/var/session_data
chgrp -R www-data 	/opt/rt5/var/mason_data \
			/opt/rt5/var/session_data
Congratulations. RT is now installed.


You must now configure RT by editing /opt/rt5/etc/RT_SiteConfig.pm.

(You will definitely need to set RT's database password in 
/opt/rt5/etc/RT_SiteConfig.pm before continuing. Not doing so could be 
very dangerous.  Note that you do not have to manually add a 
database user or set up a database for RT.  These actions will be 
taken care of in the next step.)

After that, you need to initialize RT's database by running
 'make initialize-database'

Create Request Tracker Database and Database user;

Next, you need to create or if already created, define the Request Tracker database details. Therefore, within the RT source directory, run the command below;

# cd rt-5.0.0/
# make initialize-database

When the command is run, you are prompted to enter the database root password. In our case, we use MariaDB and hence, we provide MariaDB root password. If the root user has no password set, just press ENTER.

/usr/bin/perl -I/opt/rt5/local/lib -I/opt/rt5/lib sbin/rt-setup-database --action init --prompt-for-dba-password
In order to create or update your RT database, this script needs to connect to your  mysql instance on localhost (port '') as root
Please specify that user's database password below. If the user has no database
password, just press return.

Password: 

When you enter password (or press ENTER for no root password), the script then creates rt5 and rt_user as RT database and database user respectively. It then populates the database with relevant data.

Working with:
Type:	mysql
Host:	localhost
Port:	
Name:	rt5
User:	rt_user
DBA:	root
Now creating a mysql database rt5 for RT.
Done.
Now populating database schema.
Done.
Now inserting database ACLs.
Done.
Now inserting RT core system objects.
Done.
Now inserting data.
Done inserting data.
Done.

Attachments (29)

Note: See TracWiki for help on using the wiki.