<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rt-wiki.bestpractical.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SKuervers</id>
	<title>Request Tracker Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://rt-wiki.bestpractical.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SKuervers"/>
	<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/wiki/Special:Contributions/SKuervers"/>
	<updated>2026-08-22T14:57:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26650</id>
		<title>CentOS7Install</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26650"/>
		<updated>2019-02-11T22:26:23Z</updated>

		<summary type="html">&lt;p&gt;SKuervers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT 4.4.3 installation on CentOS 7.6.1810 ==&lt;br /&gt;
&lt;br /&gt;
NOTE:  Original Document was for CentOS 7.2 and RT 4.4.1 with MySQL.  Updated for CentOS 7.6, RT 4.4.3 with PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
CAUTION:  Previous versions of this document has been stated that you cannot use this method to install RT 4.4.3 directly - this is corrected with a patch below.  Best Practical will be fixing this issue in the 4.4.4 release.&lt;br /&gt;
&lt;br /&gt;
This document provides a quick methodology for installing RT 4.4.3 on CentOS/RHEL 7.6 for an internet-connected server.  There is a separate CentOS 6.x install at https://rt-wiki.bestpractical.com/wiki/CentOS6Install.&lt;br /&gt;
&lt;br /&gt;
# Assumptions&lt;br /&gt;
 * Access to the internet and CentOS OS and update repositories is available.&lt;br /&gt;
 * Installation testing was completed using CentOS 7.6.1810 minimal boot ISO.&lt;br /&gt;
 * httpd (Apache) 2.4 and mod_fcgid Apache modules were used as the host environment.&lt;br /&gt;
 * Testing was conducted in both KVM and vSphere environments.&lt;br /&gt;
 * Note that the EPEL repository is not required for installation on CentOS 7.&lt;br /&gt;
&lt;br /&gt;
# OS Installation and Initial Configuration&lt;br /&gt;
 * (!) It is possible to automate the majority of this section using kickstart files.&lt;br /&gt;
## Install OS.&lt;br /&gt;
 * Install the OS from ISO or PXE boot using your normal methodology.&lt;br /&gt;
## Install prerequisites for RT from OS repository.&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install expat gd graphviz openssl expat-devel gd-devel graphviz-devel  openssl-devel perl perl-CPAN wget screen mod_fcgid postgresql-server postgresql-devel&lt;br /&gt;
yum groupinstall &amp;quot;Development Tools&amp;quot; &amp;quot;Web Server&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: We use PostgreSQL as the DB which allows us to enable full text search. (This is a change from the previous version of the document which used MySQL/MariaDB.)&lt;br /&gt;
## Patch OS&lt;br /&gt;
&amp;lt;pre&amp;gt;yum update&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Disable selinux, by editing /etc/sysconfig/selinux:&lt;br /&gt;
&amp;lt;code&amp;gt;SELINUX=disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
 * reboot the OS&lt;br /&gt;
## Initialize the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;postgresql-setup initdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Adjust local services:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl enable postgresql.service&lt;br /&gt;
systemctl enable httpd.service&lt;br /&gt;
systemctl start postgresql.service&lt;br /&gt;
systemctl stop httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  httpd service needs to be stopped to allow RT web based configuration later.&lt;br /&gt;
# Configure Supporting Software&lt;br /&gt;
## Configure postgres user password for postgresql, where &#039;xxx&#039; is the &#039;password&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres psql&lt;br /&gt;
  ALTER USER postgres PASSWORD &#039;xxx&#039;;&lt;br /&gt;
  \q&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  This step configures the internal DB postgres password for the local instance of postgresql&lt;br /&gt;
## Reconfigure postgres local user access&lt;br /&gt;
Configure PostgreSQL to use md5 passwords (needed for RT).  Edit /var/lib/pgsql/data/pg_hba.conf and modify the following line from peer to md5:&lt;br /&gt;
&amp;lt;pre&amp;gt;# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
#local   all         all                               peer&lt;br /&gt;
local   all         all                               md5&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Restart postgres server&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart postgresql.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install CPAN minus.&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -L http://cpanmin.us | perl - --sudo App::cpanminus&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Dependencies and Installation&lt;br /&gt;
## Get RT&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir rt&lt;br /&gt;
cd rt&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Verify downloads&lt;br /&gt;
 * NOTE: Release notes are found at https://bestpractical.com/release-notes/rt/4.4.3&lt;br /&gt;
 * extract the sha256sums from the release notes online and add them to a new sha256sum.txt file.&lt;br /&gt;
&amp;lt;pre&amp;gt;738ab43cac902420b3525459e288515d51130d85810659f6c8a7e223c77dadb1  rt-4.4.3.tar.gz&lt;br /&gt;
29e0f9c44e30fb8bb2d23448f1930593aef28e4b3faf5bd22619f52e53229c4f  rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * confirm the files:&lt;br /&gt;
&amp;lt;pre&amp;gt;sha256sum -c sha256sum.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Confirm the GPG key signatures&lt;br /&gt;
&amp;lt;pre&amp;gt;gpg rt-4.4.3.tar.gz.asc&lt;br /&gt;
gpg --keyserver keyserver.ubuntu.com --recv-key XXX&lt;br /&gt;
gpg rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: identify the RSA key ID from the first and replace XXX with the key (RSA key ID 0xFEAC80B2 as of 11 Feb 19)&lt;br /&gt;
## Extract the files&lt;br /&gt;
&amp;lt;pre&amp;gt;tar xvzf rt-4.4.3.tar.gz -C /tmp&lt;br /&gt;
cd /tmp/rt-4.4.3&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT:&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure --enable-graphviz --enable-gd --with-web-user=apache --with-web-group=apache --with-db-type=Pg&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT to use cpanm for fixdeps:&lt;br /&gt;
&amp;lt;pre&amp;gt;export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Test the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make fixdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  You may need to run the command more than once.&lt;br /&gt;
 * You may need to force the install of a module to complete the install:&lt;br /&gt;
   &amp;lt;pre&amp;gt;cpanm HTTP::Headers::Fast --force&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Confirm dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Insert a missing dependency into lib/RT/Interface/Web/Handler.pm:&lt;br /&gt;
 * REF:  https://github.com/bestpractical/rt/commit/e07af30477&lt;br /&gt;
 * Edit the file and insert the RT::ObjectCustomFieldValues at line 61:&lt;br /&gt;
&amp;lt;pre&amp;gt;use RT::Interface::Web::Request;&lt;br /&gt;
use RT::ObjectCustomFieldValues;&lt;br /&gt;
use File::Path qw( rmtree );&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install RT (default install is to the /opt/rt4 directory):&lt;br /&gt;
&amp;lt;pre&amp;gt; make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Configuration using Web Interface&lt;br /&gt;
 * (!) It is possible to complete this step by editing the RT files directly, and creating the database.  Refer to the RT documentation for manual steps.&lt;br /&gt;
## Configure firewalld to open port 80&lt;br /&gt;
&amp;lt;pre&amp;gt;firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Note:  This is an example only, which provides full access to the http port..  Configure your firewall as per site policies.&lt;br /&gt;
## Start the first run installation instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure using the web interface.&lt;br /&gt;
 * Access the server using a web browser to access the http port.&lt;br /&gt;
 * Configure the RT instance using the web interface.  Refer to the RT documentation.&lt;br /&gt;
## Shutdown the rt-server instance.&lt;br /&gt;
 * When completed Ctrl-C the rt-server instance started above.&lt;br /&gt;
# Configure web server&lt;br /&gt;
## Modify /etc/httpd/conf.d/fcgid.conf.  Add:&lt;br /&gt;
&amp;lt;code&amp;gt;FcgidMaxRequestLen 1073741824&amp;lt;/code&amp;gt;&lt;br /&gt;
## Create /etc/httpd/conf.d/rt.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# RT4 configuration for Apache&lt;br /&gt;
#&lt;br /&gt;
# With minor changes, this configuration is based on the original documentation:&lt;br /&gt;
# https://docs.bestpractical.com/rt/4.4.2/web_deployment.html&lt;br /&gt;
#&lt;br /&gt;
### Optional apache logs for RT&lt;br /&gt;
# Ensure that your log rotation scripts know about these files&lt;br /&gt;
# ErrorLog /opt/rt4/var/log/apache2.error&lt;br /&gt;
# TransferLog /opt/rt4/var/log/apache2.access&lt;br /&gt;
# LogLevel debug&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/&lt;br /&gt;
&lt;br /&gt;
DocumentRoot &amp;quot;/opt/rt4/share/html&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Location /&amp;gt;&lt;br /&gt;
  # For Centos7/Apache 2.4 use this line:&lt;br /&gt;
  Require all granted&lt;br /&gt;
&lt;br /&gt;
  # For Centos6/Apache 2.2 use these two lines:&lt;br /&gt;
  # Order allow,deny&lt;br /&gt;
  # Allow from all&lt;br /&gt;
&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  AddHandler fcgid-script fcgi&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Start apache:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Further RT Customization&lt;br /&gt;
 * These steps are not mandatory, and can be skipped if not desired.&lt;br /&gt;
## Enable Full Text Indexing&lt;br /&gt;
 * This command modifies the database to enable full text indexing&lt;br /&gt;
 * Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-setup-fulltext-index --no-attachments --dba-password XXX&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  XXX is the postgres DB user password&lt;br /&gt;
   * DB Table:     AttachmentsIndex&lt;br /&gt;
   * Column Name:  ContentIndex&lt;br /&gt;
   * Index:        GIN&lt;br /&gt;
 * As the last command will leave the postgres DB password in the command history, clear the relevant history record:&lt;br /&gt;
&amp;lt;pre&amp;gt;history&lt;br /&gt;
history -d &amp;lt;number&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  &amp;lt;number&amp;gt; reflects the line number with the --dba-password statement&lt;br /&gt;
## Prepare for Offline Attachments&lt;br /&gt;
 * This enables the migration of embedded attachments from the database to a local filesystem&lt;br /&gt;
 * Create the directory to store attached files&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /opt/rt4-atts&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Modify Site Configuration for fulltext indexing and offline attachments&lt;br /&gt;
 * Modify &amp;lt;code&amp;gt;/opt/rt4/etc/RT_SiteConfig.pm&amp;lt;/code&amp;gt;, inserting the following above the final &amp;lt;code&amp;gt;1;&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&amp;lt;pre&amp;gt;# enable FullTextSearch&lt;br /&gt;
Set( %FullTextSearch,&lt;br /&gt;
    Enable     =&amp;gt; 1,&lt;br /&gt;
    Indexed    =&amp;gt; 1,&lt;br /&gt;
    Column     =&amp;gt; &#039;ContentIndex&#039;,&lt;br /&gt;
    Table      =&amp;gt; &#039;AttachmentsIndex&#039;,&lt;br /&gt;
);&lt;br /&gt;
# enable external file storage&lt;br /&gt;
Set(%ExternalStorage,&lt;br /&gt;
    Type =&amp;gt; &#039;Disk&#039;,&lt;br /&gt;
    Path =&amp;gt; &#039;/opt/rt4-atts&#039;,&lt;br /&gt;
);&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Create RT crontab entry&lt;br /&gt;
 * &lt;br /&gt;
 * Create &amp;lt;code&amp;gt;/etc/cron.d/rt&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Request Tracker cron.d/rt file&lt;br /&gt;
&lt;br /&gt;
# For details see man 3 crontabs&lt;br /&gt;
&lt;br /&gt;
# Example of job definition:&lt;br /&gt;
# .---------------- minute (0 - 59)&lt;br /&gt;
# |  .------------- hour (0 - 23)&lt;br /&gt;
# |  |  .---------- day of month (1 - 31)&lt;br /&gt;
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...&lt;br /&gt;
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat&lt;br /&gt;
# |  |  |  |  |&lt;br /&gt;
# *  *  *  *  * user-name command to be executed&lt;br /&gt;
&lt;br /&gt;
# Request Tracker crontab entries&lt;br /&gt;
  # attachments - daily moving of large attachments from DB to file system&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-externalize-attachments&lt;br /&gt;
  # indexer - daily indexing of db for fulltext search      &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-fulltext-indexer --quiet&lt;br /&gt;
  # email digests - RT4 email digest processes&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-email-digest -m daily&lt;br /&gt;
  0 0 * * 0 root /opt/rt4/sbin/rt-email-digest -m weekly&lt;br /&gt;
  0 * * * * root /opt/rt4/sbin/rt-email-dashboards&lt;br /&gt;
  # clean sessions - once a day blow away any open sessions &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-clean-sessions 6H&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Installation Complete&lt;br /&gt;
## Reboot server to confirm service restart&lt;br /&gt;
 * It is recommended that you reboot the server to confirm all services restart and provide RT.&lt;br /&gt;
## Access RT&lt;br /&gt;
 * Connect to RT using your web browser and start your site customization.&lt;/div&gt;</summary>
		<author><name>SKuervers</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26649</id>
		<title>CentOS7Install</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26649"/>
		<updated>2019-02-11T22:25:33Z</updated>

		<summary type="html">&lt;p&gt;SKuervers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT 4.4.3 installation on CentOS 7.6.1810 ==&lt;br /&gt;
&lt;br /&gt;
NOTE:  Original Document was for CentOS 7.2 and RT 4.4.1 with MySQL.  Updated for CentOS 7.6, RT 4.4.3 with PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
CAUTION:  Previous versions of this document has been stated that you cannot use this method to install RT 4.4.3 directly - this is corrected with a patch below.  Best Practical will be fixing this issue in the 4.4.4 release.&lt;br /&gt;
&lt;br /&gt;
This document provides a quick methodology for installing RT 4.4.3 on CentOS/RHEL 7.6 for an internet-connected server.  There is a separate CentOS 6.x install at https://rt-wiki.bestpractical.com/wiki/CentOS6Install.&lt;br /&gt;
&lt;br /&gt;
# Assumptions&lt;br /&gt;
 * Access to the internet and CentOS OS and update repositories is available.&lt;br /&gt;
 * Installation testing was completed using CentOS 7.6.1810 minimal boot ISO.&lt;br /&gt;
 * httpd (Apache) 2.4 and mod_fcgid Apache modules were used as the host environment.&lt;br /&gt;
 * Testing was conducted in both KVM and vSphere environments.&lt;br /&gt;
 * Note that the EPEL repository is not required for installation on CentOS 7.&lt;br /&gt;
