Actualización de bugzilla a la versión 3.6.

0
7993

Actualización de bugzilla a la versión 3.6.

1. Introducción

El sistema de distribución de paquetes de las distribuciones de Linux es sencilla y no tenemos que hacer grandes cosas para actualizar o instalar nuevas versiones de los paquetes. Pero existen momentos que quieres instalar o actualizar un paquete a una versión más moderna que los repositorios no disponen (
incluso en los de testing). Este tutorial va dirigido a aquellas personas que desean actualizar a la última versión de bugzilla (Bugzilla 3.6) teniendo instalada la versión de los repositorios que vienen en vuestra distribución de Linux.

2. Entorno

Entorno utilizado para escribir este tutorial:

  • Sistema Operativo: Linux Debian Lenny (Testing)
  • Bugzilla:: 3.2.5
  • Paquetes necesarios para la instalación:

    • gcc: 4.4
    • perl: 5.10

3. Backup.

Como siempre, en cualquier actualización o migración de cualquier cosa debemos realizar un backup de los recursos de la versión actual para restaurar en el caso de que el proceso de actualización falle por alguna razón. En este caso lo más importante es realizar
el backup de la base de datos y de los ficheros de configuración. Vamos a suponer que tenemos una variable de entorno donde vamos almacenar el backup (en nuestro caso será el home de nuestro usuario). Todo el proceso de actualización se realiza con el usuario root.

mkdir -p ~/backup_bugzilla
export DIR_BACKUP_BUGZILLA=~/backup_bugzilla

3.1 Backup de la base de datos

Con el usuario propietario del schema de bugzilla lanzamos un mysqldump. Por ejemplo:

mysqldump -u bugzilla -p bugzilla > $DIR_BACKUP_BUGZILLA/mysql_bugzilla.dump

3.2 Backup del ficheros de configuración

A continuación nos copiamos los ficheros de configuración de la versión instalada para utilizarlos más tarde. Los ficheros de configuración de bugzilla se encuentran en /etc/bugzilla3.

cp -r /etc/bugzilla3 $DIR_BACKUP_BUGZILLA

Una vez que hayamos realizado el backup procedemos a instalar y configurar la nueva versión.

4. Instalación de Bugzilla 3.6.

Lo primero de todo decargamos la release 3.6 de la página oficial de bugzilla (http://www.bugzilla.org/download/#v36) y revisar los requisitos que necesitamos para esta nueva versión (http://www.bugzilla.org/releases/3.6/release-notes.html) y muy
importante la información sobre la actualización de la versión anterior (http://www.bugzilla.org/releases/3.6/release-notes.html#v36_upgrading).

Para aquellos que les guste el comando wget:

wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.6.tar.gz ~/$DIR_BACKUP_BUGZILLA

El directorio donde instalaremos la nueva versión será en /opt. En nuestro caso y para futuras actualizaciones del producto, descromprimimos el directorio descargado en /opt y creamos un enlace simbólico con el nombre de bugzilla. Este enlace simbólico es
el que utilizaremos más tarde para configurar nuestro apache. Asi cuando tengamos que realizar una actualización del producto sólo tendremos que cambiar el enlace simbólico y nada más.

cd /opt
tar xvf ~/$DIR_BACKUP_BUGZILLA/bugzilla-3.6.tar.gz
ln -s /opt/bugzilla-3-6 bugzilla

Ahora ejecutamos el fichero checksetup.pl que comprueba si nuestro sistema puede ejecutar esta versión de bugzilla. Si algunos de los requisitos obligatorios no los cumplimos nos los indicará con color rojo.

cd /opt/bugzilla
./checksetup.pl

En el caso de no tener los módulos obligatorios instalados deberemos ejecutar los comandos que nos indica bugzilla. Por ejemplo:

/usr/bin/perl install-module.pl XML::Twig
/usr/bin/perl install-module.pl Template

Una vez que hayamos instalado todos los módulos obligatorios y aquellos opcionales que nos interesen, volvemos a ejecutar el fichero checksetup.pl. Esto nos crea un fichero llamado localconfig. En este fichero están las propiedades necesarias para que este script
realice correctamenta la instalación o actualización. Lo editamos y cambiamos las propiedades con los valores correctos. Indicar que las propiedades más importantes son la información sobre la base de datos que estamos utilizando y el grupo con el que corre el proceso de apache.

#Con esto creamos los fichreos htacces para apache
$create_htaccess = 1;

#grupo con el que se ejecuta el apache
$webservergroup = 'www-datae';

#Activar si bugzilla corre en un apache con el modulo de suexec
$use_suexec = 0;

#base de datos que utilizará Bugzilla
$db_driver = 'mysql';

#DMáquina donde se encuentra la base de datos
$db_host = 'localhost';

#Nombre del schema de la base de datos
$db_name = 'bugzilla';

#Usuario para conectarse a la base de datos
$db_user = 'bugzilla';

#Password para conectarse a la base de datos.
$db_passowrd=''

A continuación, volvemos a ejecutar el fichero checksetup.pl y cuando finalice ya tendremos instalado/actualizado nuestro bugzilla. Únicamente nos faltaría añadir la configuración antigua y configurar el apache para que invoque a la nueva versión.

4.1. Aplicando la configuración antigua a la nueva versión.

Ahora tenemos que modificar el fichero params de /opt/bugzilla/data para incluir los valores que tuvieramos configurados en la versión anterior. Para ello utilizaremos el comando diff para ver la diferencias entre un fichero y otro y así ir cambiando los valores
por lo que tenía la versión anterior.

cd /opt/bugzilla/data
diff params $DIR_BACKUP_BUGZILLA/params

Por ejemplo, algunas propiedades que hay que cambiar: urlbase, sslbase, etc…

5. Configuración del Apache

Por último, tenemos que modificar la configuración del apache con los nuevos valores. Accedemos al directorio /etc/apache2/conf.d y editamos el fichero bugzilla3 quedando así:


    Alias /bugzilla3 /opt/bugzilla

    RewriteRule ^(.*/cgi-bin/bugzilla3)/?$ /bugzilla3/index.cgi [R]
    RewriteRule ^(.*/bugzilla3)/?$ $1/index.cgi [R] [L]

    
        AddHandler cgi-script cgi
        DirectoryIndex index.cgi
        Options +Indexes +ExecCGI -MultiViews +SymLinksIfOwnerMatch +FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    

    
        Options +FollowSymLinks -Indexes
        AllowOverride None
        Order allow,deny
        Allow from all
    

    
        Options +FollowSymLinks -Indexes
        AllowOverride None
        Order allow,deny
        Allow from all
    

    
        Options +FollowSymLinks -Indexes
        AllowOverride None
        Order allow,deny
        Allow from all
    

Ahora reiniciamos el apache (/etc/init.d/apache2 restart) y accedemos al bugzilla (http://xxxxxx/bugzilla3).

6. Conclusión

Como habéis podido ver, en unos pocos pasos hemos actulizado el bugzilla a la última versión partiendo de una versión instalada de los repositorios de la distribución.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad