How to Migración RT 3.6.6 to 4.01

From Request Tracker Wiki
Jump to navigation Jump to search

Migracion rt 3.6.6 a 4.0

'PreRequisitos, 'Ambiente BD con mysql

Se necesitara un espacio para manipular los datos, este corresponde al doble del peso del Backup

Instalaciones Previas

Actualizacion sistema Operativo

Apt-get update

Apt-get upgrade

Instalacion APACHE

Apache 2.X http://apache.org

  • Para instalar hacer:
apt-cache search Apache2

una vez muestre las versions disponibles

apt-get install apache2

  • Editar archive configuracion

ubicado en: /etc/apache2/apache2.conf

incorporando la siguiente línea LimitRequestLine 5000

  • Esta sirve para Directiva permite que el administrador del servidor para reducir o aumentar el límite en el tamaño permitido de un cliente

Reiniciar apache, probar funcionamiento escribiendo la url de la maquina en el navegador Instalacion MOD_PERL

apt-cache search mod_perl

apt-get install libapache2-mod-perl2


Reiniciar apache


Service apache2 restart Instalacion mysql cliente

apt-cache search mysql

una vez muestre las versions disponibles

apt-get install mysql-client

Instalacion PERL

Instalación de Perl 5.8.3. o posterior se descarga de www.perl.com

Consultar si está instalado con:

perl-v Para instalar hacer:

apt-cache search Perl Una vez muestre las versions disponibles

apt-get install [nombre paquete]

Comienzo Migracion Servicio RT Antes de comenzar la migración el servicio Apache deberá ser detenido, junto con el servicio de correo electrónico. Esto para asegurar que no llegaran nuevos datos a la BD mientras se respalden los datos del sistema. Para detener los servicios podemos ejecutar los siguientes comandos:

[ /etc/init.d/apache2 stop ]

[ /etc/init.d/postfix stop ]

NOTA:lasinstrucciones de éste documento deben hacerse con perfil de administrador(sudo), lo anterior se puede realizar anteponiendo la instrucción sudo e

incorporando la contraseña del usuario, o digitando sudo –s y contraseña.

Regularizacion Base de Datos Produccion

Durante el laboratorio se detectaron algunos registros que contienen caracteres que generan problemas en la etapa de actualización de esquema en la BD del sistema.

  • Realizar revisión del campo “Name” de la tabla Users, para los usuarios que contengan la letra “ñ”. Para detectar los registros utilizaremos la siguiente query:
[SELECT * FROM Users U where U.Name like "%ñ%";]
  • Regularizar los campos detectados.
  • Realizar revisión del campo Name de la tabla Users, para los usuarios que contengan acentos.Para detectar los registros utilizaremos la siguiente query:
[SELECT * FROM Users U where U.Name like "%á%" or U.Name like "%é%" or U.Name like "%í%" or U.Name like "%ó%" or U.Name like "%ú%";]
  • Regularizar los campos detectados.

Software y Estructura de Directorio

Para más seguridad en la migración, deberemos descargar la aplicación RT 4.0.1 y realizar una instalación limpia de ella. Para lo anterior ocuparemos el siguiente comando:

