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
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
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
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.
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
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
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>
Para acceder vamos a http://ip/rt con el usuario root y contraseña “password”.
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
#CPAN #cpan[1]>install NET:LDAP
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.