&lt;br /&gt;
# OS Installation and Initial Configuration&lt;br /&gt;
 * (!) It is possible to automate the majority of this section using kickstart files.&lt;br /&gt;
## Install OS.&lt;br /&gt;
 * Install the OS from ISO or PXE boot using your normal methodology.&lt;br /&gt;
## Install prerequisites for RT from OS repository.&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install expat gd graphviz openssl expat-devel gd-devel graphviz-devel  openssl-devel perl perl-CPAN wget screen mod_fcgid postgresql-server postgresql-devel&lt;br /&gt;
yum groupinstall &amp;quot;Development Tools&amp;quot; &amp;quot;Web Server&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: We use PostgreSQL as the DB which allows us to enable full text search. (This is a change from the previous version of the document which used MySQL/MariaDB.)&lt;br /&gt;
## Patch OS&lt;br /&gt;
&amp;lt;pre&amp;gt;yum update&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Disable selinux, by editing /etc/sysconfig/selinux:&lt;br /&gt;
&amp;lt;code&amp;gt;SELINUX=disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
 * reboot the OS&lt;br /&gt;
## Initialize the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;postgresql-setup initdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Adjust local services:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl enable postgresql.service&lt;br /&gt;
systemctl enable httpd.service&lt;br /&gt;
systemctl start postgresql.service&lt;br /&gt;
systemctl stop httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  httpd service needs to be stopped to allow RT web based configuration later.&lt;br /&gt;
# Configure Supporting Software&lt;br /&gt;
## Configure postgres user password for postgresql, where &#039;xxx&#039; is the &#039;password&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres psql&lt;br /&gt;
  ALTER USER postgres PASSWORD &#039;xxx&#039;;&lt;br /&gt;
  \q&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  This step configures the internal DB postgres password for the local instance of postgresql&lt;br /&gt;
## Reconfigure postgres local user access&lt;br /&gt;
Configure PostgreSQL to use md5 passwords (needed for RT).  Edit /var/lib/pgsql/data/pg_hba.conf and modify the following line from peer to md5:&lt;br /&gt;
&amp;lt;pre&amp;gt;# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
#local   all         all                               peer&lt;br /&gt;
local   all         all                               md5&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Restart postgres server&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart postgresql.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install CPAN minus.&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -L http://cpanmin.us | perl - --sudo App::cpanminus&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Dependencies and Installation&lt;br /&gt;
## Get RT&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir rt&lt;br /&gt;
cd rt&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Verify downloads&lt;br /&gt;
 * NOTE: Release notes are found at https://bestpractical.com/release-notes/rt/4.4.3&lt;br /&gt;
 * extract the sha256sums from the release notes online and add them to a new sha256sum.txt file.&lt;br /&gt;
&amp;lt;pre&amp;gt;738ab43cac902420b3525459e288515d51130d85810659f6c8a7e223c77dadb1  rt-4.4.3.tar.gz&lt;br /&gt;
29e0f9c44e30fb8bb2d23448f1930593aef28e4b3faf5bd22619f52e53229c4f  rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * confirm the files:&lt;br /&gt;
&amp;lt;pre&amp;gt;sha256sum -c sha256sum.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Confirm the GPG key signatures&lt;br /&gt;
&amp;lt;pre&amp;gt;gpg rt-4.4.3.tar.gz.asc&lt;br /&gt;
gpg --keyserver keyserver.ubuntu.com --recv-key XXX&lt;br /&gt;
gpg rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: identify the RSA key ID from the first and replace XXX with the key (RSA key ID 0xFEAC80B2 as of 11 Feb 19)&lt;br /&gt;
## Extract the files&lt;br /&gt;
&amp;lt;pre&amp;gt;tar xvzf rt-4.4.3.tar.gz -C /tmp&lt;br /&gt;
cd /tmp/rt-4.4.3&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT:&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure --enable-graphviz --enable-gd --with-web-user=apache --with-web-group=apache --with-db-type=Pg&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT to use cpanm for fixdeps:&lt;br /&gt;
&amp;lt;pre&amp;gt;export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Test the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make fixdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  You may need to run the command more than once.&lt;br /&gt;
 * You may need to force the install of a module to complete the install:&lt;br /&gt;
   &amp;lt;pre&amp;gt;cpanm HTTP::Headers::Fast&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Confirm dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Insert a missing dependency into lib/RT/Interface/Web/Handler.pm:&lt;br /&gt;
 * REF:  https://github.com/bestpractical/rt/commit/e07af30477&lt;br /&gt;
 * Edit the file and insert the RT::ObjectCustomFieldValues at line 61:&lt;br /&gt;
&amp;lt;pre&amp;gt;use RT::Interface::Web::Request;&lt;br /&gt;
use RT::ObjectCustomFieldValues;&lt;br /&gt;
use File::Path qw( rmtree );&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install RT (default install is to the /opt/rt4 directory):&lt;br /&gt;
&amp;lt;pre&amp;gt; make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Configuration using Web Interface&lt;br /&gt;
 * (!) It is possible to complete this step by editing the RT files directly, and creating the database.  Refer to the RT documentation for manual steps.&lt;br /&gt;
## Configure firewalld to open port 80&lt;br /&gt;
&amp;lt;pre&amp;gt;firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Note:  This is an example only, which provides full access to the http port..  Configure your firewall as per site policies.&lt;br /&gt;
## Start the first run installation instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure using the web interface.&lt;br /&gt;
 * Access the server using a web browser to access the http port.&lt;br /&gt;
 * Configure the RT instance using the web interface.  Refer to the RT documentation.&lt;br /&gt;
## Shutdown the rt-server instance.&lt;br /&gt;
 * When completed Ctrl-C the rt-server instance started above.&lt;br /&gt;
# Configure web server&lt;br /&gt;
## Modify /etc/httpd/conf.d/fcgid.conf.  Add:&lt;br /&gt;
&amp;lt;code&amp;gt;FcgidMaxRequestLen 1073741824&amp;lt;/code&amp;gt;&lt;br /&gt;
## Create /etc/httpd/conf.d/rt.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# RT4 configuration for Apache&lt;br /&gt;
#&lt;br /&gt;
# With minor changes, this configuration is based on the original documentation:&lt;br /&gt;
# https://docs.bestpractical.com/rt/4.4.2/web_deployment.html&lt;br /&gt;
#&lt;br /&gt;
### Optional apache logs for RT&lt;br /&gt;
# Ensure that your log rotation scripts know about these files&lt;br /&gt;
# ErrorLog /opt/rt4/var/log/apache2.error&lt;br /&gt;
# TransferLog /opt/rt4/var/log/apache2.access&lt;br /&gt;
# LogLevel debug&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/&lt;br /&gt;
&lt;br /&gt;
DocumentRoot &amp;quot;/opt/rt4/share/html&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Location /&amp;gt;&lt;br /&gt;
  # For Centos7/Apache 2.4 use this line:&lt;br /&gt;
  Require all granted&lt;br /&gt;
&lt;br /&gt;
  # For Centos6/Apache 2.2 use these two lines:&lt;br /&gt;
  # Order allow,deny&lt;br /&gt;
  # Allow from all&lt;br /&gt;
&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  AddHandler fcgid-script fcgi&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Start apache:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Further RT Customization&lt;br /&gt;
 * These steps are not mandatory, and can be skipped if not desired.&lt;br /&gt;
## Enable Full Text Indexing&lt;br /&gt;
 * This command modifies the database to enable full text indexing&lt;br /&gt;
 * Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-setup-fulltext-index --no-attachments --dba-password XXX&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  XXX is the postgres DB user password&lt;br /&gt;
   * DB Table:     AttachmentsIndex&lt;br /&gt;
   * Column Name:  ContentIndex&lt;br /&gt;
   * Index:        GIN&lt;br /&gt;
 * As the last command will leave the postgres DB password in the command history, clear the relevant history record:&lt;br /&gt;
&amp;lt;pre&amp;gt;history&lt;br /&gt;
history -d &amp;lt;number&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  &amp;lt;number&amp;gt; reflects the line number with the --dba-password statement&lt;br /&gt;
## Prepare for Offline Attachments&lt;br /&gt;
 * This enables the migration of embedded attachments from the database to a local filesystem&lt;br /&gt;
 * Create the directory to store attached files&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /opt/rt4-atts&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Modify Site Configuration for fulltext indexing and offline attachments&lt;br /&gt;
 * Modify &amp;lt;code&amp;gt;/opt/rt4/etc/RT_SiteConfig.pm&amp;lt;/code&amp;gt;, inserting the following above the final &amp;lt;code&amp;gt;1;&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&amp;lt;pre&amp;gt;# enable FullTextSearch&lt;br /&gt;
Set( %FullTextSearch,&lt;br /&gt;
    Enable     =&amp;gt; 1,&lt;br /&gt;
    Indexed    =&amp;gt; 1,&lt;br /&gt;
    Column     =&amp;gt; &#039;ContentIndex&#039;,&lt;br /&gt;
    Table      =&amp;gt; &#039;AttachmentsIndex&#039;,&lt;br /&gt;
);&lt;br /&gt;
# enable external file storage&lt;br /&gt;
Set(%ExternalStorage,&lt;br /&gt;
    Type =&amp;gt; &#039;Disk&#039;,&lt;br /&gt;
    Path =&amp;gt; &#039;/opt/rt4-atts&#039;,&lt;br /&gt;
);&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Create RT crontab entry&lt;br /&gt;
 * &lt;br /&gt;
 * Create &amp;lt;code&amp;gt;/etc/cron.d/rt&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Request Tracker cron.d/rt file&lt;br /&gt;
&lt;br /&gt;
# For details see man 3 crontabs&lt;br /&gt;
&lt;br /&gt;
# Example of job definition:&lt;br /&gt;
# .---------------- minute (0 - 59)&lt;br /&gt;
# |  .------------- hour (0 - 23)&lt;br /&gt;
# |  |  .---------- day of month (1 - 31)&lt;br /&gt;
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...&lt;br /&gt;
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat&lt;br /&gt;
# |  |  |  |  |&lt;br /&gt;
# *  *  *  *  * user-name command to be executed&lt;br /&gt;
&lt;br /&gt;
# Request Tracker crontab entries&lt;br /&gt;
  # attachments - daily moving of large attachments from DB to file system&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-externalize-attachments&lt;br /&gt;
  # indexer - daily indexing of db for fulltext search      &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-fulltext-indexer --quiet&lt;br /&gt;
  # email digests - RT4 email digest processes&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-email-digest -m daily&lt;br /&gt;
  0 0 * * 0 root /opt/rt4/sbin/rt-email-digest -m weekly&lt;br /&gt;
  0 * * * * root /opt/rt4/sbin/rt-email-dashboards&lt;br /&gt;
  # clean sessions - once a day blow away any open sessions &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-clean-sessions 6H&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Installation Complete&lt;br /&gt;
## Reboot server to confirm service restart&lt;br /&gt;
 * It is recommended that you reboot the server to confirm all services restart and provide RT.&lt;br /&gt;