[WGET http://download.bestpractical.com/pub/rt/release/rt-4.0.1.tar.gz]

[Tar -xvf 'path']

Respaldo Base de Datos de Produccion

El primer paso para comenzar con la migración del sistema RT 3.6.6 a la version RT 4.0.1, es el respaldo de la base de datos de producción y restaurarla en el nuevo ambiente.

  • El backup se deberá realizar con el siguiente comando:
[mysqldump -u root -p -h direccion_ip_host --skip-extended-insert --default-character-set=binary --databases rtdb_name --add-drop-database  | gzip > /datos/dump.sql.gz]
  • Luego editamos el archivo de backup , cambiando el nombre de la base de datos, en el caso que desee cambiar el nombre de la Bse de datos, en este caso rtdb es el nomnre antiguo y rt4 es el nombre nuevo
[cat /datos/dump/dump.sql |sed 's/rtdb/rt4/g' > /datos/dump/dumprt4.sql]
  • Luego Restauramos el backup realizado desde la Base de datos de producción en el Nuevo ambiente:
[mysql -u root -p'password' rtdb < /datos/dump.sql]

Instalacion Limpia RT4.01

se debe instalar compilador GCC

apt-get install gcc

Realizaremos una instalación limpia de RT 4.0.1 , para la cual seguiremos los siguientes pasos:

  • Crear directorio para rt4
[mkdir /usr/local/rt4]
  • Ejecutar ./configure para instalación limpia de RT 4.0.1
[Apt-get install gcc (Compilador)]

[./configure --prefix=/usr/local/rt4]

  • Ejecutar config Cpan
[/usr/bin/perl -MCPAN -e shell]
  • Actualizamos CPAN
[install Bundle::CPAN]
  • Una vez actualizado CPAN , ejecutamos
[reload cpan]

[reload index]

Nota: Presionar si a todo

[./configure --enable-graphviz --enable-gd]

  • Revisar dependencia que faltan, con el comando
[Make testdeps ]
  • Instalar dependencias que faltan
[Make fixdeps]

NOTA: Las dependencias que no se instalan en forma automática las debemos instalar de forma manual.

  • Instalación manual de dependencias faltantes
[Apt-get install  libnet-smtp-ssl-perl]

[Apt-get install libdatetime-locale-perl]

[Apt-get install libhtml-mason-perl]

[Apt-get install libxml-rss-perl]

[Apt-get install liblog-dispatch-perl]

[Apt-get install libcgi-application-basic-plugin-bundle-perl]

[Apt-get install liblog-dispatch-filerotate-perl]

[Apt-get install libgd-graph3d-perl]

[Apt-get install libgraphviz-perl]

  • Luego revisamos que no queden dependencias pendientes.

[Make fixdeps]

  • Crear carpeta para log

[Mkdir /var/log/rt]

  • Dar Permisos

Chmod –R 775 /var/log/rt

  • Ejecutar compilación
[Make install]

Actualizacion Esquema Base de Datos

Los siguientes pasos deberemos realizarlos cuidadosamente porque podrían implicar perdida de datos en nuestra BD, se recomienda realizar backup Para la actualización del esquema, ejecutaremos el siguiente procedimiento:

  • Copiar directorio upgrade desde el fuente (instalador rt 4.0.1) hacia la nueva instalación en la siguiente ruta antes creada
[cp /rt-4.0.1/etc/upgrade (Ruta instalador) hacia  /usr/local/rt4/etc/upgrade/]
  • Copiar contenido del antiguo RT_SiteConfig.pm al nuevo RT_SiteConfig.pm en la instalación de RT4
  • Configurar los parámetros en el archivo RT_SiteConfig.pm ,para acceder a la base de datos rt4.
  • Ejecutar comando desde la siguiente ruta /usr/local/rt4
[./rt-setup-database   --prompt-for-dba-password --action upgrade]

NOTA: Este comando solicitara ingresar los siguientes parámetros cada vez que se ejecute


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar versión Rt origen : 3.6.6

Ingresar versión Rt Destino : 3.7.1


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.7.1

Ingresar versión Rt Destino : 3.7.10


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.7.10

Ingresar versión Rt Destino : 3.7.19


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.7.19

Ingresar versión Rt Destino : 3.7.81


  • Ejecutar upgrade de schema BD desde la carpeta del instalador
[Cd /home/sparada/rt-4.0.1]

[perl etc/upgrade/upgrade-mysql-schema.pl db user pass > queries.sql]

  • El comando anterior generara un archivo “queries.sql”, el cual deberemos revisar, si está todo bien pasamos al siguiente paso.
  • Ejecutar
[mysql -urt_user -p'pasword' rt4 < queries.sql]
  • Ejecutar limpieza membergroups (se aplica en la versión 3.7.87)
[perl -I /usr/local/rt4/local/lib -I /usr/local/rt4/lib /home/sparada/rt-4.0.1/etc/upgrade/shrink_cgm_table.pl]
  • Upgrade extension ical
[/usr/local/rt4/etc/upgrade/3.8-ical-extension ]
  • Continuar Actualización
[ cd /usr/local/rt4]

./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.7.87

Ingresar versión Rt Destino : 3.8.0


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.8.0

Ingresar versión Rt Destino : 3.8.1


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.8.1

Ingresar versión Rt Destino : 3.8.2


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.8.2

Ingresar versión Rt Destino : 3.8.3


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.8.3

Ingresar versión Rt Destino : 3.8.4


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.8.4

Ingresar versión Rt Destino : 3.8.5


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.8.5

Ingresar versión Rt Destino : 3.8.6


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.8.6

Ingresar versión Rt Destino : 3.8.8


  • Actualización para contraseñas Vulnerables, ejecutar
[cd/home/sparada/rt-4.0.1]

[perl etc/upgrade/vulnerable-passwords --fix to upgrade]

  • Eliminación de transacciones innecesarias, sin perder funcionalidad
[cd  /home/sparada/rt-4.0.1/]

[perl -I /usr/local/rt4/lib -I /usr/local/rt4/lib etc/upgrade/shrink_transactions_table.pl]

  • Continuar Actualización
[ cd /usr/local/rt4]

./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.8.8

Ingresar versión Rt Destino : 3.8.9


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.8.9

Ingresar versión Rt Destino : 3.9.1


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.9.1

Ingresar versión Rt Destino : 3.9.2


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.9.2

Ingresar versión Rt Destino : 3.9.3


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.9.3

Ingresar versión Rt Destino : 3.9.5


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.9.5

Ingresar versión Rt Destino : 3.9.6


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.9.6

Ingresar versión Rt Destino : 3.9.7


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 3.8.8

Ingresar versión Rt Destino : 4.0.0rc2


  • Soluciona registros duplicados.
[/usr/local/rt4/sbin/rt-validator --check --resolve]

./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 4.0.0rc2

Ingresar versión Rt Destino : 4.0.0rc4


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 4.0.0rc4

Ingresar versión Rt Destino : 4.0.0rc7


./rt-setup-database --prompt-for-dba-password --action upgrade

Ingresar Password base datos

Ingresar versión Rt origen : 4.0.0rc7

Ingresar versión Rt Destino : 4.0.1


NOTA: En este paso ya tenemos nuestro rt 3.6.6 actiualizado a RT4.01 Ahora deberemos subir el el servidor apache y el servidor de correo

Configuracion Apache

Para este laboratorio se creó la siguiente configuración apache, el servidor de desarrollo test.cl


DocumentRoot /usr/local/rt4/share/html

Alias /NoAuth/images/ /usr/local/rt4/share/html/NoAuth/images/

 Options Indexes FollowSymLinks

 AllowOverride None

 Order allow,deny

 Allow from all

 satisfy any

 AddDefaultCharset UTF-8

 SetHandler modperl

 PerlResponseHandler Plack::Handler::Apache2

 PerlSetVar psgi_app /usr/local/rt4/sbin/rt-server


Subida de Servicio

Finalmente subimos nuestros servicios

[ /etc/init.d/apache2 start ]

[ /etc/init.d/postfix start ] Y por fin tenemos nuestro RT 4.01 !!! , funcionando . espero les sea de utilidad

proseba@gmail.com

sparada@uc.cl