Difference between revisions of "CentOS7Install"

From Request Tracker Wiki
Jump to navigation Jump to search
m
Line 4: Line 4:


# Assumptions
# Assumptions
* Access to the internet and CentOS OS and update repositories is available.
* Access to the internet and CentOS OS and update repositories is available.
* Installation testing was completed using CentOS 7.2.1511 minimal boot ISO.
* 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.
* httpd (Apache) 2.4 and mod_fcgid Apache modules were used as the host environment.
* Testing was conducted in both KVM and vSphere environments.
* Testing was conducted in both KVM and vSphere environments.


== Installation Steps ==
== Installation Steps ==


# OS Installation and Initial Configuration
# OS Installation and Initial Configuration
* (!) It is possible to automate the majority of this section using kickstart files.
* (!) It is possible to automate the majority of this section using kickstart files.
## Install OS.
## Install OS.
  * Install the OS from ISO or PXE boot using your normal methodology.
  * Install the OS from ISO or PXE boot using your normal methodology.
Line 18: Line 18:
<pre>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
<pre>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"</pre>
yum groupinstall "Development Tools" "Web Server"</pre>
* NOTE:  On previous versions of CentOS/RHEL, replace the mariadb-server and mariadb-devel RPMs above with mysql-server and mysql-devel.
* NOTE:  On previous versions of CentOS/RHEL, replace the mariadb-server and mariadb-devel RPMs above with mysql-server and mysql-devel.
## Patch OS
## Patch OS
<pre>yum update</pre>
<pre>yum update</pre>
* Reboot the OS.
* Reboot the OS.
* If you are continuing to next step immediately, you do not need to reboot.
* If you are continuing to next step immediately, you do not need to reboot.
## Disable selinux, by editing /etc/sysconfig/selinux:
## Disable selinux, by editing /etc/sysconfig/selinux:
<code>SELINUX=disabled</code>
<code>SELINUX=disabled</code>
* reboot the OS
* reboot the OS
## Adjust local services:
## Adjust local services:
<pre>systemctl enable mariadb.service
<pre>systemctl enable mariadb.service
Line 31: Line 31:
systemctl start mariadb.service
systemctl start mariadb.service
systemctl stop httpd.service</pre>
systemctl stop httpd.service</pre>
* CentOS 6.8:
* CentOS 6.8:
<pre>chkconfig mysqld on
<pre>chkconfig mysqld on
chkconfig httpd on
chkconfig httpd on
service mysqld start
service mysqld start
service httpd stop</pre>
service httpd stop</pre>
* NOTE:  httpd service needs to be stopped to allow RT web based configuration later.
* NOTE:  httpd service needs to be stopped to allow RT web based configuration later.
# Configure Supporting Software
# Configure Supporting Software
## Configure root password for mariadb:
## Configure root password for mariadb:
<pre>mysqladmin -u root password</pre>
<pre>mysqladmin -u root password</pre>
* NOTE:  configure the internal DB password for the local instance of mysqld or mariadb
* NOTE:  This step configures the internal DB root password for the local instance of mysqld or mariadb
## Install CPAN minus.
## Install CPAN minus.
<pre>curl -L http://cpanmin.us | perl - --sudo App::cpanminus</pre>
<pre>curl -L http://cpanmin.us | perl - --sudo App::cpanminus</pre>
Line 56: Line 56:
## Install the dependencies:
## Install the dependencies:
<pre>make fixdeps</pre>
<pre>make fixdeps</pre>
* NOTE:  You may need to run the command more than once.  On RHEL/CentOS 6.8, you may need to manually force the addition of the GD perl module via <code>cpanm GD --force</code>, as there is a known issue with one of the built in tests for GD.
* NOTE:  You may need to run the command more than once.  On RHEL/CentOS 6.8, you may need to manually force the addition of the GD perl module via <code>cpanm GD --force</code>, as there is a known issue with one of the built in tests for GD.
## Confirm dependencies:
## Confirm dependencies:
<pre>make testdeps</pre>
<pre>make testdeps</pre>
Line 62: Line 62:
<pre> make install</pre>
<pre> make install</pre>
# RT Configuration using Web Interface
# 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.
* (!) 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.
## Start the first run installation instance:
## Start the first run installation instance:
<pre>/opt/rt4/sbin/rt-server</pre>
<pre>/opt/rt4/sbin/rt-server</pre>
## Configure using the web interface.
## Configure using the web interface.
* Access the server using a web browser to access the http port.
* Access the server using a web browser to access the http port.
* Configure the RT instance using the web interface.  Refer to the RT documentation.
* Configure the RT instance using the web interface.  Refer to the RT documentation.
## Shutdown the rt-server instance.
## Shutdown the rt-server instance.
* When completed Ctrl-C the rt-server instance started above.
* When completed Ctrl-C the rt-server instance started above.
# Configure RT:
# Configure RT:
* Modify RT to allow web access using a trailing /rt
* Modify RT to allow web access using a trailing /rt
* (!) This is a personal preference.  The web server example in the next section assumes /rt is used.
* (!) This is a personal preference.  The web server example in the next section assumes /rt is used.
## Modify /opt/rt4/etc/RT_SiteConfig.pm.  Add the following line:
## Modify /opt/rt4/etc/RT_SiteConfig.pm.  Add the following line:
<code>Set( $WebPath, '/rt' );</code>
<code>Set( $WebPath, '/rt' );</code>
Line 105: Line 105:
## Start apache:
## Start apache:
<pre>systemctl start httpd.service</pre>
<pre>systemctl start httpd.service</pre>
* CentOS 6.8: <code>service httpd start</code>
* CentOS 6.8: <code>service httpd start</code>
## Modify firewalld
## Modify firewalld
* Complete your firewalld configuration to suite your local requirements.
* Complete your 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 <code>systemctl stop firewalld</code> command.
* (!) NOTE:  Depending on install method, firewalld may not be installed.  You can also stop it for testing with the <code>systemctl stop firewalld</code> command.
* On CentOS 6.8, you will need to modify your iptables configuration, or stop iptables using <code>service iptables stop</code>
* On CentOS 6.8, you will need to modify your iptables configuration, or stop iptables using <code>service iptables stop</code>
# Installation Complete
# Installation Complete
## Access RT
## Access RT
* Connect to RT using your web browser and start your site customization.
* Connect to RT using your web browser and start your site customization.

