Bugzilla : mise en place d'un outil de ticketing

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search
Bugzilla

Software version 4.2.5
Operating System Debian 6
Website Bugzilla Website
Last Update 03/07/2013
Others

1 Introduction

Bugzilla est un logiciel libre de système de suivi de problèmes avec interface web, développé et utilisé par l'organisation Mozilla. Il permet le suivi de bogues ou de « demande d'amélioration » (RFE en anglais) sous la forme de « tickets ». Logiciel de type serveur, architecture trois tiers, il est écrit en langage Perl. Il est disponible sous UNIX (Linux, BSD, etc.) et est distribué sous tri-licence MPL/LGPL/GPL.

Il est utilisé par de nombreuses organisations pour suivre le développement de nombreux logiciels, sur Internet ou dans des réseaux privés. Les plus connus sont la Mozilla Foundation, Facebook, NASA, YAHOO, GNOME, KDE, Red Hat, Novell et Mandriva.[1]

2 Installation

Nous allons avoir besoin d'un serveur web pour la mise en place de bugzilla. Nous allons faire très simple et utiliser Apache, ainsi qu'installer une base de données MySQL :

Command aptitude
aptitude install apache2 mysql-server libapache2-mod-perl2

Puis nous allons installer toutes les dépendances de Bugzilla :

Command
aptitude install libtimedate-perl libdatetime-perl libtemplate-perl libemail-send-perl libemail-mime-perl libdbi-perl liburi-perl libmath-random-isaac-perl libdbd-mysql-perl libgd-gd2-perl libchart-perl libtemplate-plugin-gd-perl libmime-tools-perl libwww-perl libxml-twig-perl libnet-ldap-perl libauthen-sasl-perl libauthen-radius-perl libsoap-lite-perl libjson-rpc-perl libtest-taint-perl libhtml-scrubber-perl libencode-detect-perl

Puis nous allons télécharger la dernière version de Bugzilla et l'extraire :

Command
cd /var/www
wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.2.5.tar.gz
tar -xzf bugzilla-4.2.5.tar.gz

S'il vous manque toujours des modules, vous avez la solution non intégrée à Debian qui se chargera d'installer tout le nécessaire :

Command
cd bugzilla-4.2.5
/usr/bin/perl install-module.pl --all

3 Configuration

3.1 MySQL

Pour la configuration de MySQL, nous allons tuner un peu les paramètres en ajoutant ces lignes dans la configuration :

Configuration File /etc/mysql/my.cnf
[mysqld]
# Allow packets up to 4MB
max_allowed_packet=4M
# Allow small words in full-text indexes
ft_min_word_len=2

Redémarrez MySQL pour que ces paramètres soient pris en compte. Ensuite créez la base de données, un utilisateur et ses droits MySQL (remplacez le mot de passe par ce que vous souhaitez) :

Configuration File mysql
CREATE DATABASE bugs;
CREATE USER 'bugs'@'localhost' IDENTIFIED BY 'bugs';
GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY 'bugs';
FLUSH PRIVILEGES;

3.2 Apache

Pour que les scripts perl/CGI soient pris en compte par Apache, nous avons installer mod_perl. Il va falloir configurer les directory d'Apache maintenant :

Configuration File /etc/apache2/sites-enabled/000-default
<VirtualHost *:80>
[...]
        <Directory /var/www/bugzilla-4.2.5>                AddHandler cgi-script .cgi                Options +Indexes +ExecCGI                DirectoryIndex index.cgi                AllowOverride Limit FileInfo Indexes        </Directory>[...]
</VirtualHost>

Reloadez votre configuration Apache ensuite.

3.3 Bugzilla

Nous allons devoir lancer une première fois l'outil de check, pour qu'il nous créer notre fichier de configuration :

Command checksetup.pl
./checksetup.pl

Maintenant, paramétrez vos variables dans le fichier de configuration pour que ça corresponde avec les informations de votre base et serveur web :

Configuration File /var/www/bugzilla/localconfig
[...]
$webservergroup = 'www-data';
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = 'bugs';
[...]

Je vous laisse adapter avec vos informations.

Ensuite, relancez l'outil de configuration, qui vous créera tout ce dont vous avez besoin pour votre base de données :

Command checksetup.pl
> ./checksetup.pl
Adding new table bz_schema...
Initializing bz_schema...
Creating tables...
Converting attach_data maximum size to 100G...
Setting up choices for standard drop-down fields:
   priority bug_status rep_platform resolution bug_severity op_sys
Creating ./data directory...
Creating ./data/attachments directory...
Creating ./data/db directory...
Creating ./data/extensions directory...
Creating ./data/mining directory...
[...]
Enter the e-mail address of the administrator: deimos@deimos.fr
Enter the real name of the administrator: Deimos
Enter a password for the administrator account: 
Please retype the password to verify: 
deimos@deimos.fr is now set up as an administrator.

Il doit vous avoir maintenant demandé et validé les informations d'Administration (login + mot de passe).

3.3.1 Crontab

Nous allons également créer une crontab qui va nous exécuter tout un tas de scripts pour les graphs et le whining :

Configuration File /etc/cron.daily/bugzilla
#!/bin/sh
5 0 * * * cd /var/www/bugzilla && ./collectstats.pl
55 0 * * * cd /var/www/bugzilla && ./whineatnews.pl
*/15 * * * * cd /var/www/bugzilla && ./whine.pl

Ajoutez y les droits et redémarrez le service cron :

Command
chmod 755 /etc/cron.daily/bugzilla
service cron restart

3.4 Ajouter un administrateur

Si vous souhaitez rajouter un Admin, c'est simple, il suffit qu'un compte existe déjà sur Bugzilla, puis :

Command checksetup.pl
> ./checksetup.pl --make-admin=deimos@deimos.fr
[...]
Removing existing compiled templates...
Precompiling templates...done.
Fixing file permissions...
 
deimos@deimos.fr is now set up as an administrator.
 
Now that you have installed Bugzilla, you should visit the 'Parameters'
page (linked in the footer of the Administrator account) to ensure it
is set up as you wish - this includes setting the 'urlbase' option to
the correct URL.

Adaptez cette commande avec l'adresse email de l'utilisateur que vous voulez passer Admin. Après celà, ni ne vous reste plus qu'à vous y connecter : http://monserveur/bugzilla :-)

4 References

  1. ^ http://fr.wikipedia.org/wiki/Bugzilla