## Access RT&lt;br /&gt;
 * Connect to RT using your web browser and start your site customization.&lt;/div&gt;</summary>
		<author><name>SKuervers</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26648</id>
		<title>CentOS7Install</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26648"/>
		<updated>2019-02-11T22:24:25Z</updated>

		<summary type="html">&lt;p&gt;SKuervers: /* RT 4.4.3 installation on CentOS 7.6.1804 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT 4.4.3 installation on CentOS 7.6.1810 ==&lt;br /&gt;
&lt;br /&gt;
NOTE:  Original Document was for CentOS 7.2 and RT 4.4.1 with MySQL.  Updated for CentOS 7.6, RT 4.4.3 with PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
CAUTION:  Previous versions of this document has been stated that you cannot use this method to install RT 4.4.3 directly - this is corrected with a patch below.  Best Practical will be fixing this issue in the 4.4.4 release.&lt;br /&gt;
&lt;br /&gt;
This document provides a quick methodology for installing RT 4.4.3 on CentOS/RHEL 7.6 for an internet-connected server.  There is a separate CentOS 6.x install at https://rt-wiki.bestpractical.com/wiki/CentOS6Install.&lt;br /&gt;
&lt;br /&gt;
# Assumptions&lt;br /&gt;
 * Access to the internet and CentOS OS and update repositories is available.&lt;br /&gt;
 * Installation testing was completed using CentOS 7.6.1810 minimal boot ISO.&lt;br /&gt;
 * httpd (Apache) 2.4 and mod_fcgid Apache modules were used as the host environment.&lt;br /&gt;
 * Testing was conducted in both KVM and vSphere environments.&lt;br /&gt;
 * Note that the EPEL repository is not required for installation on CentOS 7.&lt;br /&gt;
&lt;br /&gt;
# OS Installation and Initial Configuration&lt;br /&gt;
 * (!) It is possible to automate the majority of this section using kickstart files.&lt;br /&gt;
## Install OS.&lt;br /&gt;
 * Install the OS from ISO or PXE boot using your normal methodology.&lt;br /&gt;
## Install prerequisites for RT from OS repository.&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install expat gd graphviz openssl expat-devel gd-devel graphviz-devel  openssl-devel perl perl-CPAN wget screen mod_fcgid postgresql-server postgresql-devel&lt;br /&gt;
yum groupinstall &amp;quot;Development Tools&amp;quot; &amp;quot;Web Server&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: We use PostgreSQL as the DB which allows us to enable full text search. (This is a change from the previous version of the document which used MySQL/MariaDB.)&lt;br /&gt;
## Patch OS&lt;br /&gt;
&amp;lt;pre&amp;gt;yum update&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Disable selinux, by editing /etc/sysconfig/selinux:&lt;br /&gt;
&amp;lt;code&amp;gt;SELINUX=disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
 * reboot the OS&lt;br /&gt;
## Initialize the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;postgresql-setup initdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Adjust local services:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl enable postgresql.service&lt;br /&gt;
systemctl enable httpd.service&lt;br /&gt;
systemctl start postgresql.service&lt;br /&gt;
systemctl stop httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  httpd service needs to be stopped to allow RT web based configuration later.&lt;br /&gt;
# Configure Supporting Software&lt;br /&gt;
## Configure postgres user password for postgresql, where &#039;xxx&#039; is the &#039;password&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres psql&lt;br /&gt;
  ALTER USER postgres PASSWORD &#039;xxx&#039;;&lt;br /&gt;
  \q&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  This step configures the internal DB postgres password for the local instance of postgresql&lt;br /&gt;
## Reconfigure postgres local user access&lt;br /&gt;
Configure PostgreSQL to use md5 passwords (needed for RT).  Edit /var/lib/pgsql/data/pg_hba.conf and modify the following line from peer to md5:&lt;br /&gt;
&amp;lt;pre&amp;gt;# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
#local   all         all                               peer&lt;br /&gt;
local   all         all                               md5&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Restart postgres server&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart postgresql.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install CPAN minus.&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -L http://cpanmin.us | perl - --sudo App::cpanminus&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Dependencies and Installation&lt;br /&gt;
## Get RT&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir rt&lt;br /&gt;
cd rt&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Verify downloads&lt;br /&gt;
 * NOTE: Release notes are found at https://bestpractical.com/release-notes/rt/4.4.3&lt;br /&gt;
 * extract the sha256sums from the release notes online and add them to a new sha256sum.txt file.&lt;br /&gt;
738ab43cac902420b3525459e288515d51130d85810659f6c8a7e223c77dadb1  rt-4.4.3.tar.gz&lt;br /&gt;
29e0f9c44e30fb8bb2d23448f1930593aef28e4b3faf5bd22619f52e53229c4f  rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * confirm the files:&lt;br /&gt;
&amp;lt;pre&amp;gt;sha256sum -c sha256sum.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Confirm the GPG key signatures&lt;br /&gt;
&amp;lt;pre&amp;gt;gpg rt-4.4.3.tar.gz.asc&lt;br /&gt;
gpg --keyserver keyserver.ubuntu.com --recv-key XXX&lt;br /&gt;
gpg rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: identify the RSA key ID from the first and replace XXX with the key (RSA key ID 0xFEAC80B2 as of 11 Feb 19)&lt;br /&gt;
## Extract the files&lt;br /&gt;
&amp;lt;pre&amp;gt;tar xvzf rt-4.4.3.tar.gz -C /tmp&lt;br /&gt;
cd /tmp/rt-4.4.3&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT:&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure --enable-graphviz --enable-gd --with-web-user=apache --with-web-group=apache --with-db-type=Pg&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT to use cpanm for fixdeps:&lt;br /&gt;
&amp;lt;pre&amp;gt;export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Test the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make fixdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  You may need to run the command more than once.&lt;br /&gt;
 * You may need to force the install of a module to complete the install:&lt;br /&gt;
   &amp;lt;pre&amp;gt;cpanm HTTP::Headers::Fast&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Confirm dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Insert a missing dependency into lib/RT/Interface/Web/Handler.pm:&lt;br /&gt;
 * REF:  https://github.com/bestpractical/rt/commit/e07af30477&lt;br /&gt;
 * Edit the file and insert the RT::ObjectCustomFieldValues at line 61:&lt;br /&gt;
&amp;lt;pre&amp;gt;use RT::Interface::Web::Request;&lt;br /&gt;
use RT::ObjectCustomFieldValues;&lt;br /&gt;
use File::Path qw( rmtree );&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install RT (default install is to the /opt/rt4 directory):&lt;br /&gt;
&amp;lt;pre&amp;gt; make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Configuration using Web Interface&lt;br /&gt;
 * (!) It is possible to complete this step by editing the RT files directly, and creating the database.  Refer to the RT documentation for manual steps.&lt;br /&gt;
## Configure firewalld to open port 80&lt;br /&gt;
&amp;lt;pre&amp;gt;firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Note:  This is an example only, which provides full access to the http port..  Configure your firewall as per site policies.&lt;br /&gt;
## Start the first run installation instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure using the web interface.&lt;br /&gt;
 * Access the server using a web browser to access the http port.&lt;br /&gt;
 * Configure the RT instance using the web interface.  Refer to the RT documentation.&lt;br /&gt;
## Shutdown the rt-server instance.&lt;br /&gt;
 * When completed Ctrl-C the rt-server instance started above.&lt;br /&gt;
# Configure web server&lt;br /&gt;
## Modify /etc/httpd/conf.d/fcgid.conf.  Add:&lt;br /&gt;
&amp;lt;code&amp;gt;FcgidMaxRequestLen 1073741824&amp;lt;/code&amp;gt;&lt;br /&gt;
## Create /etc/httpd/conf.d/rt.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# RT4 configuration for Apache&lt;br /&gt;
#&lt;br /&gt;
# With minor changes, this configuration is based on the original documentation:&lt;br /&gt;
# https://docs.bestpractical.com/rt/4.4.2/web_deployment.html&lt;br /&gt;
#&lt;br /&gt;
### Optional apache logs for RT&lt;br /&gt;
# Ensure that your log rotation scripts know about these files&lt;br /&gt;
# ErrorLog /opt/rt4/var/log/apache2.error&lt;br /&gt;
# TransferLog /opt/rt4/var/log/apache2.access&lt;br /&gt;
# LogLevel debug&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/&lt;br /&gt;
&lt;br /&gt;
DocumentRoot &amp;quot;/opt/rt4/share/html&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Location /&amp;gt;&lt;br /&gt;
  # For Centos7/Apache 2.4 use this line:&lt;br /&gt;
  Require all granted&lt;br /&gt;
&lt;br /&gt;
  # For Centos6/Apache 2.2 use these two lines:&lt;br /&gt;
  # Order allow,deny&lt;br /&gt;
  # Allow from all&lt;br /&gt;
&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  AddHandler fcgid-script fcgi&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Start apache:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Further RT Customization&lt;br /&gt;
 * These steps are not mandatory, and can be skipped if not desired.&lt;br /&gt;
## Enable Full Text Indexing&lt;br /&gt;
 * This command modifies the database to enable full text indexing&lt;br /&gt;
 * Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-setup-fulltext-index --no-attachments --dba-password XXX&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  XXX is the postgres DB user password&lt;br /&gt;
   * DB Table:     AttachmentsIndex&lt;br /&gt;
   * Column Name:  ContentIndex&lt;br /&gt;
   * Index:        GIN&lt;br /&gt;
 * As the last command will leave the postgres DB password in the command history, clear the relevant history record:&lt;br /&gt;
&amp;lt;pre&amp;gt;history&lt;br /&gt;
history -d &amp;lt;number&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  &amp;lt;number&amp;gt; reflects the line number with the --dba-password statement&lt;br /&gt;
## Prepare for Offline Attachments&lt;br /&gt;
 * This enables the migration of embedded attachments from the database to a local filesystem&lt;br /&gt;
 * Create the directory to store attached files&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /opt/rt4-atts&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Modify Site Configuration for fulltext indexing and offline attachments&lt;br /&gt;
 * Modify &amp;lt;code&amp;gt;/opt/rt4/etc/RT_SiteConfig.pm&amp;lt;/code&amp;gt;, inserting the following above the final &amp;lt;code&amp;gt;1;&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&amp;lt;pre&amp;gt;# enable FullTextSearch&lt;br /&gt;
Set( %FullTextSearch,&lt;br /&gt;
    Enable     =&amp;gt; 1,&lt;br /&gt;
    Indexed    =&amp;gt; 1,&lt;br /&gt;
    Column     =&amp;gt; &#039;ContentIndex&#039;,&lt;br /&gt;
    Table      =&amp;gt; &#039;AttachmentsIndex&#039;,&lt;br /&gt;
);&lt;br /&gt;
# enable external file storage&lt;br /&gt;
Set(%ExternalStorage,&lt;br /&gt;
    Type =&amp;gt; &#039;Disk&#039;,&lt;br /&gt;
    Path =&amp;gt; &#039;/opt/rt4-atts&#039;,&lt;br /&gt;
);&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Create RT crontab entry&lt;br /&gt;
 * &lt;br /&gt;
 * Create &amp;lt;code&amp;gt;/etc/cron.d/rt&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Request Tracker cron.d/rt file&lt;br /&gt;
&lt;br /&gt;
# For details see man 3 crontabs&lt;br /&gt;
&lt;br /&gt;
# Example of job definition:&lt;br /&gt;
# .---------------- minute (0 - 59)&lt;br /&gt;
# |  .------------- hour (0 - 23)&lt;br /&gt;
# |  |  .---------- day of month (1 - 31)&lt;br /&gt;
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...&lt;br /&gt;
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat&lt;br /&gt;
# |  |  |  |  |&lt;br /&gt;
# *  *  *  *  * user-name command to be executed&lt;br /&gt;
&lt;br /&gt;
# Request Tracker crontab entries&lt;br /&gt;
  # attachments - daily moving of large attachments from DB to file system&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-externalize-attachments&lt;br /&gt;
  # indexer - daily indexing of db for fulltext search      &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-fulltext-indexer --quiet&lt;br /&gt;
  # email digests - RT4 email digest processes&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-email-digest -m daily&lt;br /&gt;
  0 0 * * 0 root /opt/rt4/sbin/rt-email-digest -m weekly&lt;br /&gt;
  0 * * * * root /opt/rt4/sbin/rt-email-dashboards&lt;br /&gt;
  # clean sessions - once a day blow away any open sessions &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-clean-sessions 6H&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Installation Complete&lt;br /&gt;
## Reboot server to confirm service restart&lt;br /&gt;
 * It is recommended that you reboot the server to confirm all services restart and provide RT.&lt;br /&gt;
## Access RT&lt;br /&gt;
 * Connect to RT using your web browser and start your site customization.&lt;/div&gt;</summary>
		<author><name>SKuervers</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26647</id>
		<title>CentOS7Install</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26647"/>
		<updated>2019-02-11T22:24:11Z</updated>

		<summary type="html">&lt;p&gt;SKuervers: /* RT 4.4.2 installation on CentOS 7.5.1804 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT 4.4.3 installation on CentOS 7.6.1804 ==&lt;br /&gt;
&lt;br /&gt;
NOTE:  Original Document was for CentOS 7.2 and RT 4.4.1 with MySQL.  Updated for CentOS 7.6, RT 4.4.3 with PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
CAUTION:  Previous versions of this document has been stated that you cannot use this method to install RT 4.4.3 directly - this is corrected with a patch below.  Best Practical will be fixing this issue in the 4.4.4 release.&lt;br /&gt;
&lt;br /&gt;
This document provides a quick methodology for installing RT 4.4.3 on CentOS/RHEL 7.6 for an internet-connected server.  There is a separate CentOS 6.x install at https://rt-wiki.bestpractical.com/wiki/CentOS6Install.&lt;br /&gt;
&lt;br /&gt;
# Assumptions&lt;br /&gt;
 * Access to the internet and CentOS OS and update repositories is available.&lt;br /&gt;
 * Installation testing was completed using CentOS 7.6.1810 minimal boot ISO.&lt;br /&gt;
 * httpd (Apache) 2.4 and mod_fcgid Apache modules were used as the host environment.&lt;br /&gt;
 * Testing was conducted in both KVM and vSphere environments.&lt;br /&gt;
 * Note that the EPEL repository is not required for installation on CentOS 7.&lt;br /&gt;
&lt;br /&gt;
# OS Installation and Initial Configuration&lt;br /&gt;
 * (!) It is possible to automate the majority of this section using kickstart files.&lt;br /&gt;
## Install OS.&lt;br /&gt;
 * Install the OS from ISO or PXE boot using your normal methodology.&lt;br /&gt;
## Install prerequisites for RT from OS repository.&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install expat gd graphviz openssl expat-devel gd-devel graphviz-devel  openssl-devel perl perl-CPAN wget screen mod_fcgid postgresql-server postgresql-devel&lt;br /&gt;
yum groupinstall &amp;quot;Development Tools&amp;quot; &amp;quot;Web Server&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: We use PostgreSQL as the DB which allows us to enable full text search. (This is a change from the previous version of the document which used MySQL/MariaDB.)&lt;br /&gt;
## Patch OS&lt;br /&gt;
&amp;lt;pre&amp;gt;yum update&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Disable selinux, by editing /etc/sysconfig/selinux:&lt;br /&gt;
&amp;lt;code&amp;gt;SELINUX=disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
 * reboot the OS&lt;br /&gt;
## Initialize the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;postgresql-setup initdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Adjust local services:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl enable postgresql.service&lt;br /&gt;
systemctl enable httpd.service&lt;br /&gt;
systemctl start postgresql.service&lt;br /&gt;
systemctl stop httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  httpd service needs to be stopped to allow RT web based configuration later.&lt;br /&gt;
# Configure Supporting Software&lt;br /&gt;
## Configure postgres user password for postgresql, where &#039;xxx&#039; is the &#039;password&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres psql&lt;br /&gt;
  ALTER USER postgres PASSWORD &#039;xxx&#039;;&lt;br /&gt;
  \q&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  This step configures the internal DB postgres password for the local instance of postgresql&lt;br /&gt;
## Reconfigure postgres local user access&lt;br /&gt;
Configure PostgreSQL to use md5 passwords (needed for RT).  Edit /var/lib/pgsql/data/pg_hba.conf and modify the following line from peer to md5:&lt;br /&gt;
&amp;lt;pre&amp;gt;# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
#local   all         all                               peer&lt;br /&gt;
local   all         all                               md5&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Restart postgres server&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart postgresql.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install CPAN minus.&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -L http://cpanmin.us | perl - --sudo App::cpanminus&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Dependencies and Installation&lt;br /&gt;
## Get RT&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir rt&lt;br /&gt;
cd rt&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Verify downloads&lt;br /&gt;
 * NOTE: Release notes are found at https://bestpractical.com/release-notes/rt/4.4.3&lt;br /&gt;
 * extract the sha256sums from the release notes online and add them to a new sha256sum.txt file.&lt;br /&gt;
738ab43cac902420b3525459e288515d51130d85810659f6c8a7e223c77dadb1  rt-4.4.3.tar.gz&lt;br /&gt;
29e0f9c44e30fb8bb2d23448f1930593aef28e4b3faf5bd22619f52e53229c4f  rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * confirm the files:&lt;br /&gt;
&amp;lt;pre&amp;gt;sha256sum -c sha256sum.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Confirm the GPG key signatures&lt;br /&gt;
&amp;lt;pre&amp;gt;gpg rt-4.4.3.tar.gz.asc&lt;br /&gt;
gpg --keyserver keyserver.ubuntu.com --recv-key XXX&lt;br /&gt;
gpg rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: identify the RSA key ID from the first and replace XXX with the key (RSA key ID 0xFEAC80B2 as of 11 Feb 19)&lt;br /&gt;
## Extract the files&lt;br /&gt;
&amp;lt;pre&amp;gt;tar xvzf rt-4.4.3.tar.gz -C /tmp&lt;br /&gt;
cd /tmp/rt-4.4.3&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT:&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure --enable-graphviz --enable-gd --with-web-user=apache --with-web-group=apache --with-db-type=Pg&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT to use cpanm for fixdeps:&lt;br /&gt;
&amp;lt;pre&amp;gt;export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Test the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make fixdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  You may need to run the command more than once.&lt;br /&gt;
 * You may need to force the install of a module to complete the install:&lt;br /&gt;
   &amp;lt;pre&amp;gt;cpanm HTTP::Headers::Fast&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Confirm dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Insert a missing dependency into lib/RT/Interface/Web/Handler.pm:&lt;br /&gt;
 * REF:  https://github.com/bestpractical/rt/commit/e07af30477&lt;br /&gt;
 * Edit the file and insert the RT::ObjectCustomFieldValues at line 61:&lt;br /&gt;
&amp;lt;pre&amp;gt;use RT::Interface::Web::Request;&lt;br /&gt;
use RT::ObjectCustomFieldValues;&lt;br /&gt;
use File::Path qw( rmtree );&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install RT (default install is to the /opt/rt4 directory):&lt;br /&gt;
&amp;lt;pre&amp;gt; make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Configuration using Web Interface&lt;br /&gt;
 * (!) It is possible to complete this step by editing the RT files directly, and creating the database.  Refer to the RT documentation for manual steps.&lt;br /&gt;
## Configure firewalld to open port 80&lt;br /&gt;
&amp;lt;pre&amp;gt;firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Note:  This is an example only, which provides full access to the http port..  Configure your firewall as per site policies.&lt;br /&gt;
## Start the first run installation instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure using the web interface.&lt;br /&gt;
 * Access the server using a web browser to access the http port.&lt;br /&gt;
 * Configure the RT instance using the web interface.  Refer to the RT documentation.&lt;br /&gt;
## Shutdown the rt-server instance.&lt;br /&gt;
 * When completed Ctrl-C the rt-server instance started above.&lt;br /&gt;
# Configure web server&lt;br /&gt;
## Modify /etc/httpd/conf.d/fcgid.conf.  Add:&lt;br /&gt;
&amp;lt;code&amp;gt;FcgidMaxRequestLen 1073741824&amp;lt;/code&amp;gt;&lt;br /&gt;
## Create /etc/httpd/conf.d/rt.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# RT4 configuration for Apache&lt;br /&gt;
#&lt;br /&gt;
# With minor changes, this configuration is based on the original documentation:&lt;br /&gt;
# https://docs.bestpractical.com/rt/4.4.2/web_deployment.html&lt;br /&gt;
#&lt;br /&gt;
### Optional apache logs for RT&lt;br /&gt;
# Ensure that your log rotation scripts know about these files&lt;br /&gt;
# ErrorLog /opt/rt4/var/log/apache2.error&lt;br /&gt;
# TransferLog /opt/rt4/var/log/apache2.access&lt;br /&gt;
# LogLevel debug&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/&lt;br /&gt;
&lt;br /&gt;
DocumentRoot &amp;quot;/opt/rt4/share/html&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Location /&amp;gt;&lt;br /&gt;
  # For Centos7/Apache 2.4 use this line:&lt;br /&gt;
  Require all granted&lt;br /&gt;
&lt;br /&gt;
  # For Centos6/Apache 2.2 use these two lines:&lt;br /&gt;
  # Order allow,deny&lt;br /&gt;
  # Allow from all&lt;br /&gt;
&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  AddHandler fcgid-script fcgi&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Start apache:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Further RT Customization&lt;br /&gt;
 * These steps are not mandatory, and can be skipped if not desired.&lt;br /&gt;
## Enable Full Text Indexing&lt;br /&gt;
 * This command modifies the database to enable full text indexing&lt;br /&gt;
 * Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-setup-fulltext-index --no-attachments --dba-password XXX&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  XXX is the postgres DB user password&lt;br /&gt;
   * DB Table:     AttachmentsIndex&lt;br /&gt;
   * Column Name:  ContentIndex&lt;br /&gt;
   * Index:        GIN&lt;br /&gt;
 * As the last command will leave the postgres DB password in the command history, clear the relevant history record:&lt;br /&gt;
&amp;lt;pre&amp;gt;history&lt;br /&gt;
history -d &amp;lt;number&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  &amp;lt;number&amp;gt; reflects the line number with the --dba-password statement&lt;br /&gt;
## Prepare for Offline Attachments&lt;br /&gt;
 * This enables the migration of embedded attachments from the database to a local filesystem&lt;br /&gt;
 * Create the directory to store attached files&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /opt/rt4-atts&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Modify Site Configuration for fulltext indexing and offline attachments&lt;br /&gt;
 * Modify &amp;lt;code&amp;gt;/opt/rt4/etc/RT_SiteConfig.pm&amp;lt;/code&amp;gt;, inserting the following above the final &amp;lt;code&amp;gt;1;&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&amp;lt;pre&amp;gt;# enable FullTextSearch&lt;br /&gt;
Set( %FullTextSearch,&lt;br /&gt;
    Enable     =&amp;gt; 1,&lt;br /&gt;
    Indexed    =&amp;gt; 1,&lt;br /&gt;
    Column     =&amp;gt; &#039;ContentIndex&#039;,&lt;br /&gt;
    Table      =&amp;gt; &#039;AttachmentsIndex&#039;,&lt;br /&gt;
);&lt;br /&gt;
# enable external file storage&lt;br /&gt;
Set(%ExternalStorage,&lt;br /&gt;
    Type =&amp;gt; &#039;Disk&#039;,&lt;br /&gt;
    Path =&amp;gt; &#039;/opt/rt4-atts&#039;,&lt;br /&gt;
);&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Create RT crontab entry&lt;br /&gt;
 * &lt;br /&gt;
 * Create &amp;lt;code&amp;gt;/etc/cron.d/rt&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Request Tracker cron.d/rt file&lt;br /&gt;
&lt;br /&gt;
# For details see man 3 crontabs&lt;br /&gt;
&lt;br /&gt;
# Example of job definition:&lt;br /&gt;
# .---------------- minute (0 - 59)&lt;br /&gt;
# |  .------------- hour (0 - 23)&lt;br /&gt;
# |  |  .---------- day of month (1 - 31)&lt;br /&gt;
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...&lt;br /&gt;
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat&lt;br /&gt;
# |  |  |  |  |&lt;br /&gt;
# *  *  *  *  * user-name command to be executed&lt;br /&gt;
&lt;br /&gt;
# Request Tracker crontab entries&lt;br /&gt;
  # attachments - daily moving of large attachments from DB to file system&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-externalize-attachments&lt;br /&gt;
  # indexer - daily indexing of db for fulltext search      &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-fulltext-indexer --quiet&lt;br /&gt;
  # email digests - RT4 email digest processes&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-email-digest -m daily&lt;br /&gt;
  0 0 * * 0 root /opt/rt4/sbin/rt-email-digest -m weekly&lt;br /&gt;
  0 * * * * root /opt/rt4/sbin/rt-email-dashboards&lt;br /&gt;
  # clean sessions - once a day blow away any open sessions &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-clean-sessions 6H&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Installation Complete&lt;br /&gt;
## Reboot server to confirm service restart&lt;br /&gt;
 * It is recommended that you reboot the server to confirm all services restart and provide RT.&lt;br /&gt;
## Access RT&lt;br /&gt;
 * Connect to RT using your web browser and start your site customization.&lt;/div&gt;</summary>
		<author><name>SKuervers</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26646</id>
		<title>CentOS7Install</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26646"/>
		<updated>2019-02-11T22:23:52Z</updated>

		<summary type="html">&lt;p&gt;SKuervers: Updated for CentOS 7.6 1810&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT 4.4.2 installation on CentOS 7.5.1804 ==&lt;br /&gt;
&lt;br /&gt;
NOTE:  Original Document was for CentOS 7.2 and RT 4.4.1 with MySQL.  Updated for CentOS 7.6, RT 4.4.3 with PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
CAUTION:  Previous versions of this document has been stated that you cannot use this method to install RT 4.4.3 directly - this is corrected with a patch below.  Best Practical will be fixing this issue in the 4.4.4 release.&lt;br /&gt;
&lt;br /&gt;
This document provides a quick methodology for installing RT 4.4.3 on CentOS/RHEL 7.6 for an internet-connected server.  There is a separate CentOS 6.x install at https://rt-wiki.bestpractical.com/wiki/CentOS6Install.&lt;br /&gt;
&lt;br /&gt;
# Assumptions&lt;br /&gt;
 * Access to the internet and CentOS OS and update repositories is available.&lt;br /&gt;
 * Installation testing was completed using CentOS 7.6.1810 minimal boot ISO.&lt;br /&gt;
 * httpd (Apache) 2.4 and mod_fcgid Apache modules were used as the host environment.&lt;br /&gt;
 * Testing was conducted in both KVM and vSphere environments.&lt;br /&gt;
 * Note that the EPEL repository is not required for installation on CentOS 7.&lt;br /&gt;
&lt;br /&gt;
# OS Installation and Initial Configuration&lt;br /&gt;
 * (!) It is possible to automate the majority of this section using kickstart files.&lt;br /&gt;
## Install OS.&lt;br /&gt;
 * Install the OS from ISO or PXE boot using your normal methodology.&lt;br /&gt;
## Install prerequisites for RT from OS repository.&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install expat gd graphviz openssl expat-devel gd-devel graphviz-devel  openssl-devel perl perl-CPAN wget screen mod_fcgid postgresql-server postgresql-devel&lt;br /&gt;
yum groupinstall &amp;quot;Development Tools&amp;quot; &amp;quot;Web Server&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: We use PostgreSQL as the DB which allows us to enable full text search. (This is a change from the previous version of the document which used MySQL/MariaDB.)&lt;br /&gt;
## Patch OS&lt;br /&gt;
&amp;lt;pre&amp;gt;yum update&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Disable selinux, by editing /etc/sysconfig/selinux:&lt;br /&gt;
&amp;lt;code&amp;gt;SELINUX=disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
 * reboot the OS&lt;br /&gt;
## Initialize the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;postgresql-setup initdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Adjust local services:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl enable postgresql.service&lt;br /&gt;
systemctl enable httpd.service&lt;br /&gt;
systemctl start postgresql.service&lt;br /&gt;
systemctl stop httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  httpd service needs to be stopped to allow RT web based configuration later.&lt;br /&gt;
# Configure Supporting Software&lt;br /&gt;
## Configure postgres user password for postgresql, where &#039;xxx&#039; is the &#039;password&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres psql&lt;br /&gt;
  ALTER USER postgres PASSWORD &#039;xxx&#039;;&lt;br /&gt;
  \q&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  This step configures the internal DB postgres password for the local instance of postgresql&lt;br /&gt;
## Reconfigure postgres local user access&lt;br /&gt;
Configure PostgreSQL to use md5 passwords (needed for RT).  Edit /var/lib/pgsql/data/pg_hba.conf and modify the following line from peer to md5:&lt;br /&gt;
&amp;lt;pre&amp;gt;# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
#local   all         all                               peer&lt;br /&gt;
local   all         all                               md5&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Restart postgres server&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart postgresql.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install CPAN minus.&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -L http://cpanmin.us | perl - --sudo App::cpanminus&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Dependencies and Installation&lt;br /&gt;
## Get RT&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir rt&lt;br /&gt;
cd rt&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Verify downloads&lt;br /&gt;
 * NOTE: Release notes are found at https://bestpractical.com/release-notes/rt/4.4.3&lt;br /&gt;
 * extract the sha256sums from the release notes online and add them to a new sha256sum.txt file.&lt;br /&gt;
738ab43cac902420b3525459e288515d51130d85810659f6c8a7e223c77dadb1  rt-4.4.3.tar.gz&lt;br /&gt;
29e0f9c44e30fb8bb2d23448f1930593aef28e4b3faf5bd22619f52e53229c4f  rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * confirm the files:&lt;br /&gt;
&amp;lt;pre&amp;gt;sha256sum -c sha256sum.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Confirm the GPG key signatures&lt;br /&gt;
&amp;lt;pre&amp;gt;gpg rt-4.4.3.tar.gz.asc&lt;br /&gt;
gpg --keyserver keyserver.ubuntu.com --recv-key XXX&lt;br /&gt;
gpg rt-4.4.3.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: identify the RSA key ID from the first and replace XXX with the key (RSA key ID 0xFEAC80B2 as of 11 Feb 19)&lt;br /&gt;
## Extract the files&lt;br /&gt;
&amp;lt;pre&amp;gt;tar xvzf rt-4.4.3.tar.gz -C /tmp&lt;br /&gt;
cd /tmp/rt-4.4.3&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT:&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure --enable-graphviz --enable-gd --with-web-user=apache --with-web-group=apache --with-db-type=Pg&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT to use cpanm for fixdeps:&lt;br /&gt;
&amp;lt;pre&amp;gt;export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Test the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make fixdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  You may need to run the command more than once.&lt;br /&gt;
 * You may need to force the install of a module to complete the install:&lt;br /&gt;
   &amp;lt;pre&amp;gt;cpanm HTTP::Headers::Fast&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Confirm dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Insert a missing dependency into lib/RT/Interface/Web/Handler.pm:&lt;br /&gt;
 * REF:  https://github.com/bestpractical/rt/commit/e07af30477&lt;br /&gt;
 * Edit the file and insert the RT::ObjectCustomFieldValues at line 61:&lt;br /&gt;
&amp;lt;pre&amp;gt;use RT::Interface::Web::Request;&lt;br /&gt;
use RT::ObjectCustomFieldValues;&lt;br /&gt;
use File::Path qw( rmtree );&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install RT (default install is to the /opt/rt4 directory):&lt;br /&gt;
&amp;lt;pre&amp;gt; make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Configuration using Web Interface&lt;br /&gt;
 * (!) It is possible to complete this step by editing the RT files directly, and creating the database.  Refer to the RT documentation for manual steps.&lt;br /&gt;
## Configure firewalld to open port 80&lt;br /&gt;
&amp;lt;pre&amp;gt;firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Note:  This is an example only, which provides full access to the http port..  Configure your firewall as per site policies.&lt;br /&gt;
## Start the first run installation instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure using the web interface.&lt;br /&gt;
 * Access the server using a web browser to access the http port.&lt;br /&gt;
 * Configure the RT instance using the web interface.  Refer to the RT documentation.&lt;br /&gt;
## Shutdown the rt-server instance.&lt;br /&gt;
 * When completed Ctrl-C the rt-server instance started above.&lt;br /&gt;
# Configure web server&lt;br /&gt;
## Modify /etc/httpd/conf.d/fcgid.conf.  Add:&lt;br /&gt;
&amp;lt;code&amp;gt;FcgidMaxRequestLen 1073741824&amp;lt;/code&amp;gt;&lt;br /&gt;
## Create /etc/httpd/conf.d/rt.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# RT4 configuration for Apache&lt;br /&gt;
#&lt;br /&gt;
# With minor changes, this configuration is based on the original documentation:&lt;br /&gt;
# https://docs.bestpractical.com/rt/4.4.2/web_deployment.html&lt;br /&gt;
#&lt;br /&gt;
### Optional apache logs for RT&lt;br /&gt;
# Ensure that your log rotation scripts know about these files&lt;br /&gt;
# ErrorLog /opt/rt4/var/log/apache2.error&lt;br /&gt;
# TransferLog /opt/rt4/var/log/apache2.access&lt;br /&gt;
# LogLevel debug&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/&lt;br /&gt;
&lt;br /&gt;
DocumentRoot &amp;quot;/opt/rt4/share/html&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Location /&amp;gt;&lt;br /&gt;
  # For Centos7/Apache 2.4 use this line:&lt;br /&gt;
  Require all granted&lt;br /&gt;
&lt;br /&gt;
  # For Centos6/Apache 2.2 use these two lines:&lt;br /&gt;
  # Order allow,deny&lt;br /&gt;
  # Allow from all&lt;br /&gt;
&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  AddHandler fcgid-script fcgi&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Start apache:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Further RT Customization&lt;br /&gt;
 * These steps are not mandatory, and can be skipped if not desired.&lt;br /&gt;
## Enable Full Text Indexing&lt;br /&gt;
 * This command modifies the database to enable full text indexing&lt;br /&gt;
 * Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-setup-fulltext-index --no-attachments --dba-password XXX&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  XXX is the postgres DB user password&lt;br /&gt;
   * DB Table:     AttachmentsIndex&lt;br /&gt;
   * Column Name:  ContentIndex&lt;br /&gt;
   * Index:        GIN&lt;br /&gt;
 * As the last command will leave the postgres DB password in the command history, clear the relevant history record:&lt;br /&gt;
&amp;lt;pre&amp;gt;history&lt;br /&gt;
history -d &amp;lt;number&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  &amp;lt;number&amp;gt; reflects the line number with the --dba-password statement&lt;br /&gt;
## Prepare for Offline Attachments&lt;br /&gt;
 * This enables the migration of embedded attachments from the database to a local filesystem&lt;br /&gt;
 * Create the directory to store attached files&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /opt/rt4-atts&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Modify Site Configuration for fulltext indexing and offline attachments&lt;br /&gt;
 * Modify &amp;lt;code&amp;gt;/opt/rt4/etc/RT_SiteConfig.pm&amp;lt;/code&amp;gt;, inserting the following above the final &amp;lt;code&amp;gt;1;&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&amp;lt;pre&amp;gt;# enable FullTextSearch&lt;br /&gt;
Set( %FullTextSearch,&lt;br /&gt;
    Enable     =&amp;gt; 1,&lt;br /&gt;
    Indexed    =&amp;gt; 1,&lt;br /&gt;
    Column     =&amp;gt; &#039;ContentIndex&#039;,&lt;br /&gt;
    Table      =&amp;gt; &#039;AttachmentsIndex&#039;,&lt;br /&gt;
);&lt;br /&gt;
# enable external file storage&lt;br /&gt;
Set(%ExternalStorage,&lt;br /&gt;
    Type =&amp;gt; &#039;Disk&#039;,&lt;br /&gt;
    Path =&amp;gt; &#039;/opt/rt4-atts&#039;,&lt;br /&gt;
);&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Create RT crontab entry&lt;br /&gt;
 * &lt;br /&gt;
 * Create &amp;lt;code&amp;gt;/etc/cron.d/rt&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Request Tracker cron.d/rt file&lt;br /&gt;
&lt;br /&gt;
# For details see man 3 crontabs&lt;br /&gt;
&lt;br /&gt;
# Example of job definition:&lt;br /&gt;
# .---------------- minute (0 - 59)&lt;br /&gt;
# |  .------------- hour (0 - 23)&lt;br /&gt;
# |  |  .---------- day of month (1 - 31)&lt;br /&gt;
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...&lt;br /&gt;
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat&lt;br /&gt;
# |  |  |  |  |&lt;br /&gt;
# *  *  *  *  * user-name command to be executed&lt;br /&gt;
&lt;br /&gt;
# Request Tracker crontab entries&lt;br /&gt;
  # attachments - daily moving of large attachments from DB to file system&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-externalize-attachments&lt;br /&gt;
  # indexer - daily indexing of db for fulltext search      &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-fulltext-indexer --quiet&lt;br /&gt;
  # email digests - RT4 email digest processes&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-email-digest -m daily&lt;br /&gt;
  0 0 * * 0 root /opt/rt4/sbin/rt-email-digest -m weekly&lt;br /&gt;
  0 * * * * root /opt/rt4/sbin/rt-email-dashboards&lt;br /&gt;
  # clean sessions - once a day blow away any open sessions &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-clean-sessions 6H&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Installation Complete&lt;br /&gt;
## Reboot server to confirm service restart&lt;br /&gt;
 * It is recommended that you reboot the server to confirm all services restart and provide RT.&lt;br /&gt;
## Access RT&lt;br /&gt;
 * Connect to RT using your web browser and start your site customization.&lt;/div&gt;</summary>
		<author><name>SKuervers</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26624</id>
		<title>CentOS7Install</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26624"/>
		<updated>2018-10-22T21:35:11Z</updated>

		<summary type="html">&lt;p&gt;SKuervers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT 4.4.2 installation on CentOS 7.5.1804 ==&lt;br /&gt;
&lt;br /&gt;
NOTE:  Original Document was for CentOS 7.2 and RT 4.4.1 with MySQL.  Updated for CentOS 7.5, RT 4.4.2 with PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
CAUTION:  While this document has been upgraded for CentOS 7.5, you cannot use this method to install RT 4.4.3 directly - there is an issue with the web install on RT 4.4.3.  I&#039;ve asked Best Practical to look at the issue.  It would appear that the PGP key for RT-4.4.3 is not certified, and the web install fails during attempts to follow the method below.  I can confirm an upgrade to RT 4.4.3 is possible after following this install, but with the PGP key issue, I do not recommend the upgrade until Best Practical resolves the PGP certified key issue.&lt;br /&gt;
&lt;br /&gt;
This document provides a quick methodology for installing RT 4.4.2 on CentOS/RHEL 7.5 for an internet-connected server.  There is a separate CentOS 6.x install at https://rt-wiki.bestpractical.com/wiki/CentOS6Install.&lt;br /&gt;
&lt;br /&gt;
# Assumptions&lt;br /&gt;
 * Access to the internet and CentOS OS and update repositories is available.&lt;br /&gt;
 * Installation testing was completed using CentOS 7.5.1804 minimal boot ISO.&lt;br /&gt;
 * httpd (Apache) 2.4 and mod_fcgid Apache modules were used as the host environment.&lt;br /&gt;
 * Testing was conducted in both KVM and vSphere environments.&lt;br /&gt;
 * Note that the EPEL repository is not required for installation on CentOS 7.&lt;br /&gt;
&lt;br /&gt;
# OS Installation and Initial Configuration&lt;br /&gt;
 * (!) It is possible to automate the majority of this section using kickstart files.&lt;br /&gt;
## Install OS.&lt;br /&gt;
 * Install the OS from ISO or PXE boot using your normal methodology.&lt;br /&gt;
## Install prerequisites for RT from OS repository.&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install expat gd graphviz openssl expat-devel gd-devel graphviz-devel  openssl-devel perl perl-CPAN wget screen mod_fcgid postgresql-server postgresql-devel&lt;br /&gt;
yum groupinstall &amp;quot;Development Tools&amp;quot; &amp;quot;Web Server&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: We use PostgreSQL as the DB which allows us to enable full text search. (This is a change from the previous version of the document which used MySQL/MariaDB.)&lt;br /&gt;
## Patch OS&lt;br /&gt;
&amp;lt;pre&amp;gt;yum update&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Disable selinux, by editing /etc/sysconfig/selinux:&lt;br /&gt;
&amp;lt;code&amp;gt;SELINUX=disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
 * reboot the OS&lt;br /&gt;
## Initialize the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;postgresql-setup initdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Adjust local services:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl enable postgresql.service&lt;br /&gt;
systemctl enable httpd.service&lt;br /&gt;
systemctl start postgresql.service&lt;br /&gt;
systemctl stop httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  httpd service needs to be stopped to allow RT web based configuration later.&lt;br /&gt;
# Configure Supporting Software&lt;br /&gt;
## Configure postgres user password for postgresql, where &#039;xxx&#039; is the &#039;password&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres psql&lt;br /&gt;
  ALTER USER postgres PASSWORD &#039;xxx&#039;;&lt;br /&gt;
  \q&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  This step configures the internal DB postgres password for the local instance of postgresql&lt;br /&gt;
## Reconfigure postgres local user access&lt;br /&gt;
Configure PostgreSQL to use md5 passwords (needed for RT).  Edit /var/lib/pgsql/data/pg_hba.conf and modify the following line from peer to md5:&lt;br /&gt;
&amp;lt;pre&amp;gt;# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
#local   all         all                               ident&lt;br /&gt;
local   all         all                               md5&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Restart postgres server&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart postgresql.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install CPAN minus.&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -L http://cpanmin.us | perl - --sudo App::cpanminus&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Dependencies and Installation&lt;br /&gt;
## Get RT&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir rt&lt;br /&gt;
cd rt&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.2.tar.gz&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Verify downloads&lt;br /&gt;
 * NOTE: Release notes are found at https://bestpractical.com/release-notes/rt/4.4.2&lt;br /&gt;
 * extract the sha256sums from the release notes online and add them to a new sha256sum.txt file.&lt;br /&gt;
&amp;lt;pre&amp;gt;b2e366e18c8cb1dfd5bc6c46c116fd28cfa690a368b13fbf3131b21a0b9bbe68  rt-4.4.2.tar.gz&lt;br /&gt;
2185c2be31b352ad0a7605f9a4e4720b2c3607df75aae1c0cbace9eb9e6fcef8  rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * confirm the files:&lt;br /&gt;
&amp;lt;pre&amp;gt;sha256sum -c sha256sum.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Confirm the GPG key signatures&lt;br /&gt;
&amp;lt;pre&amp;gt;gpg rt-4.4.2.tar.gz.asc&lt;br /&gt;
gpg --keyserver pgpkeys.mit.edu --recv-key XXX&lt;br /&gt;
gpg rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: identify the RSA key ID from the first and replace XXX with the key (RSA key ID 31440520 as of 12 Apr 18)&lt;br /&gt;
## Extract the files&lt;br /&gt;
&amp;lt;pre&amp;gt;tar xvzf rt-4.4.2.tar.gz -C /tmp&lt;br /&gt;
cd /tmp/rt-4.4.2&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT:&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure --enable-graphviz --enable-gd --with-web-user=apache --with-web-group=apache --with-db-type=Pg&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT to use cpanm for fixdeps:&lt;br /&gt;
&amp;lt;pre&amp;gt;export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Test the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make fixdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  You may need to run the command more than once.&lt;br /&gt;
## Confirm dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install RT (default install is to the /opt/rt4 directory):&lt;br /&gt;
&amp;lt;pre&amp;gt; make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Configuration using Web Interface&lt;br /&gt;
 * (!) It is possible to complete this step by editing the RT files directly, and creating the database.  Refer to the RT documentation for manual steps.&lt;br /&gt;
## Configure firewalld to open port 80&lt;br /&gt;
&amp;lt;pre&amp;gt;firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Note:  This is an example only, which provides full access to the http port..  Configure your firewall as per site policies.&lt;br /&gt;
## Start the first run installation instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure using the web interface.&lt;br /&gt;
 * Access the server using a web browser to access the http port.&lt;br /&gt;
 * Configure the RT instance using the web interface.  Refer to the RT documentation.&lt;br /&gt;
## Shutdown the rt-server instance.&lt;br /&gt;
 * When completed Ctrl-C the rt-server instance started above.&lt;br /&gt;
# Configure web server&lt;br /&gt;
## Modify /etc/httpd/conf.d/fcgid.conf.  Add:&lt;br /&gt;
&amp;lt;code&amp;gt;FcgidMaxRequestLen 1073741824&amp;lt;/code&amp;gt;&lt;br /&gt;
## Create /etc/httpd/conf.d/rt.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# RT4 configuration for Apache&lt;br /&gt;
#&lt;br /&gt;
# With minor changes, this configuration is based on the original documentation:&lt;br /&gt;
# https://docs.bestpractical.com/rt/4.4.2/web_deployment.html&lt;br /&gt;
#&lt;br /&gt;
### Optional apache logs for RT&lt;br /&gt;
# Ensure that your log rotation scripts know about these files&lt;br /&gt;
# ErrorLog /opt/rt4/var/log/apache2.error&lt;br /&gt;
# TransferLog /opt/rt4/var/log/apache2.access&lt;br /&gt;
# LogLevel debug&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/&lt;br /&gt;
&lt;br /&gt;
DocumentRoot &amp;quot;/opt/rt4/share/html&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Location /&amp;gt;&lt;br /&gt;
  # For Centos7/Apache 2.4 use this line:&lt;br /&gt;
  Require all granted&lt;br /&gt;
&lt;br /&gt;
  # For Centos6/Apache 2.2 use these two lines:&lt;br /&gt;
  # Order allow,deny&lt;br /&gt;
  # Allow from all&lt;br /&gt;
&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  AddHandler fcgid-script fcgi&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Start apache:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Further RT Customization&lt;br /&gt;
 * These steps are not mandatory, and can be skipped if not desired.&lt;br /&gt;
## Enable Full Text Indexing&lt;br /&gt;
 * This command modifies the database to enable full text indexing&lt;br /&gt;
 * Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-setup-fulltext-index --no-attachments --dba-password XXX&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  XXX is the postgres DB user password&lt;br /&gt;
   * DB Table:     AttachmentsIndex&lt;br /&gt;
   * Column Name:  ContentIndex&lt;br /&gt;
   * Index:        GIN&lt;br /&gt;
 * As the last command will leave the postgres DB password in the command history, clear the relevant history record:&lt;br /&gt;
&amp;lt;pre&amp;gt;history&lt;br /&gt;
history -d &amp;lt;number&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  &amp;lt;number&amp;gt; reflects the line number with the --dba-password statement&lt;br /&gt;
## Prepare for Offline Attachments&lt;br /&gt;
 * This enables the migration of embedded attachments from the database to a local filesystem&lt;br /&gt;
 * Create the directory to store attached files&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /opt/rt4-atts&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Modify Site Configuration for fulltext indexing and offline attachments&lt;br /&gt;
 * Modify &amp;lt;code&amp;gt;/opt/rt4/etc/RT_SiteConfig.pm&amp;lt;/code&amp;gt;, inserting the following above the final &amp;lt;code&amp;gt;1;&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&amp;lt;pre&amp;gt;# enable FullTextSearch&lt;br /&gt;
Set( %FullTextSearch,&lt;br /&gt;
    Enable     =&amp;gt; 1,&lt;br /&gt;
    Indexed    =&amp;gt; 1,&lt;br /&gt;
    Column     =&amp;gt; &#039;ContentIndex&#039;,&lt;br /&gt;
    Table      =&amp;gt; &#039;AttachmentsIndex&#039;,&lt;br /&gt;
);&lt;br /&gt;
# enable external file storage&lt;br /&gt;
Set(%ExternalStorage,&lt;br /&gt;
    Type =&amp;gt; &#039;Disk&#039;,&lt;br /&gt;
    Path =&amp;gt; &#039;/opt/rt4-atts&#039;,&lt;br /&gt;
);&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Create RT crontab entry&lt;br /&gt;
 * &lt;br /&gt;
 * Create &amp;lt;code&amp;gt;/etc/cron.d/rt&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Request Tracker cron.d/rt file&lt;br /&gt;
&lt;br /&gt;
# For details see man 3 crontabs&lt;br /&gt;
&lt;br /&gt;
# Example of job definition:&lt;br /&gt;
# .---------------- minute (0 - 59)&lt;br /&gt;
# |  .------------- hour (0 - 23)&lt;br /&gt;
# |  |  .---------- day of month (1 - 31)&lt;br /&gt;
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...&lt;br /&gt;
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat&lt;br /&gt;
# |  |  |  |  |&lt;br /&gt;
# *  *  *  *  * user-name command to be executed&lt;br /&gt;
&lt;br /&gt;
# Request Tracker crontab entries&lt;br /&gt;
  # attachments - daily moving of large attachments from DB to file system&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-externalize-attachments&lt;br /&gt;
  # indexer - daily indexing of db for fulltext search      &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-fulltext-indexer --quiet&lt;br /&gt;
  # email digests - RT4 email digest processes&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-email-digest -m daily&lt;br /&gt;
  0 0 * * 0 root /opt/rt4/sbin/rt-email-digest -m weekly&lt;br /&gt;
  0 * * * * root /opt/rt4/sbin/rt-email-dashboards&lt;br /&gt;
  # clean sessions - once a day blow away any open sessions &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-clean-sessions 6H&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Installation Complete&lt;br /&gt;
## Reboot server to confirm service restart&lt;br /&gt;
 * It is recommended that you reboot the server to confirm all services restart and provide RT.&lt;br /&gt;
## Access RT&lt;br /&gt;
 * Connect to RT using your web browser and start your site customization.&lt;/div&gt;</summary>
		<author><name>SKuervers</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CentOS6Install&amp;diff=26623</id>
		<title>CentOS6Install</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CentOS6Install&amp;diff=26623"/>
		<updated>2018-10-22T21:34:42Z</updated>

		<summary type="html">&lt;p&gt;SKuervers: Updated to reflect CentOS 6.10 - and correct MooX::Late to MooX::late&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT 4.4.2 installation on CentOS 6.10 ==&lt;br /&gt;
&lt;br /&gt;
NOTE:  Cloned from original document for CentOS 7 install.&lt;br /&gt;
&lt;br /&gt;
This document provides a quick methodology for installing RT 4.4.2 on CentOS/RHEL 6.10 for an internet-connected server.&lt;br /&gt;
&lt;br /&gt;
CAUTION: While this document has been upgraded for CentOS 6.10, you cannot use this method to install RT 4.4.3 directly - there is an issue with the web install on RT 4.4.3. I&#039;ve asked Best Practical to look at the issue. It would appear that the PGP key for RT-4.4.3 is not certified, and the web install fails during attempts to follow the method below. I can confirm an upgrade to RT 4.4.3 is possible after following this install, but with the PGP key issue, I do not recommend the upgrade until Best Practical resolves the PGP certified key issue.&lt;br /&gt;
&lt;br /&gt;
Note:  &lt;br /&gt;
&lt;br /&gt;
# Assumptions&lt;br /&gt;
 * Access to the internet and CentOS OS, update and EPEL repositories is available.&lt;br /&gt;
 * Installation testing was completed using CentOS 6.10 minimal boot ISO.&lt;br /&gt;
 * httpd (Apache) 2.2 and mod_fcgid Apache modules were used as the host environment.&lt;br /&gt;
 * mod_fcgid requires enabling the EPEL repository&lt;br /&gt;
 * Testing was conducted in both KVM and vSphere environments.&lt;br /&gt;
&lt;br /&gt;
# OS Installation and Initial Configuration&lt;br /&gt;
 * (!) It is possible to automate the majority of this section using kickstart files.&lt;br /&gt;
## Install OS.&lt;br /&gt;
 * Install the OS from ISO or PXE boot using your normal methodology.&lt;br /&gt;
## Install prerequisites for RT from OS repository.&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install epel-release&lt;br /&gt;
yum install expat gd graphviz openssl expat-devel gd-devel graphviz-devel  openssl-devel perl perl-CPAN wget screen mod_fcgid postgresql-server postgresql-devel&lt;br /&gt;
yum groupinstall &amp;quot;Development Tools&amp;quot; &amp;quot;Web Server&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTES:  We use PostgreSQL as the DB which allows us to enable full text search.  We need to enable the EPEL repository to install mod_fcgid on CentOS 6.&lt;br /&gt;
## Patch OS&lt;br /&gt;
&amp;lt;pre&amp;gt;yum update&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Disable selinux, by editing /etc/sysconfig/selinux:&lt;br /&gt;
&amp;lt;code&amp;gt;SELINUX=disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
## Reboot the OS&lt;br /&gt;
 * reboot the OS&lt;br /&gt;
## Initialize the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;service postgresql initdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Adjust local services:&lt;br /&gt;
&amp;lt;pre&amp;gt;chkconfig postgresql on&lt;br /&gt;
chkconfig httpd on&lt;br /&gt;
service postgresql start&lt;br /&gt;
service httpd stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  httpd service needs to be stopped to allow RT web based configuration later.&lt;br /&gt;
# Configure Supporting Software&lt;br /&gt;
## Configure postgres user password for postgresql:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres psql&lt;br /&gt;
  ALTER USER postgres PASSWORD &#039;xxx&#039;;&lt;br /&gt;
  \q&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  This step configures the internal DB postgres password for the local instance of postgresql&lt;br /&gt;
## Reconfigure postgres local user access&lt;br /&gt;
 * Configure PostgreSQL to use md5 passwords (needed for RT).  Edit &amp;lt;code&amp;gt;/var/lib/pgsql/data/pg_hba.conf&amp;lt;/code&amp;gt; and modify the following line from peer to md5:&lt;br /&gt;
&amp;lt;pre&amp;gt;# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
#local   all         all                               ident&lt;br /&gt;
local   all         all                               md5&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Restart postgresql for the changed configuration&lt;br /&gt;
&amp;lt;pre&amp;gt;service postgresql restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install CPAN minus.&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -L http://cpanmin.us | perl - --sudo App::cpanminus&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Dependencies and Installation&lt;br /&gt;
## Get RT&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir rt&lt;br /&gt;
cd rt&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.2.tar.gz&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Verify downloads&lt;br /&gt;
 * NOTE:  Release notes are found at https://bestpractical.com/release-notes/rt/4.4.2&lt;br /&gt;
 * extract the sha256sums from the release notes online and add them to a new &amp;lt;code&amp;gt;sha256sum.txt&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&amp;lt;pre&amp;gt;b2e366e18c8cb1dfd5bc6c46c116fd28cfa690a368b13fbf3131b21a0b9bbe68  rt-4.4.2.tar.gz&lt;br /&gt;
2185c2be31b352ad0a7605f9a4e4720b2c3607df75aae1c0cbace9eb9e6fcef8  rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * confirm the files:&lt;br /&gt;
&amp;lt;pre&amp;gt;sha256sum -c sha256sum.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Get RT and extract to /tmp.&lt;br /&gt;
&amp;lt;pre&amp;gt;tar xvzf rt-4.4.2.tar.gz -C /tmp&lt;br /&gt;
cd /tmp/rt-4.4.2&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT:&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure --enable-graphviz --enable-gd --with-web-user=apache --with-web-group=apache --with-db-type=Pg&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT to use cpanm for fixdeps:&lt;br /&gt;
&amp;lt;pre&amp;gt;export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Test the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make fixdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  You may need to run the command more than once.  On RHEL/CentOS 6.10, you may need to manually force the installation of the &amp;lt;code&amp;gt;MooX::late&amp;lt;/code&amp;gt; module, a dependency of &amp;lt;code&amp;gt;Gpg::Interface&amp;lt;/code&amp;gt; and then rerun fixdeps.&lt;br /&gt;
&amp;lt;pre&amp;gt;cpanm MooX::late --force&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Confirm dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install RT (default install is to the /opt/rt4 directory):&lt;br /&gt;
&amp;lt;pre&amp;gt; make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Configuration using Web Interface&lt;br /&gt;
 * (!) It is possible to complete this step by editing the RT files directly, and creating the database.  Refer to the RT documentation for manual steps.&lt;br /&gt;
## Start the first run installation instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure using the web interface.&lt;br /&gt;
 * Access the server using a web browser to access the http port.&lt;br /&gt;
 * Configure the RT instance using the web interface.  Refer to the RT documentation.&lt;br /&gt;
 * With the local database instance, you will need to leave the Database Host and Database Port field empty on the Check Database Credentials page.&lt;br /&gt;
 * NOTE:  You will likely need to disable your firewall or open port 80 to access the web page remotely.  &amp;lt;code&amp;gt;service iptables stop&amp;lt;/code&amp;gt; will disable the firewall temporarily.&lt;br /&gt;
## Shutdown the rt-server instance.&lt;br /&gt;
 * When completed Ctrl-C the rt-server instance started above.&lt;br /&gt;
# Configure RT:&lt;br /&gt;
 * Modify RT to allow web access using a trailing /rt&lt;br /&gt;
 * (!) This is a personal preference.  The web server example in the next section assumes /rt is used.&lt;br /&gt;
## Modify /opt/rt4/etc/RT_SiteConfig.pm.  Add the following line:&lt;br /&gt;
&amp;lt;code&amp;gt;Set( $WebPath, &#039;/rt&#039; );&amp;lt;/code&amp;gt;&lt;br /&gt;
# Configure web server&lt;br /&gt;
## Modify /etc/httpd/conf.d/fcgid.conf.  Add:&lt;br /&gt;
&amp;lt;code&amp;gt;FcgidMaxRequestLen 1073741824&amp;lt;/code&amp;gt;&lt;br /&gt;
## Create /etc/httpd/conf.d/rt.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# RT4 configuration for Apache&lt;br /&gt;
### Optional apache logs for RT&lt;br /&gt;
# Ensure that your log rotation scripts know about these files&lt;br /&gt;
# ErrorLog /opt/rt4/var/log/apache2.error&lt;br /&gt;
# TransferLog /opt/rt4/var/log/apache2.access&lt;br /&gt;
# LogLevel debug&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
Alias /rt/NoAuth/images /opt/rt4/share/html/NoAuth/images/&lt;br /&gt;
&lt;br /&gt;
ScriptAlias /rt /opt/rt4/sbin/rt-server.fcgi/&lt;br /&gt;
&lt;br /&gt;
DocumentRoot &amp;quot;/opt/rt4/share/html&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Location /rt&amp;gt;&lt;br /&gt;
  # For Centos7/Apache 2.4 this line:&lt;br /&gt;
  # Require all granted&lt;br /&gt;
  # For Centos6/Apache 2.2 these two lines:&lt;br /&gt;
  Order allow,deny&lt;br /&gt;
  Allow from all&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  AddHandler fcgid-script fcgi&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Start apache:&lt;br /&gt;
&amp;lt;pre&amp;gt;service httpd start&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Modify iptables&lt;br /&gt;
 * Complete your iptables configuration to suite your local requirements.&lt;br /&gt;
 * To open the firewall for port 80, edit the &amp;lt;code&amp;gt;/etc/sysconfig/iptables&amp;lt;/code&amp;gt; file and insert the following line after the SSH (dport 22) line:&lt;br /&gt;
   &amp;lt;pre&amp;gt;-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Then restart iptables&lt;br /&gt;
   &amp;lt;pre&amp;gt;service iptables restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Reboot &lt;br /&gt;
 * conduct a reboot to confirm the web server restarts and enable provides access to RT.&lt;br /&gt;
# Installation Complete&lt;br /&gt;
## Access RT&lt;br /&gt;
 * Connect to RT using your web browser, login using the root user and start your site customization.&lt;/div&gt;</summary>
		<author><name>SKuervers</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26622</id>
		<title>CentOS7Install</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26622"/>
		<updated>2018-10-22T19:01:34Z</updated>

		<summary type="html">&lt;p&gt;SKuervers: Minor updates for new CentOS and warnings about RT-4.4.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT 4.4.2 installation on CentOS 7.4.1708 ==&lt;br /&gt;
&lt;br /&gt;
NOTE:  Original Document was for CentOS 7.2 and RT 4.4.1 with MySQL.  Updated for CentOS 7.5, RT 4.4.2 with PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
CAUTION:  While this document has been upgraded for CentOS 7.5, you cannot use this method to install RT 4.4.3 directly - there is an issue with the web install on RT 4.4.3.  I&#039;ve asked Best Practical to look at the issue.  It would appear that the PGP key for RT-4.4.3 is not certified, and the web install fails during attempts to follow the method below.  I can confirm an upgrade to RT 4.4.3 is possible after following this install, but with the PGP key issue, I do not recommend the upgrade until Best Practical resolves the PGP certified key issue.&lt;br /&gt;
&lt;br /&gt;
This document provides a quick methodology for installing RT 4.4.2 on CentOS/RHEL 7.5 for an internet-connected server.  There is a separate CentOS 6.x install at https://rt-wiki.bestpractical.com/wiki/CentOS6Install.&lt;br /&gt;
&lt;br /&gt;
# Assumptions&lt;br /&gt;
 * Access to the internet and CentOS OS and update repositories is available.&lt;br /&gt;
 * Installation testing was completed using CentOS 7.5.1804 minimal boot ISO.&lt;br /&gt;
 * httpd (Apache) 2.4 and mod_fcgid Apache modules were used as the host environment.&lt;br /&gt;
 * Testing was conducted in both KVM and vSphere environments.&lt;br /&gt;
 * Note that the EPEL repository is not required for installation on CentOS 7.&lt;br /&gt;
&lt;br /&gt;
# OS Installation and Initial Configuration&lt;br /&gt;
 * (!) It is possible to automate the majority of this section using kickstart files.&lt;br /&gt;
## Install OS.&lt;br /&gt;
 * Install the OS from ISO or PXE boot using your normal methodology.&lt;br /&gt;
## Install prerequisites for RT from OS repository.&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install expat gd graphviz openssl expat-devel gd-devel graphviz-devel  openssl-devel perl perl-CPAN wget screen mod_fcgid postgresql-server postgresql-devel&lt;br /&gt;
yum groupinstall &amp;quot;Development Tools&amp;quot; &amp;quot;Web Server&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: We use PostgreSQL as the DB which allows us to enable full text search. (This is a change from the previous version of the document which used MySQL/MariaDB.)&lt;br /&gt;
## Patch OS&lt;br /&gt;
&amp;lt;pre&amp;gt;yum update&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Disable selinux, by editing /etc/sysconfig/selinux:&lt;br /&gt;
&amp;lt;code&amp;gt;SELINUX=disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
 * reboot the OS&lt;br /&gt;
## Initialize the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;postgresql-setup initdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Adjust local services:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl enable postgresql.service&lt;br /&gt;
systemctl enable httpd.service&lt;br /&gt;
systemctl start postgresql.service&lt;br /&gt;
systemctl stop httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  httpd service needs to be stopped to allow RT web based configuration later.&lt;br /&gt;
# Configure Supporting Software&lt;br /&gt;
## Configure postgres user password for postgresql, where &#039;xxx&#039; is the &#039;password&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres psql&lt;br /&gt;
  ALTER USER postgres PASSWORD &#039;xxx&#039;;&lt;br /&gt;
  \q&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  This step configures the internal DB postgres password for the local instance of postgresql&lt;br /&gt;
## Reconfigure postgres local user access&lt;br /&gt;
Configure PostgreSQL to use md5 passwords (needed for RT).  Edit /var/lib/pgsql/data/pg_hba.conf and modify the following line from peer to md5:&lt;br /&gt;
&amp;lt;pre&amp;gt;# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
#local   all         all                               ident&lt;br /&gt;
local   all         all                               md5&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Restart postgres server&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart postgresql.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install CPAN minus.&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -L http://cpanmin.us | perl - --sudo App::cpanminus&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Dependencies and Installation&lt;br /&gt;
## Get RT&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir rt&lt;br /&gt;
cd rt&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.2.tar.gz&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Verify downloads&lt;br /&gt;
 * NOTE: Release notes are found at https://bestpractical.com/release-notes/rt/4.4.2&lt;br /&gt;
 * extract the sha256sums from the release notes online and add them to a new sha256sum.txt file.&lt;br /&gt;
&amp;lt;pre&amp;gt;b2e366e18c8cb1dfd5bc6c46c116fd28cfa690a368b13fbf3131b21a0b9bbe68  rt-4.4.2.tar.gz&lt;br /&gt;
2185c2be31b352ad0a7605f9a4e4720b2c3607df75aae1c0cbace9eb9e6fcef8  rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * confirm the files:&lt;br /&gt;
&amp;lt;pre&amp;gt;sha256sum -c sha256sum.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Confirm the GPG key signatures&lt;br /&gt;
&amp;lt;pre&amp;gt;gpg rt-4.4.2.tar.gz.asc&lt;br /&gt;
gpg --keyserver pgpkeys.mit.edu --recv-key XXX&lt;br /&gt;
gpg rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: identify the RSA key ID from the first and replace XXX with the key (RSA key ID 31440520 as of 12 Apr 18)&lt;br /&gt;
## Extract the files&lt;br /&gt;
&amp;lt;pre&amp;gt;tar xvzf rt-4.4.2.tar.gz -C /tmp&lt;br /&gt;
cd /tmp/rt-4.4.2&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT:&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure --enable-graphviz --enable-gd --with-web-user=apache --with-web-group=apache --with-db-type=Pg&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT to use cpanm for fixdeps:&lt;br /&gt;
&amp;lt;pre&amp;gt;export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Test the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make fixdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  You may need to run the command more than once.&lt;br /&gt;
## Confirm dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install RT (default install is to the /opt/rt4 directory):&lt;br /&gt;
&amp;lt;pre&amp;gt; make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Configuration using Web Interface&lt;br /&gt;
 * (!) It is possible to complete this step by editing the RT files directly, and creating the database.  Refer to the RT documentation for manual steps.&lt;br /&gt;
## Configure firewalld to open port 80&lt;br /&gt;
&amp;lt;pre&amp;gt;firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Note:  This is an example only, which provides full access to the http port..  Configure your firewall as per site policies.&lt;br /&gt;
## Start the first run installation instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure using the web interface.&lt;br /&gt;
 * Access the server using a web browser to access the http port.&lt;br /&gt;
 * Configure the RT instance using the web interface.  Refer to the RT documentation.&lt;br /&gt;
## Shutdown the rt-server instance.&lt;br /&gt;
 * When completed Ctrl-C the rt-server instance started above.&lt;br /&gt;
# Configure web server&lt;br /&gt;
## Modify /etc/httpd/conf.d/fcgid.conf.  Add:&lt;br /&gt;
&amp;lt;code&amp;gt;FcgidMaxRequestLen 1073741824&amp;lt;/code&amp;gt;&lt;br /&gt;
## Create /etc/httpd/conf.d/rt.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# RT4 configuration for Apache&lt;br /&gt;
#&lt;br /&gt;
# With minor changes, this configuration is based on the original documentation:&lt;br /&gt;
# https://docs.bestpractical.com/rt/4.4.2/web_deployment.html&lt;br /&gt;
#&lt;br /&gt;
### Optional apache logs for RT&lt;br /&gt;
# Ensure that your log rotation scripts know about these files&lt;br /&gt;
# ErrorLog /opt/rt4/var/log/apache2.error&lt;br /&gt;
# TransferLog /opt/rt4/var/log/apache2.access&lt;br /&gt;
# LogLevel debug&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/&lt;br /&gt;
&lt;br /&gt;
DocumentRoot &amp;quot;/opt/rt4/share/html&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Location /&amp;gt;&lt;br /&gt;
  # For Centos7/Apache 2.4 use this line:&lt;br /&gt;
  Require all granted&lt;br /&gt;
&lt;br /&gt;
  # For Centos6/Apache 2.2 use these two lines:&lt;br /&gt;
  # Order allow,deny&lt;br /&gt;
  # Allow from all&lt;br /&gt;
&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  AddHandler fcgid-script fcgi&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Start apache:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Further RT Customization&lt;br /&gt;
 * These steps are not mandatory, and can be skipped if not desired.&lt;br /&gt;
## Enable Full Text Indexing&lt;br /&gt;
 * This command modifies the database to enable full text indexing&lt;br /&gt;
 * Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-setup-fulltext-index --no-attachments --dba-password XXX&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  XXX is the postgres DB user password&lt;br /&gt;
   * DB Table:     AttachmentsIndex&lt;br /&gt;
   * Column Name:  ContentIndex&lt;br /&gt;
   * Index:        GIN&lt;br /&gt;
 * As the last command will leave the postgres DB password in the command history, clear the relevant history record:&lt;br /&gt;
&amp;lt;pre&amp;gt;history&lt;br /&gt;
history -d &amp;lt;number&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  &amp;lt;number&amp;gt; reflects the line number with the --dba-password statement&lt;br /&gt;
## Prepare for Offline Attachments&lt;br /&gt;
 * This enables the migration of embedded attachments from the database to a local filesystem&lt;br /&gt;
 * Create the directory to store attached files&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /opt/rt4-atts&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Modify Site Configuration for fulltext indexing and offline attachments&lt;br /&gt;
 * Modify &amp;lt;code&amp;gt;/opt/rt4/etc/RT_SiteConfig.pm&amp;lt;/code&amp;gt;, inserting the following above the final &amp;lt;code&amp;gt;1;&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&amp;lt;pre&amp;gt;# enable FullTextSearch&lt;br /&gt;
Set( %FullTextSearch,&lt;br /&gt;
    Enable     =&amp;gt; 1,&lt;br /&gt;
    Indexed    =&amp;gt; 1,&lt;br /&gt;
    Column     =&amp;gt; &#039;ContentIndex&#039;,&lt;br /&gt;
    Table      =&amp;gt; &#039;AttachmentsIndex&#039;,&lt;br /&gt;
);&lt;br /&gt;
# enable external file storage&lt;br /&gt;
Set(%ExternalStorage,&lt;br /&gt;
    Type =&amp;gt; &#039;Disk&#039;,&lt;br /&gt;
    Path =&amp;gt; &#039;/opt/rt4-atts&#039;,&lt;br /&gt;
);&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Create RT crontab entry&lt;br /&gt;
 * &lt;br /&gt;
 * Create &amp;lt;code&amp;gt;/etc/cron.d/rt&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Request Tracker cron.d/rt file&lt;br /&gt;
&lt;br /&gt;
# For details see man 3 crontabs&lt;br /&gt;
&lt;br /&gt;
# Example of job definition:&lt;br /&gt;
# .---------------- minute (0 - 59)&lt;br /&gt;
# |  .------------- hour (0 - 23)&lt;br /&gt;
# |  |  .---------- day of month (1 - 31)&lt;br /&gt;
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...&lt;br /&gt;
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat&lt;br /&gt;
# |  |  |  |  |&lt;br /&gt;
# *  *  *  *  * user-name command to be executed&lt;br /&gt;
&lt;br /&gt;
# Request Tracker crontab entries&lt;br /&gt;
  # attachments - daily moving of large attachments from DB to file system&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-externalize-attachments&lt;br /&gt;
  # indexer - daily indexing of db for fulltext search      &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-fulltext-indexer --quiet&lt;br /&gt;
  # email digests - RT4 email digest processes&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-email-digest -m daily&lt;br /&gt;
  0 0 * * 0 root /opt/rt4/sbin/rt-email-digest -m weekly&lt;br /&gt;
  0 * * * * root /opt/rt4/sbin/rt-email-dashboards&lt;br /&gt;
  # clean sessions - once a day blow away any open sessions &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-clean-sessions 6H&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Installation Complete&lt;br /&gt;
## Reboot server to confirm service restart&lt;br /&gt;
 * It is recommended that you reboot the server to confirm all services restart and provide RT.&lt;br /&gt;
## Access RT&lt;br /&gt;
 * Connect to RT using your web browser and start your site customization.&lt;/div&gt;</summary>
		<author><name>SKuervers</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26621</id>
		<title>CentOS7Install</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CentOS7Install&amp;diff=26621"/>
		<updated>2018-10-22T19:00:43Z</updated>

		<summary type="html">&lt;p&gt;SKuervers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT 4.4.2 installation on CentOS 7.4.1708 ==&lt;br /&gt;
&lt;br /&gt;
NOTE:  Original Document was for CentOS 7.2 and RT 4.4.1 with MySQL.  Updated for CentOS 7.5, RT 4.4.2 with PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
CAUTION:  While this document has been upgraded for CentOS 7.5, you cannot use this method to install RT 4.4.3 directly - there is an issue with the web install on RT 4.4.3.  I&#039;ve asked Best Practical to look at the issue.  It would appear that the PGP key for RT-4.4.3 is not certified, and the web install fails during attempts to follow the method below.  I can confirm an upgrade to RT 4.4.3 is possible after following this install, but with the PGP key issue, I do not recommend the upgrade until Best Practical resolved the issue.&lt;br /&gt;
&lt;br /&gt;
This document provides a quick methodology for installing RT 4.4.2 on CentOS/RHEL 7.5 for an internet-connected server.  There is a separate CentOS 6.x install at https://rt-wiki.bestpractical.com/wiki/CentOS6Install.&lt;br /&gt;
&lt;br /&gt;
# Assumptions&lt;br /&gt;
 * Access to the internet and CentOS OS and update repositories is available.&lt;br /&gt;
 * Installation testing was completed using CentOS 7.5.1804 minimal boot ISO.&lt;br /&gt;
 * httpd (Apache) 2.4 and mod_fcgid Apache modules were used as the host environment.&lt;br /&gt;
 * Testing was conducted in both KVM and vSphere environments.&lt;br /&gt;
 * Note that the EPEL repository is not required for installation on CentOS 7.&lt;br /&gt;
&lt;br /&gt;
# OS Installation and Initial Configuration&lt;br /&gt;
 * (!) It is possible to automate the majority of this section using kickstart files.&lt;br /&gt;
## Install OS.&lt;br /&gt;
 * Install the OS from ISO or PXE boot using your normal methodology.&lt;br /&gt;
## Install prerequisites for RT from OS repository.&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install expat gd graphviz openssl expat-devel gd-devel graphviz-devel  openssl-devel perl perl-CPAN wget screen mod_fcgid postgresql-server postgresql-devel&lt;br /&gt;
yum groupinstall &amp;quot;Development Tools&amp;quot; &amp;quot;Web Server&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: We use PostgreSQL as the DB which allows us to enable full text search. (This is a change from the previous version of the document which used MySQL/MariaDB.)&lt;br /&gt;
## Patch OS&lt;br /&gt;
&amp;lt;pre&amp;gt;yum update&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Disable selinux, by editing /etc/sysconfig/selinux:&lt;br /&gt;
&amp;lt;code&amp;gt;SELINUX=disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
 * reboot the OS&lt;br /&gt;
## Initialize the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;postgresql-setup initdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Adjust local services:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl enable postgresql.service&lt;br /&gt;
systemctl enable httpd.service&lt;br /&gt;
systemctl start postgresql.service&lt;br /&gt;
systemctl stop httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  httpd service needs to be stopped to allow RT web based configuration later.&lt;br /&gt;
# Configure Supporting Software&lt;br /&gt;
## Configure postgres user password for postgresql, where &#039;xxx&#039; is the &#039;password&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres psql&lt;br /&gt;
  ALTER USER postgres PASSWORD &#039;xxx&#039;;&lt;br /&gt;
  \q&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  This step configures the internal DB postgres password for the local instance of postgresql&lt;br /&gt;
## Reconfigure postgres local user access&lt;br /&gt;
Configure PostgreSQL to use md5 passwords (needed for RT).  Edit /var/lib/pgsql/data/pg_hba.conf and modify the following line from peer to md5:&lt;br /&gt;
&amp;lt;pre&amp;gt;# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
#local   all         all                               ident&lt;br /&gt;
local   all         all                               md5&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Restart postgres server&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart postgresql.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install CPAN minus.&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -L http://cpanmin.us | perl - --sudo App::cpanminus&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Dependencies and Installation&lt;br /&gt;
## Get RT&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir rt&lt;br /&gt;
cd rt&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.2.tar.gz&lt;br /&gt;
wget https://download.bestpractical.com/pub/rt/release/rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Verify downloads&lt;br /&gt;
 * NOTE: Release notes are found at https://bestpractical.com/release-notes/rt/4.4.2&lt;br /&gt;
 * extract the sha256sums from the release notes online and add them to a new sha256sum.txt file.&lt;br /&gt;
&amp;lt;pre&amp;gt;b2e366e18c8cb1dfd5bc6c46c116fd28cfa690a368b13fbf3131b21a0b9bbe68  rt-4.4.2.tar.gz&lt;br /&gt;
2185c2be31b352ad0a7605f9a4e4720b2c3607df75aae1c0cbace9eb9e6fcef8  rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * confirm the files:&lt;br /&gt;
&amp;lt;pre&amp;gt;sha256sum -c sha256sum.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Confirm the GPG key signatures&lt;br /&gt;
&amp;lt;pre&amp;gt;gpg rt-4.4.2.tar.gz.asc&lt;br /&gt;
gpg --keyserver pgpkeys.mit.edu --recv-key XXX&lt;br /&gt;
gpg rt-4.4.2.tar.gz.asc&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE: identify the RSA key ID from the first and replace XXX with the key (RSA key ID 31440520 as of 12 Apr 18)&lt;br /&gt;
## Extract the files&lt;br /&gt;
&amp;lt;pre&amp;gt;tar xvzf rt-4.4.2.tar.gz -C /tmp&lt;br /&gt;
cd /tmp/rt-4.4.2&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT:&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure --enable-graphviz --enable-gd --with-web-user=apache --with-web-group=apache --with-db-type=Pg&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure RT to use cpanm for fixdeps:&lt;br /&gt;
&amp;lt;pre&amp;gt;export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Test the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install the dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make fixdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * NOTE:  You may need to run the command more than once.&lt;br /&gt;
## Confirm dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;make testdeps&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Install RT (default install is to the /opt/rt4 directory):&lt;br /&gt;
&amp;lt;pre&amp;gt; make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
# RT Configuration using Web Interface&lt;br /&gt;
 * (!) It is possible to complete this step by editing the RT files directly, and creating the database.  Refer to the RT documentation for manual steps.&lt;br /&gt;
## Configure firewalld to open port 80&lt;br /&gt;
&amp;lt;pre&amp;gt;firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&amp;lt;/pre&amp;gt;&lt;br /&gt;
 * Note:  This is an example only, which provides full access to the http port..  Configure your firewall as per site policies.&lt;br /&gt;
## Start the first run installation instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Configure using the web interface.&lt;br /&gt;
 * Access the server using a web browser to access the http port.&lt;br /&gt;
 * Configure the RT instance using the web interface.  Refer to the RT documentation.&lt;br /&gt;
## Shutdown the rt-server instance.&lt;br /&gt;
 * When completed Ctrl-C the rt-server instance started above.&lt;br /&gt;
# Configure web server&lt;br /&gt;
## Modify /etc/httpd/conf.d/fcgid.conf.  Add:&lt;br /&gt;
&amp;lt;code&amp;gt;FcgidMaxRequestLen 1073741824&amp;lt;/code&amp;gt;&lt;br /&gt;
## Create /etc/httpd/conf.d/rt.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# RT4 configuration for Apache&lt;br /&gt;
#&lt;br /&gt;
# With minor changes, this configuration is based on the original documentation:&lt;br /&gt;
# https://docs.bestpractical.com/rt/4.4.2/web_deployment.html&lt;br /&gt;
#&lt;br /&gt;
### Optional apache logs for RT&lt;br /&gt;
# Ensure that your log rotation scripts know about these files&lt;br /&gt;
# ErrorLog /opt/rt4/var/log/apache2.error&lt;br /&gt;
# TransferLog /opt/rt4/var/log/apache2.access&lt;br /&gt;
# LogLevel debug&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/&lt;br /&gt;
&lt;br /&gt;
DocumentRoot &amp;quot;/opt/rt4/share/html&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Location /&amp;gt;&lt;br /&gt;
  # For Centos7/Apache 2.4 use this line:&lt;br /&gt;
  Require all granted&lt;br /&gt;
&lt;br /&gt;
  # For Centos6/Apache 2.2 use these two lines:&lt;br /&gt;
  # Order allow,deny&lt;br /&gt;
  # Allow from all&lt;br /&gt;
&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  AddHandler fcgid-script fcgi&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Start apache:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start httpd.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Further RT Customization&lt;br /&gt;
 * These steps are not mandatory, and can be skipped if not desired.&lt;br /&gt;
## Enable Full Text Indexing&lt;br /&gt;
 * This command modifies the database to enable full text indexing&lt;br /&gt;
 * Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/rt4/sbin/rt-setup-fulltext-index --no-attachments --dba-password XXX&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  XXX is the postgres DB user password&lt;br /&gt;
   * DB Table:     AttachmentsIndex&lt;br /&gt;
   * Column Name:  ContentIndex&lt;br /&gt;
   * Index:        GIN&lt;br /&gt;
 * As the last command will leave the postgres DB password in the command history, clear the relevant history record:&lt;br /&gt;
&amp;lt;pre&amp;gt;history&lt;br /&gt;
history -d &amp;lt;number&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
   * NOTE:  &amp;lt;number&amp;gt; reflects the line number with the --dba-password statement&lt;br /&gt;
## Prepare for Offline Attachments&lt;br /&gt;
 * This enables the migration of embedded attachments from the database to a local filesystem&lt;br /&gt;
 * Create the directory to store attached files&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /opt/rt4-atts&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Modify Site Configuration for fulltext indexing and offline attachments&lt;br /&gt;
 * Modify &amp;lt;code&amp;gt;/opt/rt4/etc/RT_SiteConfig.pm&amp;lt;/code&amp;gt;, inserting the following above the final &amp;lt;code&amp;gt;1;&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&amp;lt;pre&amp;gt;# enable FullTextSearch&lt;br /&gt;
Set( %FullTextSearch,&lt;br /&gt;
    Enable     =&amp;gt; 1,&lt;br /&gt;
    Indexed    =&amp;gt; 1,&lt;br /&gt;
    Column     =&amp;gt; &#039;ContentIndex&#039;,&lt;br /&gt;
    Table      =&amp;gt; &#039;AttachmentsIndex&#039;,&lt;br /&gt;
);&lt;br /&gt;
# enable external file storage&lt;br /&gt;
Set(%ExternalStorage,&lt;br /&gt;
    Type =&amp;gt; &#039;Disk&#039;,&lt;br /&gt;
    Path =&amp;gt; &#039;/opt/rt4-atts&#039;,&lt;br /&gt;
);&amp;lt;/pre&amp;gt;&lt;br /&gt;
## Create RT crontab entry&lt;br /&gt;
 * &lt;br /&gt;
 * Create &amp;lt;code&amp;gt;/etc/cron.d/rt&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Request Tracker cron.d/rt file&lt;br /&gt;
&lt;br /&gt;
# For details see man 3 crontabs&lt;br /&gt;
&lt;br /&gt;
# Example of job definition:&lt;br /&gt;
# .---------------- minute (0 - 59)&lt;br /&gt;
# |  .------------- hour (0 - 23)&lt;br /&gt;
# |  |  .---------- day of month (1 - 31)&lt;br /&gt;
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...&lt;br /&gt;
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat&lt;br /&gt;
# |  |  |  |  |&lt;br /&gt;
# *  *  *  *  * user-name command to be executed&lt;br /&gt;
&lt;br /&gt;
# Request Tracker crontab entries&lt;br /&gt;
  # attachments - daily moving of large attachments from DB to file system&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-externalize-attachments&lt;br /&gt;
  # indexer - daily indexing of db for fulltext search      &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-fulltext-indexer --quiet&lt;br /&gt;
  # email digests - RT4 email digest processes&lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-email-digest -m daily&lt;br /&gt;
  0 0 * * 0 root /opt/rt4/sbin/rt-email-digest -m weekly&lt;br /&gt;
  0 * * * * root /opt/rt4/sbin/rt-email-dashboards&lt;br /&gt;
  # clean sessions - once a day blow away any open sessions &lt;br /&gt;
  0 0 * * * root /opt/rt4/sbin/rt-clean-sessions 6H&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Installation Complete&lt;br /&gt;
## Reboot server to confirm service restart&lt;br /&gt;
 * It is recommended that you reboot the server to confirm all services restart and provide RT.&lt;br /&gt;
## Access RT&lt;br /&gt;
 * Connect to RT using your web browser and start your site customization.&lt;/div&gt;</summary>
		<author><name>SKuervers</name></author>
	</entry>
</feed>