CentOS7Install

From Request Tracker Wiki
Revision as of 16:35, 11 October 2016 by Skuervers (talk | contribs) (Updated Formatting)
Jump to navigation Jump to search

RT 4.4.1 installation on CentOS 7.2.1511


Assumptions

  • Access to the internet and CentOS OS and update repositories is available.
  • Installation testing was completed using CentOS 7.2.1511 minimal boot ISO.
  • httpd (Apache) 2.4 and mod_fcgid Apache modules were used as the host environment.
  • Testing was conducted in both KVM and vSphere environments.

Installation Steps

OS Installation and Initial Configuration

<!> It is possible to automate the majority of this section using kickstart files.

  1. Install OS. Install the OS from ISO or PXE boot using your normal methodology.
 * Install prerequisites for RT from OS repository.
 {{{yum install expat gd graphviz mariadb-server openssl expat-devel gd-devel graphviz-devel mariadb-devel openssl-devel perl perl-CPAN wget screen mod_fcgid

yum groupinstall "Development Tools" "Web Server" }}}

  1. Patch OS

{{{ yum update }}}

 * reboot the OS.

<#> If you are continuing to next step immediately, do not reboot.

  1. Disable selinux, by editing /etc/sysconfig/selinux:
 * SELINUX=disabled
 * reboot
  1. Adjust local services:
 * systemctl enable mariadb.service
 * systemctl enable httpd.service
 * systemctl start mariadb.service
 * systemctl stop httpd.service
 * NOTE:  httpd service needs to be stopped to allow RT web based configuration later in process.

Configure Supporting Software

  1. Configure root password for mariadb:
 * mysqladmin -u root password
 * NOTE:  configure the internal DB password for the local instance of mysqld or mariadb
  1. Install CPAN minus.
 * curl -L http://cpanmin.us | perl - --sudo App::cpanminus
  1. Configure RT to use cpanm for fixdeps:
 * export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm

RT Dependencies and Installation

  1. Get RT and extract to /tmp.
 * wget https://download.bestpractical.com/pub/rt/release/rt-4.4.1.tar.gz
 * tar xvzf rt-4.4.1.tar.gz -C /tmp
 * cd /tmp/rt-4.4.1
  1. Configure RT:
 * ./configure --enable-graphviz --enable-gd --with-web-user=apache --with-web-group=apache
  1. Test the dependencies:
 * make testdeps
  1. Fix the dependencies:
 * make fixdeps
 * NOTE:  You may need to run the command more than once.  On RHEL 6.8, you may need to manually force the addition of the GD perl module via “cpanm GD --force”
  1. Confirm the dependencies are complete:
 * make testdeps
  1. Install RT (default install is to the /opt/rt4 directory):
 * make install

RT Configuration using Web Interface

<!> 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.

  1. Run the first run installation instance:
 * /opt/rt4/sbin/rt-server
 * Access the server using a web browser on the http 80 port.
  1. Configure the rt instance (fill this section in).
  1. When completed Ctrl-C the rt-server instance started above.

Configure RT for hostname.domain.name/rt directory

<!> This is a personal preference. The web server example below assumes /rt is used.

  1. Modify /opt/rt4/etc/RT_SiteConfig.pm. Add the following line:

{{{ Set( $WebPath, '/rt' ); }}}

Configure web server

  1. Modify /etc/httpd/conf.d/fcgid.conf. Add:

{{{ FcgidMaxRequestLen 1073741824 }}}

  1. Create /etc/httpd/conf.d/rt.conf:

{{{# RT4 configuration for Apache

      1. Optional apache logs for RT
  1. Ensure that your log rotation scripts know about these files
  2. ErrorLog /opt/rt4/var/log/apache2.error
  3. TransferLog /opt/rt4/var/log/apache2.access
  4. LogLevel debug

AddDefaultCharset UTF-8

Alias /rt/NoAuth/images /opt/rt4/share/html/NoAuth/images/

ScriptAlias /rt /opt/rt4/sbin/rt-server.fcgi/

DocumentRoot "/opt/rt4/share/html"

<Location /rt>

 # For Centos7/Apache 2.4 this line:
 Require all granted
 # For Centos6/Apache 2.2 these two lines:
 # Order allow,deny
 # Allow from all
 Options +ExecCGI
 AddHandler fcgid-script fcgi

</Location> }}}

  1. Start apache:

systemctl start httpd.service

  1. Modify firewalld configuration to suite your local requirements.

<!>NOTE: Depending on install method, firewalld may not be installed. You can also stop it for testing with the "systemctl stop firewalld" command.