Como instalar Bugzilla en Debian GNU/Linux
Creación: 22-08-2005
Índice de contenidos
3.Instalamos los paquetes necesarios
3.2.El agente de correo electrónico
6.Creando la estructura de los proyectos
1. Introducción
Mi trabajo en Autentia (http://www.autentia.com) me ha permitido tener contacto con muchos clientes y muchas instalaciones distintas. Y algo que viene a ser un factor común
es la falta de una gestión normalizada de incidencias. Es decir, no suele haber un repositorio central de errores que toda la compañía pueda explotar. Como mucho se suele encontrar alguna hoja de cálculo o algunas anotaciones en un fichero.
En Autentia trabajamos con el objetivo de desarrollar software de calidad. Y para ello pensamos que es indispensable disponer de alguna herramienta que nos permita esta gestión y explotación de errores. La información no puede estar en la cabeza de las personas. La información ha de ser manipulable, clasificable, … debemos poder exprimir la información de nuestra compañía. La información es dinero.
Por eso de vez en cuando os presentamos un tutorial sobre alguna herramienta de este tipo. Como XPlanner, que nos permitía la gestión de proyectos.
En cuanto a la gestión de incidencias, podemos encontrar multitud de herramientas. En este tutorial vamos a ver Bugzilla (http://www.bugzilla.org/).
Bugzilla es una aplicación de código abierto, que podemos usar y modificar libremente. Es muy completa y está muy difundida. Registradas hay unas 430 compañías, organizaciones, o proyectos que utilizan Bugzilla como su gestor de incidencias. Entre estos usuarios podemos encontrar (http://www.bugzilla.org/installation-list/): la NASA, Id Software, el grupo que desarrolla el Kernel de Linux, … y nosotros mismos en Autentia 😉
Bugzilla nos permite saber cuando se da de alta la incidencia, a que versión afecta, quien se encarga de ella, en que estado está (abierta, cerrada, denegada, …), y multitud de cosas más.
Por supuesto se pueden gestionar los permisos (quien puede hacer que cosas), tiene histórico de los cambios, …
2. Entorno
El tutorial está escrito usando el siguiente entorno:
- Hardware: Portátil Ahtex Signal X-9500M (Centrino 1.6 GHz, 1024 MB RAM, 60 GB HD).
- Sistema Operativo: GNU / Linux, Debian Sid (unstable), Kernel 2.6.12, KDE 3.4
- Apache2 2.0.54-4
- MySQL Server 4.1.13a-3
- Exim4 4.52-2
- Bugzilla 2.18.3-1
3. Instalamos los paquetes necesarios
3.1 El servidor web
Bugzilla es una aplicación que corre en un servidor web, así que necesitamos instalar alguno. Las dependencias del paquete Bugzilla nos ofrece:
- apache
- apache-ssl
- cern-httpd
- boa
- wn
- aolserver
- roxen
- thttpd
- caudium
- apache-perl
- apache2-mpm-perchild
- apache2-mpm-threadpool
- apache2-mpm-prefork
- apache2-mpm-worker
- bozohttpd
- httpd
Yo me he quedado con apache2 (en concreto apache2-mpm-worker).
# apt-get -u install apache2 apache2-mpm-worker
3.2 El agente de correo electrónico
Bugzilla también necesita un agente de correo para poder enviar correos a los usuarios de Bugzilla. Las opciones que nos ofrece las dependencias del paquete Bugzilla son:
- sendmail
- mail-transport-agent
Yo he escogido exim4 (en concreto exim4-daemon-light) que nos proporciona “mail-transport-agent”.
# apt-get -u install exim4 exim4-daemon-light
3.3 La base de datos
Por supuesto también necesitamos una base de datos. Bugzilla nos recomienda “mysql-server”, yo he instalado MySQL Server 4.1 junto con algunas aplicaciones clientes (el administrador y el navegador de consultas):
# apt-get -u install mysql-server-4.1
mysql-admin
mysql-query-browser
Si ya teníamos la base de datos instalada, es muy importante que esta esté arrancada antes de instalar el bugzilla.
3.4 El Bugzilla
Ya sólo nos queda instalar el propio Bugzilla, junto a la documentación (esta es opcional):
# apt-get -u install bugzilla bugzilla-doc
La instalación nos hará varias preguntas para configurar Bugzilla:
En la primera pantalla nos pide el tipo de instalación. Lo mejor es coger el modo “Automatic” para que el instalador se encargue de todo. Si seleccionamos el modo “Manual” podremos dar nosotros los valores de configuración de donde está el servidor de base de datos (por defecto localhost), el puerto de la base de datos (por defecto 3306), …
A continuación nos pide la cuanta de correo donde se enviarán todos los mensajes del administrador. Esta cuanta de correo también servirá como el login de la cuenta de
administración de Bugzilla. En mi caso: alejandropg@autentia.com
El nombre real del administrador. En mi caso: Alejandro Perez Garcia.
Nos pide la clave para el usuario administrador de Bugzilla.
Nos pide confirmar la clave del usuario administrador de Bugzilla.
Ya hemos terminado el proceso de instalación. Para comprobar que todo ha ido correctamente podemos abrir en un navegador la dirección: http://localhost/bugzilla.
Nos debería aparecer:
4. Administración de Bugzilla
Si entramos en Bugzilla con la cuenta de administración que hemos creado durante la instalación podremos acceder a las opciones de administración. Estas opciones se encuentran en el menú que hay al final de la página, en Edit –>Parameters.
Dentro de estos parámetros convendría cambiar, como poco los dos primero:
- maintainer: dirección de correo de la persona encargada de mantener la instalación de Bugzilla
- urlbase: el servidor y el camino de acceso al Bugzilla. Por ejemplo: http://autentiaserver/bugcilla/
4.1 Internacionalización
Otra de las cosas que podemos configurar en los parámetros, son los lenguajes de Bugzilla. Para ello tenemos los dos siguientes parámetros:
- languages: es una lista de códigos de idioma, separados por comas
- defaultlanguage: es el lenguaje por defecto. Este lenguaje será el que vea el usuario si el lenguaje de su navegador no coincide con ninguno de los especificados en la lista anterior.
La internacionalización en Bugzilla se consigue con el uso de plantillas “templates”. Podemos ir a la página: http://www.bugzilla.org/download/#localizations
y bajarnos alguna de las plantillas: árabe, alemán, español, frances, …
Yo en concreto he probado las plantillas de español que me he bajado de
https://sourceforge.net/project/showfiles.php?group_id=63370, en concreto el archivo “bugzilla-2.18.1-es-es.tar.gz”.
Una vez en local he descomprimido el archivo y he copiado la carpeta “es-es” en “/usr/share/bugzilla/template”.
Y he puesto el parámetro “languages” como “en,es-es”. Ojo con esto último porque lo que
ponéis en el parámetro “languages” tiene que coincidir con el nombre del directorio donde están las plantillas.
Ojo también con los permisos de los ficheros que acabáis de copiar, y con el propietario y el grupo. Para ponerlo igual que el otro directorio (el de “en”) podéis hacer:
# chown -R www-data:www-data /usr/share/bugzilla/template/es-es
# chomod -R g+w,o+r /usr/share/bugzilla/template/es-es
# find find /usr/share/bugzilla/template/es-es/ -type d -exec chmod o+x {} ;
Aunque tengo que decir que, una vez instaladas las plantillas las he probado y no me han gustado mucho. Hay cosas que no se ven bien del todo, y no todo está traducido, así que me quedado con la versión en inglés 🙁
Hay varias versiones de las plantillas, así que si probáis otras quizás estén mejor.
5. Creación de usuarios
En la página principal de Bugzilla el enlace “Open a new Bugzilla account” permite a un usuario pedir su propia cuenta de acceso a Bugzilla.
Si queremos crear nosotros los usuarios podemos hacerlo desde la cuenta de administración, desde el menú Edit –> Users –> Add
6. Creando la estructura de los proyectos
6.1 Los productos
La categoría de organización más amplia de Bugzilla son los productos. Un producto refleja un producto del mundo real, por ejemplo, si nos dedicamos ha hacer juegos un producto será cada juego en concreto. Podríamos tener productos especiales como “Common” donde encontraremos piezas reutilizables en otros productos, “Website” para la web, “Administration” para temas de administración, …
Para crear un nuevo producto, en el menú: Products –> Add.
Una vez hemos creado el producto podemos añadir las versiones del mismo (también podríamos decir que un producto es cualquier pieza de software versionable: una librería,
una aplicación, una documentación, …). También podemos hacer la gestión de los grupos, especificar el sistema de votaciones, …
6.2 Los componentes
Un componente sería cada una de las partes que forman el producto, por ejemplo un componente de persistencia, de interfaz de usuario, …
Para crear los componentes podemos volver a la ventana de “Products”, seleccionar el producto que acabamos de añadir y pinchar sobre “Edit components”. En la ventana que nos aparece pinchamos sobre “Add”.
7. Creando un bug
Ahora que tenemos la estructura de los proyectos creada, podemos empezar a dar de alta incidencias.
Para poder dar de alta una incidencia necesitamos estar logados en el sistema. En el menú de la parte inferior hacemos: Actions –> New. Lo primero que nos pedirá será que
seleccionemos el producto en el que queremos dar de alta la incidencia. En la captura de la pantalla podemos ver dos productos: AutentiaResolver (lo habíamos creado antes) y TestProduct.
Este último es un producto que viene de ejemplo cuando instalamos Bugzilla. Después de jugar con él deberíamos borrarlo.
A continuación nos aparece la pantalla donde podemos introducir el detalle del error. Si os fijáis, la mayoría de las etiquetas son enlaces, que la pincharlos nos mostrar ayuda sobre el campo en cuestión.
Una vez pinchamos sobre el botón “Commit” el error se da de alta y pasamos a una pantalla que nos permite modificar el error que acabamos de crear.
8. Buscando un Bug
Para buscar basta con pinchar sobre Actions –> Search. Esto nos llevará a un pantalla con dos pestañas: la primera permite hacer búsquedas sencillas, mientras que la segunda nos
permite hacer búsquedas avanzadas.
Podéis ver como la segunda pantalla nos permite especificar muchísimos más parámetros de búsqueda.
9. Conclusiones
Lo que hemos visto aquí es una pequeña muestra de Bugzilla. Os recomiendo que leáis la documentación para ver en más detalle como administrarlo, gestionar la seguridad,
administrar los grupos, las etiquetas, personalización, …
La documentación en línea la podéis encontrar en: http://www.bugzilla.org/docs/
Si habéis instalado el paquete bugzilla-doc la podéis encontrar en: /usr/share/doc/bugzilla-doc/html/index.html
10. Sobre el autor
Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software)
Dir. Implantación y Rendimiento
Formador en tecnologías J2EE, ADOO, UML
mailto:alejandropg@autentia.com
Autentia Real Business Solutions S.L.