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 <code bash> 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 </code> <code bash> 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 </code> <code> 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
</code> === Librerias por CPAN === <note important> Este paso se hace solo en el caso de que al instalar Request Tracker diga que todavía le faltan librerías </note> 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: <code bash> perl -MCPAN -e 'install Test::Warn' </code> Si no funciona por el proxy, lo configuramos: <code bash> perl -MCPAN -e shell o conf http_proxy 'http://10.141.134.2:3128' o conf commit </code> ==== Librerías a compilar ==== <note important> 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. </note> 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: <code bash> tar zxvf paquete cd paquete perl Makefile.PL make make test make install </code> Si la instalación de esta requiere otra, debemos instalarla antes. ==== Otros ==== También instalamos el cliente ncftp y el compilador gcc. <code bash> 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 </code> La instalación también nos pide la creación de un usuario rt, que pertenezca al grupo apache: <code bash> groupadd rt vi /etc/group rt:x:500:apache </code> ===== Instalación de Request Tracker ===== Descargamos la última versión y la descomprimimos. <code bash> wget -c http://download.bestpractical.com/pub/rt/release/rt.tar.gz tar xzf rt.tar.gz </code> Configuramos y testeamos las dependencias. <code bash> ./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. </code> 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: <code bash> 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; </code> Creamos el usuario rt_user para mysql. <code bash> mysql -u root -p GRANT ALL PRIVILEGES ON rt3.* TO 'rt_user'@'localhost' IDENTIFIED BY '1qaz2wsx' </code> Inicializamos la base de datos. <code bash> make initialize-database </code> ==== 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. <code bash> 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> </code> ==== 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: * Crear en el directorio activo dentro de Users, un usuario con una buena contraseña, que no puedad cambiar la contraseña y que no caduque * Crear un grupo dentro de Users llamada *usuarios RT* * Instalar el plugin para la autentificación <code>export PERL5LIB=/opt/rt3/lib perl -MCPAN -e 'install RT::Authen::ExternalAuth'</code> * Hacer una copia de seguridad y modificar el fichero /opt/rt3/local/plugins/RT-Authen-ExternalAuth/etc/RT_SiteConfig.pm para que quede así: <file>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; </file> * Editar */opt/rt3/etc/RT_SiteConfig.pm* y descomentar (quitar la #) <file> #Set(@Plugins, qw( # RT::Authen::ExternalAuth # )); #require “/opt/rt3/local/plugins/RT-Authen-ExternalAuth/etc/RT_SiteConfig.pm”; #Set($AutoCreate, {Privileged ⇒ 1}); </file> Grabar y reiniciar el servicio httpd <note warning>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 <code>#CPAN #cpan[1]>install NET:LDAP </code></note> === 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 ===== * http://sysadmins.es/2010/04/09/instalacion-de-rt-387-en-centos-54/ * Instalación en Centos http://wiki.bestpractical.com/view/CentOS5InstallPlusSome * http://www.sun.com/bigadmin/hubs/multilingual/spanish/content/req_track_2.jsp * http://www.wains.be/index.php/2008/02/23/request-tracker-36-on-debian-etch-postfix-fetchmail/ * http://wiki.covetel.com.ve/RT * http://www.uio.no/tjenester/it/applikasjoner/rt/utvikling-drift/modifications/