Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

RT en centos 5

RT (Request Tracker) es uno de los software de gestión de tickets mas usado hoy en día en el mundo del opensource. Esta vez instalaremos y configuraremos un server para RT con Centos 5.2.
Me basare en una instalacion virtualizada con openvz proxmox. Aparte de esto, debe ser igual en un server sin virtualizar.

Verificamos que nuestro server Centos 5.2 este actualizado.
yum update

Activamos el repositorio de centosplus
vi /etc/yum.repos.d/CentOS-Base.repo

[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

Instalamos rpmforge, si es un server de 32bits
wget -c http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -vi rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Si es de 64bits:
wget -c http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rpm -vi rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

Instalamos apache, mod_perl y algunas dependencias
yum install httpd httpd-devel apr-devel mysql-client mysql-devel mod_perl make elinks which
yum install freetype-devel gd-devel libjpeg-devel libpng-devel xorg-x11-devel mysql-server

Instalamos ncftp, si el server es de 32bits:
wget -c http://centos.karan.org/el5/extras/testing/i386/RPMS/ncftp-3.2.1-1.el5.kb.i386.rpm
rpm -vi ncftp-3.2.1-1.el5.kb.i386.rpm

Si es de 64bits:
wget -c http://centos.karan.org/el5/extras/testing/x86_64/RPMS/ncftp-3.2.1-1.el5.kb.x86_64.rpm
rpm -vi ncftp-3.2.1-1.el5.kb.x86_64.rpm

Agregamos un grupo para rt y colocamos el usuario apache dentro de el
groupadd rt

vi /etc/group
rt:x:500:apache

Desabilitamos SElinux
vi /etc/selinux/config
SELINUX=disable

Modificamos los permisos de los logs de apache
chmod -Rf 755 /etc/httpd/logs
reboot

Instalamos dependencias de perl
yum install perl-Apache-Session perl-Class-Container perl-Class-Data-Inheritable perl-Crypt-DES perl-Devel-StackTrace perl-Exception-Class perl-GD perl-GD-Graph perl-GD-Text-Util perl-Hook-LexWrap perl-HTML-Mason perl-HTTP-Server-Simple perl-HTTP-Server-Simple-Mason perl-IO-Socket perl-Net-SNMP perl-Params-Validate perl-Socket6 perl-XML-RSS perl-DBD-mysql

perl -MCPAN -e shell
cpan>install Bundle::CPAN
cpan>exit

Descargamos RT
wget -c http://download.bestpractical.com/pub/rt/release/rt.tar.gz
tar xzf rt.tar.gz

En este momento es la version 3.8.2
cd rt-3.8.2

Compilamos RT
./configure --with-web-user=apache --with-web-group=apache --with-modperl2 --with-mysql

perl sbin/rt-test-dependencies --with-mysql --with-modperl2 --install

Si todo marcha bien, debe mostrar lo siguiente:
perl sbin/rt-test-dependencies --with-mysql --with-modperl2 --install
perl:
>=5.8.3(5.8.8)...found
users:
rt group (rt)...found
bin owner (root)...found
libs owner (root)...found
libs group (bin)...found
web owner (apache)...found
web group (apache)...found
CLI dependencies:
CORE dependencies:
DASHBOARDS dependencies:
GD dependencies:
GPG dependencies:
ICAL dependencies:
MAILGATE dependencies:
MASON dependencies:
MODPERL2 dependencies:
MYSQL dependencies:
SMTP dependencies:
STANDALONE dependencies:

All dependencies have been found.

En caso contrario, instale los que falten:
perl sbin/rt-test-dependencies --with-mysql --with-modperl2 --verbose|grep MISSING

Instalamos
make install

Por default se instalara en /opt/rt3 a no ser que especifiquemos en la configuracion otro directorio. Vamos a personalizar algunos parametros. La lista completa se encuentra en RT_Config.pm, copie los parametros que quiera cambiar desde ahi y cambie sus valores en RT_SiteConfig.pm
vi /opt/rt3/etc/RT_SiteConfig.pm
Set( $rtname, 'example.com');
Set($Organization , "example.com");
Set($MinimumPasswordLength , "8");
Set($Timezone , 'America/Bogota');
Set($DatabaseType , 'mysql');
Set($DatabaseHost , '');
Set($DatabaseRTHost , '');
Set($DatabaseUser , 'root');
Set($DatabasePassword , 'cambiar-este-password');
Set($DatabaseName , 'rt3');
Set($UseSQLForACLChecks, 1);
Set($OwnerEmail , 'root');
Set($LoopsToRTOwner , 1);
Set($MaxAttachmentSize , 10000000);
Set($DropLongAttachments , 1);
Set($DashboardAddress, 'RT-dashboard@example.com');

#Set(@Plugins,(qw(Extension::QuickDelete)));
1;

Creamos un usuario para RT en mysql. Cambie rt_password por la contraseña de su gusto.
mysql -u root -p
GRANT ALL PRIVILEGES ON rt3.* TO 'rt_user'@'localhost' IDENTIFIED BY 'rt_password'

Inicializamos rt
make initialize-database

En caso de algo salir mal en el anterior paso, eliminamos la db mysql y volvemos al paso de initialize-database

make dropdb

Agregamos en la conf de perl para apache
vi /etc/httpd/conf.d/perl.conf

ServerName vtrthit.hyettemail.com
ServerAdmin manuel.cabrera@hyettemail.com
DocumentRoot /opt/rt3/share/html
AddDefaultCharset UTF-8
PerlRequire /opt/rt3/bin/webmux.pl

Order allow,deny
Allow from all
SetHandler perl-script
PerlResponseHandler RT::Mason



Reiniciamos apache
service httpd restart

Con esto ya terminamos de instalar y configurar RT. El paso siguiente seria entrar y cambiar por seguridad el password default del usuario root. En mi caso el server esta en la ip privada 192.168.1.203 y el password por default es password

http://192.16.1.203

login: root
password: password

Nos vamos a las opciones de Configuracion, de ahi a Usuarios, damos click sobre root y ahi veremos los textbox para cambiar el password de root para RT. Guardamos los cambios y ya podemos comenzar a personalizarlo para nuestro uso.



Share/Bookmark