Categorías
Programacion Turoriales Ubuntu

Instalar Bugzilla en Ubuntu Hardy (1 de 2)

Bugzilla es un BTS (Bug Tracking System), un sistema de seguimiento de errores. Básicamente, un programa que nos sirve para tener organizados todos los errores pendientes de nuestros proyectos, así como un historial de los errores ya solucionados (o no). Se puede usar tanto para proyectos de software como para cualquier otro tipo de proyecto. Un carpintero podría usar un BTS para organizar los errores que tiene pendientes de solucionar en los trabajos que ha hecho por ahí, por poner un ejemplo.

Un BTS se puede usar de manera interna o podemos acordar con los clientes que sean ellos mismos quienes envíen los errores al software. Para lo que deberíamos tener una instalación accesible desde internet.

Hay muchos programas que sirven para hacer seguimiento de errores, ahora mismo dos BTS muy buenos son Bugzilla y Mantis. Bugzilla es desarrollado por la gente de mozilla y tiene más facilidad para incorporar complementos que Mantis, siendo los dos muy buenos como ya he dicho antes, voy a optar por instalar Bugzilla. Si quieren meditarlo más, en el post Bugzilla vs Mantis de botsko pueden leer un análisis bastante bueno(en la lengua de Ken Follet) de las diferencias.

El primer paso es ir a la web de bugzilla y descargar la última versión estable
http://www.bugzilla.org/download/#stable

La traducción a castellano la tienen en http://bugzilla-es.sourceforge.net/

¿Tenemos perl instalado?

Bugzilla está desarrollado en perl, por lo que tenemos que saber si hay instalado en nuestro sistema operativo soporte para ese lenguaje, vamos a un terminal y escribimos: perl -v

Yo obtengo la salida «This is perl, v5.8.8 built for i486-linux-gnu-thread-multi», como bugzilla necesita perl v5.8.0 ó superior, esta parte es facil porque no tenemos que hacer nada 🙂

Base de datos

Bugzilla puede ir sobre MySQL o PostgreSQL, como recordarán del post de instalacion de php, apache y mysql sobre Ubuntu Hardy, yo tengo en mi máquina MySQL ya instalado, así que será el motor de base de datos que usará mi Bugzilla.

Para comprobar si tienen instalado MySQL o PostgreSQL, con que tengan uno de los dos vale, pueden ejecutar en el terminal:

mysql -V

psql -V

Esta ha sido la primera parte del tutorial, el objetivo era explicar qué tipo de software queremos instalar y controlar que tengamos todas las herramientas encima de la mesa. En el siguiente post de la serie empezaremos a cacharrear con el terminal para dejar bugzilla instalado (Ver la segunda parte del tutorial…)

Categorías
Programacion Turoriales Ubuntu

Instalar Bugzilla en Ubuntu Hardy (2 de 2)

Continuando con la anterior parte de este tutorial, el siguiente paso a seguir sería instalar los módulos necesarios de perl.

Suponiendo que nos hemos descargado el paquete de instalación de bugzilla siguiendo las instrucciones del anterior tutorial, lo descomprimimos (en nuestro directorio raiz de apache) y entramos en el directorio.

Los desarrolladores de bugzilla nos facilitan esta tarea con un script llamado checksetup que nos informa de los módulos necesarios y opcionales de perl que habría que instalar y cómo hacerlo.

./checksetup.pl –check-modules

Se obtiene una salida como ésta:

Un poco más abajo, nos indica incluso qué comandos tenemos que ejecutar para instalar los módulos obligatorios y los opcionales que nos faltan.

Voy a instalar solo los obligatorios, hay que hacerlo como root.

sudo /usr/bin/perl -MCPAN -e ‘install «Email::Send»‘
sudo /usr/bin/perl -MCPAN -e ‘install «Template»‘
sudo /usr/bin/perl -MCPAN -e ‘install «Email::MIME::Modifier»‘

Le damos a intro a todas las opciones que no sepamos lo que son, para que se pongan los valores por defecto. Mejor no experimentar para ahorrarnos aspirinas y cafés. Nos preguntará el pais y el servidor ftp desde el que queremos descargar los ficheros, ponemos España que es el 32 y escogemos una de las opciones de ftp que nos muestra.

Volvemos a ejecutar el check-setup como antes para verificar que ahora si que tenemos todos los módulos obligatorios. En un principio vamos a seguir con la instalación, siempre se puede ejecutar de nuevo el check-setup para ver que módulos opcionales nos faltan, con la inestimable ayuda que da el script informándonos del comando que hay que ejecutar para instalar cada módulo.

Lo siguiente que tenemos que hacer es editar el fichero de configuración de bugzilla con las peculiaridades de nuestro sistema. Editamos el fichero localconfig que hay en el directorio de bugzilla.

gedit localconfig

Ponemos el host de la base de datos, el usuario, contraseña, nombre de la tabla, lo tipiquillo. Unos valores de ejemplo son los siguientes:

$create_htaccess = 1;
$webservergroup = ‘apache’;
$db_driver = ‘mysql’;
$db_host = ‘localhost’;
$db_name = ‘bugs’;
$db_user = ‘generico’;
$db_pass = ‘generico’;
$db_port = 0;
$db_sock = »;
$db_check = 1;
$index_html = 0;
$cvsbin = »;
$interdiffbin = »;
$diffpath = ‘/usr/bin’;

El usuario que pongamos tiene que existir en la base de datos antes de continuar. Para seguir con las instalación, ejecutamos el script check-setup.pl pero sin el parámetro –check-modules

./checksetup.pl

Si nos sale alguna advertencia o error lo corregimos, a mi me mostró el mensaje de que el webservergroup (que por defecto viene puesto como apache) no se encontraba. Ejecutamos en un terminal el comando groups y ponemos en webservergroup alguno de los grupos de nuestro equipo.

Volvemos a ejecutar el checksetup al cual mas de uno le habrá cogido cariño a estas alturas. Cuando todo vaya bien nos pedirá una contraseña de administrador, correo, etc… Los ponemos, no es shell phishing :p

Lo siguiente es decirle a apache que ejecute los cgi de perl que tenemos en nuestro directorio de bugzilla. Vamos al fichero /etc/apache2/sites-available/default y añadimos el directorio de bugzilla, algo como esto:

<Directory «/home/adrian/www/bugzilla»>
Options +ExecCGI
AllowOverride Limit
DirectoryIndex index.cgi
AddHandler cgi-script .cgi
</Directory>

Guardamos el fichero, reiniciamos apache2:

sudo /etc/init.d/apache2 restart

Y a correr, http://localhost/bugzilla

Espero que les sea útil y que no tengan muchas dudas, la instalación es un poquito rollo la verdad. Si tienen problemas, pregunten en los comentarios y así aprendemos todos. Si algo se puede corregior o explicar mejor no duden en comentarlo y se rectificará el post, así entre todos hacemos un tutorial mejor.

¡Suerte con los bichitos!

Bibliografía

Bugzilla Guide (pdf)