Tabla de Contenidos

, ,

Instalación de Request Tracker 3.8.2

Requisitos

Request Tracker requiere un servidor mysql y apache.

yum install mysqld httpd

Si no lo hemos hecho ya, configuramos perl. (Normalmente respondemos a todo que si.)

/usr/bin/perl -MCPAN -e shell

Librerías necesarias

Trataremos de instalar todas las librerías posibles por yum, ya que CPAN suele fallar. Para poder instalarlas debemos activar el repositorio plus y los de RPMForge.

Para ello ejecutamos

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
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
yum install perl-Digest-HMAC 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-INET6 perl-Net-SNMP perl-Params-Validate perl-Socket6 perl-UNIVERSAL-require perl-HTML-scrubber perl-Text-WikiFormat perl-XML-RSS perl-Tree-Simple perl-Text-Wrapper perl-Module-Versions-Report perl-CSS-Squish perl-Term-ReadKey perl-Class-ReturnValue  perl-Text-Quoted   perl-Calendar-Simple  perl-DBIx-SearchBuilder  perl-Text-Autoformat perl-MailTools perl-Regexp-Common perl-Locale-Maketext-Lexicon perl-Locale-Maketext-Fuzzy perl-Time-HiRes perl-Time-modules perl-TimeDate perl-Log-Dispatch perl-Text-Template perl-HTML-Tree perl-HTML-Format perl-HTML-Scrubber perl-libwww-perl perl-MIME-tools perl-DBD-mysql perl-FCG perl-Apache-DBI 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  

Librerias por CPAN

Este paso se hace solo en el caso de que al instalar Request Tracker diga que todavía le faltan librerías

Si al instalar el Request Tracker nos faltan mas librerías, debemos instalarlas con CPAN. Por ejemplo, si la instalación dice que falta Test::War, la instalamos de la siguiente forma:

perl -MCPAN -e 'install Test::Warn'

Si no funciona por el proxy, lo configuramos:

perl -MCPAN -e shell
o conf http_proxy 'http://10.141.134.2:3128'
o conf commit

Librerías a compilar

Este paso se hace solo en el caso de que al instalar Request Tracker y librerias por CPAN diga que todavía le faltan librerías.

Si tras el método CPAN tampoco hemos obtenido todas las librerías necesarias, debemos descargarlas de la pagina oficial. La instalación normalmente se basa en:

tar zxvf paquete
cd paquete
perl Makefile.PL
make
make test
make install

Si la instalación de esta requiere otra, debemos instalarla antes.

Otros

También instalamos el cliente ncftp y el compilador gcc.

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
yum install  gcc make

La instalación también nos pide la creación de un usuario rt, que pertenezca al grupo apache:

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

Instalación de Request Tracker

Descargamos la última versión y la descomprimimos.

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

Configuramos y testeamos las dependencias.

./configure --with-web-user=apache --with-web-group=apache --with-modperl2 --with-mysql
make testdeps # Si falla instalamos lo que falte con CPAN.
make install  # Cuando no falle nada.

Por defecto se instalara en /opt/rt3 a no ser que especifiquemos en la configuración otro directorio. Vamos a personalizar algunos parámetros. La lista completa se encuentra en RT_Config.pm, copie los parámetros que quiera cambiar desde ahí y cambie sus valores en RT_SiteConfig.pm

Por ahora utilizaremos estos:

Set($rtname, 'rt3.miempresa.net');
Set($Organization , "rt3.miempresa.net");
Set($MinimumPasswordLength , "6");
Set($DatabaseType , 'mysql');
Set($DatabaseHost , 'localhost');
Set($DatabaseRTHost , 'localhost');
Set($DatabaseUser , 'rt_user');
Set($DatabasePassword , 'contraseña');
Set($DatabaseName , 'rt3');
Set($UseSQLForACLChecks, 1);
Set($OwnerEmail , 'root');
Set($LoopsToRTOwner , 1);
Set($MaxAttachmentSize , 10000000);
Set($DropLongAttachments , 1);
Set($DashboardAddress, 'admin@miempresa.net');
Set($WebPath , '/rt');
#Set(@Plugins,(qw(Extension::QuickDelete)));
1;