Revision as of 10:05, 12 October 2016

RT 4.4.1 installation on CentOS 7.2.1511

This document provides a quick methodology for installing RT 4.4.1 on CentOS/RHEL 7.2 for an internet-connected server. It should be suitable with minor modifications for installation on CentOS 6.8 also. Where necessary notes about the different install steps for CentOS/RHEL 6.8 are indicated below.

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

  1. 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.
    1. 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"
* NOTE:  On previous versions of CentOS/RHEL, replace the mariadb-server and mariadb-devel RPMs above with mysql-server and mysql-devel.
    1. Patch OS
yum update
* Reboot the OS.
* If you are continuing to next step immediately, you do not need to reboot.
    1. Disable selinux, by editing /etc/sysconfig/selinux:

SELINUX=disabled

* reboot the OS
    1. Adjust local services:
systemctl enable mariadb.service
systemctl enable httpd.service
systemctl start mariadb.service
systemctl stop httpd.service
* CentOS 6.8:
chkconfig mysqld on
chkconfig httpd on
service mysqld start
service httpd stop
* NOTE:  httpd service needs to be stopped to allow RT web based configuration later.
  1. Configure Supporting Software
    1. Configure root password for mariadb:
mysqladmin -u root password
* NOTE:  This step configures the internal DB root 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
  1. 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. Install the dependencies:
make fixdeps
* NOTE:  You may need to run the command more than once.  On RHEL/CentOS 6.8, you may need to manually force the addition of the GD perl module via cpanm GD --force, as there is a known issue with one of the built in tests for GD.
    1. Confirm dependencies:
make testdeps
    1. Install RT (default install is to the /opt/rt4 directory):
 make install
  1. 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. Start the first run installation instance:
/opt/rt4/sbin/rt-server
    1. Configure using the web interface.
* Access the server using a web browser to access the http port.
* Configure the RT instance using the web interface.  Refer to the RT documentation.
    1. Shutdown the rt-server instance.
* When completed Ctrl-C the rt-server instance started above.
  1. Configure RT:
* Modify RT to allow web access using a trailing /rt
* (!) This is a personal preference.  The web server example in the next section assumes /rt is used.
    1. Modify /opt/rt4/etc/RT_SiteConfig.pm. Add the following line:

Set( $WebPath, '/rt' );

  1. 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
### Optional apache logs for RT
# Ensure that your log rotation scripts know about these files
# ErrorLog /opt/rt4/var/log/apache2.error
# TransferLog /opt/rt4/var/log/apache2.access
# 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
* CentOS 6.8: service httpd start
    1. Modify firewalld
* Complete your 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.
* On CentOS 6.8, you will need to modify your iptables configuration, or stop iptables using service iptables stop
  1. Installation Complete
    1. Access RT
* Connect to RT using your web browser and start your site customization.