Creamos el usuario rt_user para mysql.

mysql -u root -p
GRANT ALL PRIVILEGES ON rt3.* TO 'rt_user'@'localhost' IDENTIFIED BY '1qaz2wsx'

Inicializamos la base de datos.

make initialize-database

Configurando Apache

Creamos un alias nuevo para poder acceder a Request Tracker, ya que el contenido web del programa esta en /opt/rt3/share/html. Editamos el httpd.conf y añadimos lo siguiente al final.

vim /etc/httpd/conf/httpd.conf
 
Alias /rt "/opt/rt3/share/html"
PerlModule Apache::DBI
PerlRequire /opt/rt3/bin/webmux.pl
<Directory /opt/rt3/share/html>
  AllowOverride All
  Options ExecCGI FollowSymLinks
  <IfModule mod_access.c>
        Order allow,deny
      Allow from all
  </IfModule>
</Directory>
 
<Location /rt>
  RewriteEngine One
  RedirectMatch permanent (.*)/$ $1/index.html
  AddDefaultCharset UTF-8
  SetHandler perl-script
  PerlHandler RT::Mason
</Location>

Acceso a Rt

Para acceder vamos a http://ip/rt con el usuario root y contraseña “password”.

Autentificación externa con windows 2003

Para activar la autentificación externa con el directorio activo de windows tenemos que hacer lo siguiente:

export PERL5LIB=/opt/rt3/lib
perl -MCPAN -e 'install RT::Authen::ExternalAuth'
Set($ExternalAuthPriority,           [ 'My_LDAP' ] );
Set($ExternalInfoPriority,           [ 'My_LDAP' ] );
Set($ExternalServiceUsesSSLorTLS,    0);
Set($AutoCreateNonExternalUsers,     0);

Set($ExternalSettings,      {
                     'My_LDAP'               =>  {

                     'type'                  =>  'ldap',
                     'server'                =>  'DNS servidor AD o ip',
                     'user'                  =>  'cn=ldap,cn=users,dc=empresa,dc=org',
                     'pass'                  =>  'contraseña de ldap',
                     'base'                  =>  'dc=empresa,dc=org',

                     'filter'                =>  '(&(ObjectCategory=User)(ObjectClass=Person))',
                     'd_filter'              =>  '(userAccountControl:1.2.840.113556.1.4.803:=2)',

                     'tls'                   =>  0,
#                    'ssl_version'           =>  3,

                     'net_ldap_args'         => [    version =>  3           ],
                     'group'                 =>  'cn=usuarios RT,cn=Users,dc=empresa,dc=org',
                     'group_attr'            =>  'member',

                     'attr_match_list'       => [   'Name', 'EmailAddress'   ],
                     'attr_map'              => {   'Name' => 'sAMAccountName',
                                                    'EmailAddress' => 'mail',
                                                    'Organization' => 'physicalDeliveryOfficeName',
                                                    'RealName' => 'cn',
                                                    'ExternalAuthId' => 'sAMAccountName',
                                                    'Gecos' => 'sAMAccountName',
                                                    'WorkPhone' => 'telephoneNumber',
                                                    'Address1' => 'streetAddress',
                                                    'City' => 'l',
                                                    'State' => 'st',
                                                    'Zip' => 'postalCode',
                                                    'Country' => 'co'
                                                }
                                                }
                            }
);

1;
#Set(@Plugins, qw(
#                        RT::Authen::ExternalAuth
#                 ));




#require "/opt/rt3/local/plugins/RT-Authen-ExternalAuth/etc/RT_SiteConfig.pm";
#Set($AutoCreate,                        {Privileged => 1});

Grabar y reiniciar el servicio httpd

En caso de que el servicio httpd no inicie, mirar el log para ver a que se debe /var/log/httpd/error.log Si el error es algo así como can´t locate Net/LDAP necesitamos instalar una librería para ello hacemos
#CPAN
#cpan[1]>install NET:LDAP

Correo

Para que pueda enviar correo hay que instalar un cliente de correo.

Tambien se puede instalar un servidor de correo como postfix y que haga relay hacia un servidor de correos externo.

Instalación de nuevos Informes

http://wiki.bestpractical.com/view/TimeWorkedReport

Referencias