Le livre de Bugzilla — version 2.18

Version française du livre The Bugzilla Guide (2005-01-14)

L'équipe Bugzilla

Adaptation française: Zahir Abdelouhab, Laurent Damour, Mathieu Vinel

Adaptation française de la version 2.16.4: Romain Conseil, Guillaume Huray, Mickaël Lagneaux, Guillaume Tanguy

Relecture: Yvon Benoist, Isabelle Hurbain, Emmanuel Seyman

Relecture de la version 2.16.4: Yvon Benoist, Guillaume Lelarge

Préparation de la publication de la v.f.: Jean-Philippe Guérard

Version : 2.18.fr.1.0

9 novembre 2005

Historique des versions
Version 2.18.fr.1.02005-08-25ZA, LD, MV, YB, IH, ES, JPG
Mise à jour de l'adaptation française par une équipe d'élèves-ingénieurs en 4e et 5e année (Architecture des Systèmes d'Information) de l'INSA de Rouen.
Version 2.182005-01-14ÉB
Version 2.16.4.fr.1.02004-08-25RC, GH, ML, GT, YB, GL, JPG
Première adaptation française par une équipe d'élèves-ingénieurs en 4e et 5e année (Architecture des Systèmes d'Information) de l'INSA de Rouen.
Version 2.16.42003-11-01MPB, ÉB

Résumé

Ce livre est la documentation de Bugzilla, le système de suivi de bogues de mozilla.org. Bugzilla est un logiciel de qualité professionnelle qui permet à des centaines d'organismes dans le monde de suivre des millions d'anomalies.

La version la plus récente de ce livre est toujours disponible sur la page du livre Bugzilla.


Table des matières

1. À propos de ce guide
1. Droits d'utilisation (Copyright Information)
2. Avertissement (Disclaimer)
3. Nouvelles versions
4. Remerciements
5. Conventions de ce document
2. Installer Bugzilla
1. Installation
1.1. Perl
1.2. MySQL
1.3. Serveur Web
1.4. Bugzilla
1.5. Modules Perl
1.6. Mail Transfer Agent (MTA)
2. Configuration
2.1. localconfig
2.2. MySQL
2.3. checksetup.pl
2.4. Web server
2.5. Bugzilla
3. Configuration supplémentaire facultative
3.1. Les graphiques de bogues
3.2. Diagrammes de dépendance
3.3. Le planificateur de pleurnicherie
3.4. Patch Viewer
3.5. Authentification LDAP
3.6. Traitement des formats différents avec le type de MIME adéquat
4. Notes d'installation sur un SE particulier
4.1. Microsoft Windows
4.2. Mac OS X
4.3. Linux-Mandrake 8.0
5. Notes d'installation sous UNIX (non administrateur)
5.1. Introduction
5.2. MySQL
5.3. Perl
5.4. Les modules Perl
5.5. Serveur HTTP
5.6. Bugzilla
3. Administrer Bugzilla
1. Configuration de Bugzilla
2. Administration des utilisateurs
2.1. Créer l'utilisateur par défaut
2.2. Gérer les autres utilisateurs
3. Produits
4. Composants
5. Versions
6. Cibles Jalon
7. Fanions
7.1. Exemple simple
7.2. À propos des fanions
7.3. Utilisation des requêtes par fanions
7.4. Deux types de fanions
7.5. Administration des fanions
8. Le vote
9. Les mots d'esprit
10. Groupes et sécurité des groupes
10.1. Création des groupes
10.2. Affecter des utilisateurs aux groupes
10.3. Affecter les commandes de groupe aux produits
10.4. Applications courantes des commandes de groupe
11. Mise à niveau aux nouvelles versions
4. Sécurité de Bugzilla
1. Le système d'exploitation
1.1. Ports TCP/IP
1.2. Comptes utilisateur du système
1.3. Environnement d'exécution fermé
2. MySQL
2.1. Les comptes Système MySQL
2.2. Le super utilisateur et l'utilisateur anonyme de MySQL
2.3. Accès au réseau
3. Serveur Web
3.1. Désactivation des accès à distance pour les fichiers de configuration Bugzilla
3.2. Utilisation de mod_throttle pour éviter un déni de service
4. Bugzilla
4.1. Empêcher les utilisateurs d'introduire du Javascript malveillant
5. Personnalisation de Bugzilla
1. Personnalisation des modèles
1.1. Structure du répertoire de modèles
1.2. Choix d'une méthode de personnalisation
1.3. Méthode d'édition de modèles
1.4. Formats et type des modèles
1.5. Modèles particuliers
1.6. Configurer Bugzilla pour détecter la langue de l'utilisateur
2. Crochets de modèles
3. Personnalisation : Qui peut faire quoi ?
4. Modifier votre système en fonctionnement
5. Introduction à la base de données MySQL de Bugzilla
5.1. Les fondamentaux de la base de données de Bugzilla
6. Intégrer Bugzilla avec des outils tiers
6.1. Bonsai
6.2. CVS
6.3. Perforce SCM
6.4. Subversion
6.5. Tinderbox/Tinderbox2
6. L'utilisation de Bugzilla
1. Introduction
2. Créez un compte Bugzilla
3. Anatomie d'un bogue
4. Cycle de vie d'un bogue de Bugzilla
5. Recherche de bogues
6. Listes de Bogues
7. Établissement d'un rapport de bogue
8. Visualisateur de correctifs
8.1. Consultation des correctifs dans Patch Viewer
8.2. Voir la différence entre deux correctifs
8.3. Obtenir plus de contexte dans un correctif
8.4. Réduction et déploiement des sections d'un correctif
8.5. Établir un lien vers une section d'un correctif
8.6. Se rendre sur Bonzai et LXR
8.7. Créer un diff unifié
9. Trucs et astuces
9.1. Création automatique de liens
9.2. Quicksearch
9.3. Commentaires
9.4. Pièces jointes
10. Préférences utilisateurs
10.1. Configuration du compte
10.2. Paramètres des courriels
10.3. Permissions
11. Rapports et diagrammes
11.1. Rapports
11.2. Les diagrammes
12. Fanions
A. La foire aux questions de Bugzilla
B. Résolution des problèmes
1. Conseils généraux
2. Le serveur Web Apache ne m'ouvre pas les pages de Bugzilla
3. J'ai installé un module Perl mais checksetup.pl affirme qu'il n'est pas installé !
4. Bundle::Bugzilla met à niveau Perl à la version 5.6.1
5. « La préparation de DBD::Sponge::db a échoué » [DBD::Sponge::db prepare failed]
6. « Impossible d'exécuter chdir... » [cannot chdir(/var/spool/mqueue)]
7. « Votre fournisseur n'a pas défini... » [Your vendor has not defined Fcntl macro O_NOINHERIT]
8. On est constamment obligés de se reconnecter
9. Certains utilisateurs sont constamment obligés de se reconnecter
10. index.cgi ne s'affiche pas à moins qu'il ne soit spécifié dans l'URL
C. Contrib
1. L'interface de recherche en ligne de commande
2. L'outil « envoi de courriel de bogue non-envoyé » en ligne de commande
D. Installation manuelle des modules Perl
1. Instructions
2. Sites de téléchargement
3. Modules optionnels
E. GNU Free Documentation License
0. Preamble
1. Applicability and Definition
2. Verbatim Copying
3. Copying in Quantity
4. Modifications
5. Combining Documents
6. Collections of Documents
7. Aggregation with Independent Works
8. Translation
9. Termination
10. Future Revisions of this License
How to use this License for your documents
Glossaire

Liste des illustrations

6.1. Cycle de vie d'un bogue de Bugzilla

Liste des exemples

3.1. Mise à niveau par le CVS
3.2. Mettre à niveau avec le tarball
3.3. Mise à niveau avec les correctifs
4.1. Affecter un mot de passe à l'utilisateur « root » de MySQL
4.2. Désactiver l'utilisateur « anonymous » de MySQL
4.3. Désactiver la gestion du réseau dans MySQL
4.4. Obliger Bugzilla à indiquer le codage utilisé (charset)
B.1. Exemples de paires urlbase/cookiepath pour le partage des cookies d'ouverture de session
B.2. Exemples de paires urlbase/cookiepath pour la restriction du cookie d'ouverture de session

Chapitre 1. À propos de ce guide

1.  Droits d'utilisation (Copyright Information)

Les droits d'utilisation de ce document © 2000-2005 appartiennent aux différents contributeurs Bugzilla qui y ont participé.

This document is copyright © 2000-2005 by the various Bugzilla contributors who wrote it.

Copyright © 2004-2005 Romain Conseil, Guillaume Huray, Mickaël Lagneaux, Guillaume Tanguy, Zahir Abdelouhab, Laurent Damour, Mathieu Vinel, Yvon Benoist, Isabelle Hurbain, Emmanuel Seyman, Guillaume Lelarge et Jean-Philippe Guérard pour la version française.

Permission vous est donnée de copier, distribuer et modifier ce document selon les termes de licence de documentation libre GNU, en version 1.1 ou toute version ultérieure publiée par la Free Software Foundation : sans section invariante, sans texte de première ou de quatrième de couverture. Une copie de la licence est incluse dans l'Annexe E, GNU Free Documentation License.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in Annexe E, GNU Free Documentation License.

Si vous avez des questions concernant ce document, ses droits d'utilisation ou sur la publication de ce document sous une forme non électronique, veuillez contacter l'équipe Bugzilla (N.D.T. : en anglais, SVP).

If you have any questions regarding this document, its copyright, or publishing this document in non-electronic form, please contact the Bugzilla Team.

2.  Avertissement (Disclaimer)

Nous déclinons toute responsabilité quant au contenu de ce document. Vous utilisez les concepts, exemples et autres contenus du présent document à vos risques et périls. Ce document peut contenir des erreurs et des inexactitudes qui pourraient endommager votre système, provoquer une rupture dans votre couple, pousser votre patron à vous licencier, vos chats à faire pipi sur vos meubles et vêtements, voire déclencher une guerre thermonucléaire mondiale. Agissez avec prudence.

No liability for the contents of this document can be accepted. Follow the instructions herein at your own risk. This document may contain errors and inaccuracies that may damage your system, cause your partner to leave you, your boss to fire you, your cats to pee on your furniture and clothing, and global thermonuclear war. Proceed with caution.

Le fait de mentionner des marques ou des produits spécifiques ne constitue pas une recommandation, excepté pour ce qui est du terme « GNU/Linux ». Nous approuvons sans réserve l'utilisation de GNU/Linux. C'est un système d'exploitation extrêmement polyvalent, stable et robuste qui offre un environnement idéal de fonctionnement pour Bugzilla.

Naming of particular products or brands should not be seen as endorsements, with the exception of the term "GNU/Linux". We wholeheartedly endorse the use of GNU/Linux; it is an extremely versatile, stable, and robust operating system that offers an ideal operating environment for Bugzilla.

Bien que l'équipe de développement Bugzilla ait pris grand soin de corriger tous les bogues exploitables, il est bien évident que tout code contient des failles de sécurité. Le plus grand soin devra être pris quant à l'installation et l'utilisation de ce logiciel. Les membres de l'équipe de développement Bugzilla n'assumeront aucune responsabilité quant à l'usage que vous ferez de ce produit. Vous disposez du code source ; vous êtes responsable de le vérifier vous-même afin de vous assurer qu'il répond bien à vos critères en termes de sécurité.

Although the Bugzilla development team has taken great care to ensure that all exploitable bugs have been fixed, security holes surely exist in any piece of code. Great care should be taken both in the installation and usage of this software. The Bugzilla development team members assume no liability for your use of Bugzilla. You have the source code, and are responsible for auditing it yourself to ensure your security needs are met.

3. Nouvelles versions

Ceci est la version 2.18 du Guide Bugzilla. Elle est ainsi numérotée pour correspondre à la version de Bugzilla avec laquelle elle est distribuée.

La dernière version de ce guide est toujours disponible à http://www.bugzilla.org, on peut aussi passer par le serveur CVS en suivant les instructions disponibles sur la page CVS de Mozilla et en sortant l'arborescence mozilla/webtools/bugzilla/docs/. Cependant, il est conseillé de lire la version correspondante à celle de Bugzilla que vous employez.

Le guide Bugzilla, ou une partie de celui-ci, est aussi disponible dans les langues suivantes : Allemand. Français.

De plus, il y a des projets d'adaptation linguistique de modèles de Bugzilla dans les langues suivantes. La documentation disponible a peut-être été traduite : Biélorusse, Portugais Brésilien, Chinois, Français, Allemand, Coréen, Russe et Espagnol.

Si vous voulez vous porter volontaire pour traduire ce guide dans d'autres langues, veuillez entrer en contact avec Dave Miller.

4. Remerciements

Les personnes énumérées ci-dessous ont apporté d'énormes contributions à la création de ce guide, par leurs écrits, leur total investissement, de nombreuses séances d'aide par courriels ou IRC, et d'une façon générale leur engagement remarquable envers la communauté de Bugzilla :

Matthew P. Barnson

pour la tâche herculéenne qui a consisté à rassembler le guide Bugzilla et à le produire en version 2.14.

Terry Weissman

pour avoir été le premier à écrire Bugzilla et créer le README sur lequel la documentation d'installation UNIX est basée en grande partie.

Tara Hernandez

pour avoir maintenu le développement de Bugzilla à un rythme soutenu après le départ de Terry de mozilla.org et pour s'occuper de landfill.

Dave Lawrence

pour avoir fourni un aperçu des principales différences avec le Bugzilla personnalisé de Red Hat.

Dawn Endico

pour être un extraordinaire mordu d'informatique et avoir supporté les incessantes questions et pinaillages de Matthew sur irc.mozilla.org dans le canal #mozwebtools

Jacob Steenhagen

pour avoir pris la relève pendant la période de développement de la version 2.17.

Dave Miller

pour la prise en charge de la direction du projet quand Tara s'est retiré et pour les efforts incessants fournis pour que la documentation soit aussi bonne que possible.

Nos remerciements vont également aux personnes suivantes pour leurs contributions significatives à cette documentation : Kevin Brannen, Vlad Dascalu, Ben FrantzDale, Eric Hanson, Zach Lipton, Gervase Markham, Andrew Pearson, Joe Robins, Spencer Smith, Ron Teitelbaum, Shane Travis, Martin Wulffeld.

Il faut également remercier les membres du groupe de nouvelles de netscape.public.mozilla.webtools. Sans vos discussions, perspicacité, suggestions, et correctifs, ceci n'aurait jamais pu exister.

5. Conventions de ce document

Ce document utilise les conventions suivantes :

DescriptionsReprésentation
Attention
[Attention]Attention

Ne courez pas avec des ciseaux !

Conseil
[Astuce]Astuce

Voulez-vous un bonbon à la menthe ?

Note
[Note]Note

Cher Jean...

Information demandant une attention spéciale
[Avertissement]Avertissement

Lisez ceci sinon le chat va l'attraper.

Nom de fichier ou de répertoire fichier
Commande à taper commande
Nom d'application application
Invite de commande d'un utilisateur normal sous l'interpréteur de commandes bashbash$
Invite de commande super utilisateur sous l'interpréteur de commandes bashbash#
Invite de commande d'un utilisateur normal sous l'interpréteur de commandes tcshtcsh$
Variables d'environnement VARIABLE
Terme trouvé dans le glossaire Bugzilla
Exemple de code
<para>
Début et fin de paragraphe
</para>

Cette documentation est maintenue au format DocBook 4.1.2 XML. Il est préférable de soumettre les changements en texte clair ou en XML diff, joints à un bogue référencé dans le composant Bugzilla Documentation.

Chapitre 2. Installer Bugzilla

1. Installation

[Note]Note

Si vous voulez juste utiliser Bugzilla, vous n'avez pas besoin de l'installer. Ce chapitre ne vous concerne pas. Demandez l'URL à votre administrateur de Bugzilla pour y accéder sur le web.

Le serveur Bugzilla est généralement installé sur Linux ou Solaris. Si vous êtes en train d'installer un autre système d'exploitation, consultez Section 4, « Notes d'installation sur un SE particulier » la section 2.4 avant de commencer votre installation pour voir si il n'y a pas d'instructions particulières.

Comme alternative pour suivre ces instructions, vous pouvez essayer l'installation non officielle et non supportée de Arne Schimarcher, qui installe Bugzilla et tout le nécessaire sur des systèmes Linux ou Solaris.

Dans ce guide, on considère que vous avez un accès administratif à la machine de Bugzilla. Il n'est pas possible d'installer et d'exécuter Bugzilla tout seul sans accès administratif sauf dans le cas très peu probable où chaque élément obligatoire a déjà été installé.

[Avertissement]Avertissement

L'installation peut rendre votre machine vulnérable pendant de courtes périodes de temps. Assurez vous qu'il y a un coupe-feu entre vous et Internet.

Il vous est fortement recommandé de faire une sauvegarde de votre système avant d'installer Bugzilla (et à des intervalles réguliers par la suite :-)

Dans les grandes lignes, l'installation procède comme suit :

  1. Installation de Perl (5.6.0 ou au dessus pour les plates-formes autres que Windows; 5.8.1 pour Windows)

  2. Installation de MySQL (3.23.41 ou au dessus)

  3. Installation de un serveur Web

  4. Installation de Bugzilla

  5. Installation des modules de Perl

  6. Installation d'un Agent de Transfert de Mail (Sendmail 8.7 ou au dessus, ou un ATM qui est compatible avec Sendmail avec au moins cette version)

  7. Configuration de tout ce qui précède.

1.1. Perl

Test de la version installée : perl -v

Toute machine qui ne possède pas Perl est une machine bien malheureuse. Si vous ne l'avez pas et que votre système d'exploitation ne fournit pas de paquetages officiels, allez sur http://www.perl.com. Bien que Bugzilla fonctionne avec Perl 5.6.0, c'est une bonne idée d'utiliser la dernière version stable. Au moment où ces lignes sont écrites, c'est Perl 5.8.3.

1.2. MySQL

Test de la version installée : mysql -V

Si vous ne l'avez pas et que votre système d'exploitation ne fournit pas de paquetages officiels, allez sur http://www.mysql.com. Vous avez besoin de MySQL version 3.23.41 ou supérieure.

[Note]Note

De nombreuses versions binaires de MySQL stockent leurs fichiers de données dans le répertoire /var. Sur certains systèmes UNIX, ce répertoire se trouve dans la partition principale (root). Si celle-ci est trop petite, il peut ne pas y avoir assez de place pour contenir la base de données des bogues. Pour changer le répertoire de données, vous devez compiler MySQL vous-même à partir des sources, et le mettre comme option à configure.

Si vous installez à partir d'autre chose qu'un packaging/installation du système, comme un .rpm (Paquetage Redhat), .deb (Paquetage Debian), .exe (Executable Windows) ou .msi (Installateur Microsoft), assurez vous que le serveur MySQL soit lancé au démarrage de la machine.

1.3. Serveur Web

Test de la version installée : regardez la page de bienvenue par défaut à http://<votre-machine>/

Là, vous avez le choix, à peu près tous les serveurs web capables de faire fonctionner les scripts CGI conviennent. Cependant, nous recommandons fortement d'utiliser le serveur web Apache (soit 1.3.x ou 2.x), et les instructions d'installation supposent généralement que vous l'employez. Si vous avez Bugzilla qui fonctionne en utilisant un autre serveur web, n'hésitez pas à partager votre expérience avec nous en utilisant la procédure de soumission de bogues dans Bugzilla Documentation.

Si vous n'avez pas Apache et que votre système d'exploitation ne fournit pas de paquetage officiel, allez sur http://httpd.apache.org/.

1.4. Bugzilla

Téléchargez une archive tar Bugzilla (ou jetez un œil sur CVS) et placez la dans un répertoire approprié, accessible par l'utilisateur du serveur web par défaut (probablement « apache » ou « www »). Le mieux est de la mettre soit directement dans l'espace web principal de votre ou peut être dans /usr/local avec un lien symbolique provenant de l'espace web.

[Attention]Attention

La distribution Bugzilla par défaut n'est PAS conçue pour être placée dans un répertoire cgi-bin. Ceci est valable pour chaque répertoire configuré à l'aide de l'instruction du ScriptAlias d'Apache.

Une fois que tous les fichiers sont dans un répertoire accessible du web, faites en sorte que le répertoire soit accessible en écriture pour votre utilisateur du serveur web. Il s'agit là d une étape provisoire en attendant de lancer le script checksetup.pl, ce qui terminera votre installation.

1.5. Modules Perl

Le processus d'installation de Bugzilla s'appuie sur un script nommé checksetup.pl. vérifie en premier lieu si vous avez les bonnes versions de tous les modules Perl obligatoires. Cette section a pour but de mener à bien cette vérification. Lorsque que c'est le cas, ne l'exécutez pas à nouveau, mais passez à Section 2, « Configuration ».

À ce stade, vous devez vous identifier comme administrateur (vous connecter en tant que root). Il vous faudra poursuivre la totalité de l'installation comme administrateur. Ensuite exécutez :

bash# ./checksetup.pl

checksetup.pl va imprimer une liste de modules de Perl obligatoires et optionnels, en même temps que les versions (si il y en a) installés sur votre machine. La liste des modules obligatoires est relativement longue; cependant, vous pouvez déjà en avoir plusieurs d'installés.

Il y a un méta-module nommé Bundle::Bugzilla, qui installe tous les autres modules avec une simple commande. Vous devriez l'utiliser si vous installez Perl 5.6.1 ou une version au dessus.

Le mode préféré pour installer des modules de Perl est via CPAN sur UNIX, ou PPM sur Windows (voir Section 4.1.2, « Perl Modules on Win32 »). Ces instructions supposent que vous utilisez CPAN ; si pour une raison ou une autre vous devez installer les modules de Perl manuellement, consultez Annexe D, Installation manuelle des modules Perl.

bash# perl -MCPAN -e 'install "<modulename>"'

Si vous utilisez Bundle::Bugzilla, invoquez la commande magique CPAN. Sinon, vous devez parcourir la liste des modules que checksetup.pl dit être obligatoires, dans l'ordre donné, en invoquant la commande pour chacun d'eux.

[Astuce]Astuce

Beaucoup d'utilisateurs se plaignent que les modules Perl ne s'installent pas chez eux. La plupart du temps, les messages d'erreur indiquent ne pas trouver un fichier dans « @INC ». À chaque fois ou presque, cette erreur se déclare soit parce que vous n'avez pas les droits suffisants pour compiler les modules Perl, soit parce que les bibliothèques de développement de Perl nécessaires ne sont pas installées sur votre système. Demandez à votre administrateur UNIX de vous accorder les droits d'accès suffisants. Si vous êtes l'administrateur UNIX, veuillez consulter le forum ou la liste de diffusion pour une aide plus poussée, ou faites appel à quelqu'un pour vous aider.

Voici une liste complète de modules et de leur version minimum. Quelques modules ont des notes d'installation spéciales; celles-ci sont indiquées juste après.

Modules Perl obligatoires :

  1. AppConfig (1.52)

  2. CGI (2.93)

  3. Data::Dumper (n'importe)

  4. Date::Format (2.21)

  5. DBI (1.36)

  6. DBD::mysql (2.1010)

  7. File::Spec (0.82)

  8. File::Temp (n'importe)

  9. Template (2.08)

  10. Text::Wrap (2001.0131)

Modules Perl facultatifs :
  1. GD (1.20) pour les graphiques de bogues

  2. Chart::Base (1.0) pour les graphiques de bogues

  3. GD::Graph (n'importe) pour les graphiques de bogues

  4. GD::Text::Align (n'importe) pour les graphiques de bogues

  5. XML::Parser (n'importe) pour l'interface XML

  6. PatchReader (0.9.4) pour une jolie vue en HTML des correctifs

  7. MIME::Parser (n'importe) pour l'interface facultative par courrier électronique

1.5.1. DBD::mysql

Au cours du processus d'installation, il vous sera posé quelques questions sur la cible que vous souhaitez pour la compilation et votre installation MySQL. Pour la plupart des questions, la réponse par défaut sera suffisante, mais quand le processus vous demandera si la cible souhaitée est le paquet MySQL ou mSQL, vous devrez choisir celle liée à MySQL. Plus tard, le programme vous demandera si vous voulez conserver une compatibilité inverse avec les paquets MySQL plus anciens. Vous devez répondre OUI alors que la réponse par défaut est NON.

Une machine hôte « localhost » sera suffisante. Un utilisateur de tests « test », avec un mot de passe vide, doit avoir les droits d'accès suffisants pour faire des essais sur la base de données de tests « test » que MySQL génère à l'installation.

1.5.2. Template Toolkit (2.08)

Lors de l'installation de Template Toolkit, une série de questions vous sera posée à propos des fonctionnalités à activer. Les options par défaut conviennent bien, à part qu'il est recommandé d'utiliser le très rapide « XS Stash » du Template Toolkit, pour réaliser de meilleures performances.

1.5.3. GD (1.20)

Le module GD n'est nécessaire que si vous voulez des rapports graphiques.

[Note]Note

Le module Perl GD nécessite d'autres bibliothèques qui peuvent ou non être installées sur votre système, telles que libpng et libgd. La liste complète des bibliothèques nécessaires se trouve dans le fichier README du module Perl GD. Si la compilation de GD échoue, c'est probablement parce qu'il manque une des bibliothèques demandées.

[Astuce]Astuce

La version du module GD dont vous avez besoin est très étroitement liée à la version de libgd installée sur votre système. Si vous avez une version 1.x de libgd, les versions 2.x du module GD ne fonctionneront pas chez vous.

1.5.4. Chart::Base (1.0)

Le module Chart::Base n'est nécessaire que si vous voulez des rapports graphiques. Notez que les versions antérieures à 0.99c utilisaient les GIF, mais ils ne sont plus supportés par les dernières versions de GD.

1.5.5. GD::Graph (n'importe)

Le module GD::Graph n'est nécessaire que si vous voulez des rapports graphiques.

1.5.6. GD::Text::Align (n'importe)

Le module GD::Text::Align n'est nécessaire que si vous voulez des rapports graphiques.

1.5.7. XML::Parser (n'importe)

Le module XML::Parser n'est nécessaire que si vous souhaitez importer les bogues XML en utilisant le script importxml.pl. Ceci est nécessaire pour utiliser la fonctionnalité « changement d'état d'un bogue » [« move bugs »] de Bugzilla ; vous aurez peut-être également besoin de l'utiliser pour un déplacement en provenance d'une autre base de données de bogues. XML::Parser a besoin que la bibliothèque expat soit déjà installée sur votre machine.

1.5.8. MIME::Parser (n'importe)

Le module MIME::Parser est nécessaire seulement si vous voulez utiliser l'interface de messagerie électronique située dans le répertoire contrib.

1.5.9. PatchReader (0.9.4)

Le module PatchReader est nécessaire seulement si vous voulez utiliser le « Patch Viewer », fonctionnalité de Bugzilla qui permet de montrer des correctifs de code dans votre navigateur WEB sous une forme plus lisible.

1.6. Mail Transfer Agent (MTA)

Bugzilla s'appuie sur la possibilité d'accès à un système de messagerie électronique pour son authentification utilisateur et pour d'autres tâches.

Sous Linux, tout MTA compatible avec Sendmail suffira. Sendmail, Postfix, qmail et Exim font partie des MTA courants. Sendmail est le MTA d'origine d'UNIX, mais les autres sont plus faciles à configurer, ce qui fait que beaucoup de personnes remplacent Sendmail par Postfix ou Exim. Le remplacement se fait sous forme d'échange standard, si bien que Bugzilla ne fera pas la différence entre eux.

Si vous utilisez Sendmail, la version 8.7 ou supérieure est nécessaire. Si vous utilisez un MTA compatible avec Sendmail, il doit être conforme au minimum à la version 8.7 de Sendmail.

Consultez les instructions d'installation détaillées dans le manuel correspondant au MTA que vous choisissez. Chacun de ces programmes aura son propre fichier de configuration où vous devrez configurer certains paramètres pour vous assurez que le message électronique est transmis correctement. Ils sont exécutés comme utilitaires, et vous devez vous assurer que le MTA est dans la liste de démarrage automatique des utilitaires de la machine.

Si un simple message électronique envoyé avec la ligne de commande mail fonctionne, alors Bugzilla devrait également être opérationnel.

2. Configuration

[Avertissement]Avertissement

Les installations de MySQL et Bugzilla dont la configuration était médiocre ont permis à des pirates informatiques de s'introduire dans des systèmes par le passé. Veuillez prendre au sérieux les parties de ces instructions qui portent sur la sécurité, même pour les machines Bugzilla bien cachées derrière un coupe-feu. N'oubliez surtout pas de lire les conseils de sécurité importants donnés dans le Chapitre 4, Sécurité de Bugzilla.

2.1. localconfig

Dès que vous exécutez checksetup.pl avec tous les bons modules installés, il affiche un message concernant un fichier nommé localconfig qu'il crée. Ce fichier contient les réglages par défaut pour un certain nombre de paramètres de Bugzilla.

Chargez ce fichier dans votre éditeur. La seule valeur que vous devez changer est $db_pass, mot de passe utilisateur que vous allez créer pour votre base de données. Tapez à cet endroit le mot de passe adéquate (pour simplifier, il ne devrait pas contenir le caractère « guillemet unique ») que vous avez choisi.

Les commentaires fournis dans le fichier localconfig donnent des informations sur les autres options. Si vous avez une installation de MySQL légèrement non standard, vous aurez la possibilité de changer un ou plusieurs des autres paramètres « $db_* ».

Si vous le souhaitez, vous pouvez changer le nom des priorités, les niveaux de gravité, les systèmes d'exploitation et les plates-formes pour votre installation. Cependant, vous pouvez toujours changer tout ça après que l'installation soit finie ; si vous re-exécutez checksetup.pl, les changements seront mis à jour.

2.2. MySQL

[Attention]Attention

La configuration par défaut de MySQL est très vulnérable. Section 2, « MySQL » donne des informations utiles pour améliorer la sécurité de votre installation.

2.2.1. Autoriser les fichiers joints volumineux

Par défaut, MySQL acceptera seulement les paquets ayants une taille maximum de 64 ko. Si vous voulez avoir des fichiers joints plus gros que ça, vous devez modifier votre /etc/my.cnf comme indiqué ci-dessous.

Si vous utilisez MySQL 4.0 ou plus récente, entrez :

[mysqld]
# Allow packets up to 1M
max_allowed_packet=1M

Si vous utilisez une version plus vieille de MySQL, entrez :

[mysqld]
# Allow packets up to 1M
set-variable = max_allowed_packet=1M

Il y a aussi un paramètre dans Bugzilla appelé 'maxattachmentsize' (par défaut = 1000 ko) qui contrôle la taille maximum autorisable des pièces jointes. Les pièces jointes plus volumineuses que l'une des deux valeurs 'max_allowed_packet' ou 'maxattachmentsize' ne seront pas acceptées par Bugzilla.

2.2.2. Autoriser les mots courts dans les index en texte intégral

Par défaut, les mots doivent avoir une longueur d'au moins quatre caractères pour être indexés dans les index en texte intégral de Bugzilla. En conséquence beaucoup de mots spécifiques à Bugzilla ne sont pas pris en compte, parmi lesquels « cc », « ftp » et « uri ».

MySQL peut être configuré pour indexer ces mots en réglant le paramètre ft_min_word_len à la taille minimum des mots à indexer. Ceci peut être fait en modifiant le /etc/my.cnf selon l'exemple ci-dessous :

[mysqld]
# Allow small words in full-text indexes
ft_min_word_len=2

La reconstruction des index peut être faite en s'appuyant sur la documentation trouvée à http://www.mysql.com/doc/en/Fulltext_Fine-tuning.html. (N.D.T. : la version française se trouve à http://www.mysql.com/doc/fr/Fulltext_Fine-tuning.html).

[Note]Note

Le paramètre Ft_min_word_len est supporté seulement dans MySQL v4 ou supérieure.

2.2.3. Permettre à la table des fichiers joints de passer à une taille supérieure à 4 Go

Par défaut, MySQL limitera la taille de la table à 4 Go. Cette limite existe même si le système de fichiers sous-jacent n'a pas une telle limite. Pour fixer une limite plus haute, suivez les instructions suivantes.

Exécutez le client en ligne de commande MySQL et entrez :

mysql> ALTER TABLE attachments AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;

La commande ci-dessus fera passer à 20 Go. Mysql devra faire une copie temporaire de l'intégralité de votre table pour cela. Idéalement, vous devriez faire ça quand la table est encore petite.

2.2.4. Ajouter un utilisateur à MySQL

Vous devez ajouter un nouvel utilisateur que Bugzilla puisse utiliser. (Il n'est pas prudent que Bugzilla utilise le compte root de MySQL.) Les instructions suivantes supposent que les paramètres par défaut sont dans localconfig; si vous changez ces derniers, vous devez changer la commande MySQL de façon appropriée. Vous aurez besoin du mot de passe $db_pass vous avez mis dans localconfig dans Section 2.1, « localconfig ».

Nous utilisons la commande SQL GRANT pour créer un utilisateur « bugs ». Cela restreint également les opérations de l'utilisateur « bugs » à celles agissant sur la base de données « bugs » et n'autorise le compte à se connecter que depuis « localhost ». Modifiez cela en fonction de votre configuration si vous devez vous connecter plus tard depuis une autre machine ou sous un autre utilisateur.

Exécutez le client en ligne de commande mysql.

Si vous utilisez MySQL 4.0 ou plus récent, entrez :

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

Si vous utilisez une version plus ancienne de MySQL, les permissions de LOCK TABLES et CREATE TEMPORARY TABLES seront indisponibles et doivent être supprimées de la liste des permissions. Dans ce cas, on peut utiliser la ligne de commande suivante :

  mysql> GRANT SELECT, INSERT,
         UPDATE, DELETE, INDEX, ALTER, CREATE, DROP,
         REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY
         '$db_pass';
  mysql> FLUSH PRIVILEGES;

2.3. checksetup.pl

Ensuite, réexécutez checksetup.pl. Il reconfirme que tous les modules sont présents et fait remarquer que le fichier localconfig a changé, qu'il considère comme ayant été édité à votre satisfaction. Il compile les modèles UI [User Interface templates], se connecte à la base de données en utilisant l'utilisateur « bugs » que vous avez créé et le mot de passe que vous avez défini et il crée la base de données de « bugs » et les tables incluses.

Après cela, il demande des informations sur un compte administrateur. Bugzilla peut avoir plusieurs administrateurs — vous pouvez encore en créer d'autres plus tard — mais il en a besoin d'un pour commencer. Entrez l'adresse de courrier électronique d'un administrateur, son nom complet et un mot de passe Bugzilla approprié.

checksetup.pl a maintenant fini. Vous pouvez réexécuter checksetup.pl quand vous le souhaitez.

2.4. Web server

Configurez votre serveur web selon les instructions données dans la section appropriée. (Si cela peut influencer votre choix, l'équipe de Bugzilla recommande Apache.) Quel que soit le serveur web que vous utilisez, cependant, faites en sorte que les informations sensibles ne soient pas disponibles à distance en appliquant correctement les contrôles d'accès indiqués dans Section 3.1, « Désactivation des accès à distance pour les fichiers de configuration Bugzilla ».

2.4.1. httpd™ d'Apache

Chargez httpd.conf dans votre editeur.

Décommentez (ou ajouter) la ligne suivante. Ceci autorise Apache à exécuter les fichiers .cgi files en dehors du répertoire cgi-bin.

  AddHandler cgi-script .cgi

Apache utilise les directives <Directory> pour peaufiner les droits. Ajoutez les deux lignes suivantes à une directive <Directory> qui s'applique soît au répertoire Bugzilla ou l'un de ses parents (i.e. la directive <Directory /var/www/html>). Ceci autorisent les fichiers .htaccess de Bugzilla à outrepasser les permissions globales. et permet aux fichiers .cgi de tourner dans le répertoire Bugzilla.

Options +ExecCGI +FollowSymLinks
AllowOverride Limit

Ajoutez index.cgi à la fin de la ligne DirectoryIndex.

checksetup.pl peut mettre des permissions plus restreintes sur les fichiers et les répertoires de Bugzilla si il sait en tant que quel groupe le serveur web est exécuté. Trouvez la ligne Group dans httpd.conf et placez la valeur que vous y trouvez dans la variable $webservergroup dans localconfig. Puis réexécutez checksetup.pl.

2.4.2. Internet Information Services™ de Microsoft

Si vous êtes en train d'exécuter Bugzilla sous Windows et que vous choisissez d'utiliser Internet Information Services™ ou Personal Web Server™ de Microsoft, vous devrez exécuter un certain nombre d'autres étapes de configuration comme expliqué ci-dessous. Vous aurez peut-être également besoin de consulter les articles suivants de la base de connaissance de Microsoft : 245225 « HOW TO: Configure and Test a PERL Script with IIS 4.0, 5.0, and 5.1 » (pour Internet Information Services™) (N.D.T. : « HOW TO : configurez et testez un script PERL avec IIS 4.0, 5.0 et 5.1 ») et 231998 « HOW TO: FP2000: How to Use Perl with Microsoft Personal Web Server on Windows 95/98 » (pour Personal Web Server™) (N.D.T. : « HOW TO : FP2000 : Perl utilisation avec serveur Web personnel Microsoft sous Windows 95/98 »).

Vous aurez besoin de créer un répertoire virtuel pour l'installation de Bugzilla. Mettez les fichiers de Bugzilla dans un répertoire dont le nom est différent du répertoire que vous voulez rendre accessible à l'utilisateur final. C'est-à-dire, si vous voulez que vos utilisateurs accèdent à l'installation de Bugzilla par « http://<lenomdevotredomaine>/Bugzilla », ne mettez pas les fichiers de Bugzilla dans un répertoire appelé « Bugzilla ». Mettez les plutôt dans un endroit différent, puis utilisez l'outil d'administration de IIS pour créer un répertoire virtuel appelé « Bugzilla » qui joue le rôle d'alias pour l'emplacement réel des fichiers. En créant ce fichier virtuel, assurez vous que vous avez ajouté les droits d'accès « Execute (comme les applications ISAPI ou CGI) ».

Vous devrez aussi dire à IIS comment s'y prendre avec les fichiers .cgi de Bugzilla. Utilisez de nouveau l'outil d'administration de IIS, ouvrez les propriétés pour le nouveau répertoire virtuel et choisissez l'option de configuration pour accéder aux scripts d'applications [Script Mapping]. Créez une entrée d'application .cgi à l'adresse :

<chemin complet vers perl.exe >\perl.exe -x<chemin complet vers Bugzilla> -wT "%s" %s
        

Par exemple :

c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s
        
[Note]Note

L'installation d'ActiveState peut avoir déjà créé une entrée pour les fichiers .pl qui est limitée à « GET,HEAD,POST ». Si c'est le cas, cette application doit être supprimée car les fichiers .pl de Bugzilla ne sont pas conçus pour être exécutés via un serveur web.

IIS devra également savoir que l'index.cgi doit être traité comme un document par défaut. Sur la page onglets de Documents des propriétés du répertoire virtuel, vous devez ajouter index.cgi comme type de document par défaut. Si vous le voulez, vous pouvez effacer les autres types de document par défaut de ce répertoire virtuel particulier, puisque Bugzilla n'utilise aucun d'eux.

De plus, et on ne le soulignera jamais assez, assurez-vous que les fichiers tels que localconfig et votre répertoire data sont sécurisés comme décrit dans Section 3.1, « Désactivation des accès à distance pour les fichiers de configuration Bugzilla ».

2.4.3. Serveur AOL

Ben FrantzDale que l'utilisation du serveur AOL avec Bugzilla a donné d'excellents résultats. Il a fait part de son expérience et celle-ci nous permet de proposer ce qui suit.

Le serveur AOL devra être configuré pour pouvoir exécuter les scripts CGI, veuillez consulter la documentation qui va avec votre serveur pour plus d'information sur la façon de procéder.

Parce que les serveurs AOL ne supportent pas les fichiers .htaccess, vous devrez créer un script TCL. Vous devrez créer un aolserver/modules/tcl/filter.tcl (le nom du fichier sera sans importance) avec le contenu suivant (remplacez /bugzilla/ par le chemin web de votre instance Bugzilla) :

  ns_register_filter preauth GET /bugzilla/localconfig filter_deny
  ns_register_filter preauth GET /bugzilla/localconfig~ filter_deny
  ns_register_filter preauth GET /bugzilla/\#localconfig\# filter_deny
  ns_register_filter preauth GET /bugzilla/*.pl filter_deny
  ns_register_filter preauth GET /bugzilla/syncshadowdb filter_deny
  ns_register_filter preauth GET /bugzilla/runtests.sh filter_deny
  ns_register_filter preauth GET /bugzilla/data/* filter_deny
  ns_register_filter preauth GET /bugzilla/template/* filter_deny

  proc filter_deny { why } {
      ns_log Notice "filter_deny"
      return "filter_return"
  }
        
[Avertissement]Avertissement

Ceci ne fonctionne probablement pas pour tous les fichiers de sauvegarde d'éditeur possibles alors vous aurez peut-être envie d'ajouter quelques variations supplémentaires de localconfig. Pour plus d'informations, voyez le bogue 186383 ou Bugtraq ID 6501.

[Note]Note

Si vous utilisez le logiciel webdot depuis research.att.com (la configuration par défaut pour le paramètre webdotbase), vous devrez autoriser l'accès à data/webdot/*.dot pour la machine reasearch.att.com.

Si vous utilisez une installation locale de GraphViz, vous devrez autoriser tout le monde à accéder aux *.png, *.gif, *.jpg et *.map dans le répertoire data/webdot.

2.5. Bugzilla

Votre Bugzilla devrait maintenant fonctionner. Allez sur http://<your-bugzilla-server>/ — vous devriez voir la page d'accueil de Bugzilla. Si ce n'est pas le cas, consultez la section Dépannage, Annexe B, Résolution des problèmes.

Identifiez vous avec le compte administrateur que vous avez défini lors de la dernière exécution de checksetup.pl. Vous devriez parcourir les options sur la page « Edit Parameters » (le lien est en bas de page) et voir s'il n'y en pas certaines que vous aimeriez changer. Les options importantes sont documentées dans Section 1, « Configuration de Bugzilla »; vous devrez certainement modifier maintainer et urlbase; vous pouvez aussi modifier cookiepath ou requirelogin.

Cela pourrait être l'occasion de refaire un tour sur le fichier localconfig et de vous assurer que les noms des priorités, degrés de gravité [severities], plate-formes et systèmes d'exploitation sont ceux que vous souhaitez utiliser quand vous commencez à créer un bug. N'oubliez pas de réexécuter checksetup.pl si vous changez ce dernier.

Bugzilla a plusieurs options facultatives qui nécessitent des configurations supplémentaires. Vous pouvez vous documenter à ce sujet dans Section 3, « Configuration supplémentaire facultative ».

3. Configuration supplémentaire facultative

Bugzilla a un nombre important d'options. Cette section décrit comment les configurer ou les activer.

3.1. Les graphiques de bogues

Si vous avez installé les modules Perl nécessaires, vous pouvez commencer à collecter des statistiques pour les superbes graphes Bugzilla.

bash# crontab -e

Ceci devrait afficher le fichier crontab dans votre éditeur. Ajoutez une entrée « cron » comme ceci pour exécuter collectstats.pl tous les jours à minuit 5 :

5 0 * * * cd <your-bugzilla-directory> ; ./collectstats.pl

Deux jours après, vous pourrez visualiser les graphiques de bogues depuis la page de rapport de bogue.

[Note]Note

Windows n'a pas de 'cron', mais il a un planificateur de tâches, qui fournit les mêmes fonctions. Il y a également des outils conçus par des tiers qui peuvent être utilisés pour exécuter cron, tels que nncron.

3.2. Diagrammes de dépendance

Tout comme les arborescences de dépendance en mode texte, Bugzilla permet également des aperçus graphiques, en utilisant un logiciel appelé « dot ». C'est le paramètre webdotbase qui en assure précisément le fonctionnement ; il peut prendre l'une de ces trois valeurs :

  1. Le chemin d'accès complet à la commande 'dot' (qui fait partie de GraphViz) qui va générer les graphiques localement.

  2. Un préfixe URL pointant vers une installation du logiciel webdot qui va générer les graphiques à distance.

  3. Une valeur nulle qui désactive les graphiques de dépendance.

La façon la plus simple de le faire fonctionner est d'installer GraphViz. Dans ce cas, vous devez activer les cartes d'image côté serveur dans Apache. Autrement, vous pouvez installer un serveur webdot ou utiliser le serveur public webdot AT&T. C'est le choix par défaut pour l'option webdotbase mais il est souvent surchargé et lent. Notez que le serveur de AT&T ne fonctionnera pas si Bugzilla n'est accessible que par HARTS. Note du rédacteur : Mais bon sang, qu'est ce que c'est que ce HARTS ? Google ne sait pas...

3.3. Le planificateur de pleurnicherie

Les meilleurs bogues ne sont-ils pas aussi les plus énervants ? Pour vous aider à rendre ces bogues encore plus agaçants, vous pouvez activer le système automatique de plainte de Bugzilla pour vous plaindre des ingénieurs qui laissent leur bogues dans un état NEW ou REOPENED sans faire de triage.

Pour ce faire, ajoutez la commande suivante en tant qu'entrée crontab quotidienne, de la même manière que cela a été fait plus haut pour les diagrammes de bogue. Dans cet exemple, le planificateur s'active à minuit 55 :

55 0 * * * cd <your-bugzilla-directory> ; ./whineatnews.pl
[Note]Note

Windows n'a pas de 'cron', mais il a un planificateur de tâches, qui fournit les mêmes fonctions. Il y a également des outils conçus par des tiers qui peuvent être utilisés pour exécuter cron, tel que nncron.

3.4. Patch Viewer

Patch Viewer est le moteur qui permet l'affichage graphique des correctifs. Vous pouvez l'intégrer avec des copies des outils cvs, lxr et bonsai si vous les avez, en donnant l'emplacement de votre installation de ces outils dans editparams.cgi.

Patch Viewer pourra aussi éventuellement utiliser les utilitaires de ligne de commande cvs, diff et interdiff s'ils existent sur le système. On peut obtenir Interdiff sur http://cyberelk.net/tim/patchutils/. Si ces programmes ne sont pas dans le chemin du système, vous pouvez configurer leurs emplacements dans localconfig.

3.5. Authentification LDAP

L'authentification LDAP est un module pour l'architecture d'authentification de plugin de Bugzilla.

Le schéma d'authentification traditionnel de Bugzilla utilise les adresses de courrier électronique comme identifiant utilisateur primaire et un mot de passe pour identifier l'utilisateur. Tous les endroits de Bugzilla qui traitent les utilisateurs (par exemple pour assigner un bogue) utilisent l'adresse de courrier électronique. L'authentification LDAP se place au dessus de ce schéma au lieu de le remplacer. L'utilisateur se connecte au début avec un nom d'utilisateur et un mot de passe pour l'annuaire LDAP. L'adresse de courrier électronique est récupérée depuis LDAP et l'utilisateur est identifié par le système traditionnel d'une façon cohérente en utilisant son adresse de courrier électronique. Si un compte pour cette adresse de courrier électronique existe déjà dans votre système Bugzilla, il s'y connectera. Si aucun compte pour cette adresse de courrier électronique n'existe, un compte est créé au cours de la connexion. (Dans ce cas, Bugzilla essaie d'utiliser les attributs « displayName » ou « cn » pour déterminer le nom complet de l'utilisateur). Après l'authentification, toutes les tâches liées à cet utilisateur sont gérées par l'adresse de courrier électronique et non par le nom d'utilisateur LDAP. Vous continuez d'assigner des bogues par adresse de courrier électronique, de rechercher des utilisateurs par adresse de courrier électronique, etc.

[Attention]Attention

Du fait que le compte Bugzilla ne se crée qu'à la première connexion d'un utilisateur, un utilisateur qui ne s'est pas encore connecté est inconnu de Bugzilla. Ceci signifie qu'ils ne peuvent pas être utilisés comme propriétaire d'un bogue ou contact QA (que ce soit par défaut ou autrement), ajoutés à une liste cc, ou toute autre opération de ce genre. Une solution de rechange possible est le script bugzilla_ldapsync.rb dans le répertoire contrib. Une autre solution possible est de corriger le bogue 201069.

Paramètres requis pour utiliser l'authentification LDAP :

loginmethod

Ce paramètre doit être fixé à « LDAP » seulement si vous allez utiliser un répertoire LDAP pour l'authentification. Si vous mettez ce paramètre à « LDAP » mais que vous ne réglez pas les autres paramètres de la liste ci-dessous, vous ne pourrez pas vous reconnecter à Bugzilla une fois que vous serez déconnecté. Si cela vous arrive, vous devrez éditer manuellement data/params et mettre loginmethod à « DB ».

LDAPserver

Pour ce paramètre, vous devez indiquer le nom (et le port si vous le souhaitez) de votre serveur LDAP. Si le port n'est pas spécifié, il considère que c'est le port LPDA par défaut 389.

Ex. « ldap.company.com » ou « ldap.company.com:3268 »

LDAPbinddn [Optional]

Certains serveurs LDAP n'autoriseront pas une connexion anonyme à faire une recherche dans le répertoire. Si c'est le cas pour votre configuration, vous devrez régler le paramètre LDAPbinddn au compte de l'utilisateur que Bugzilla devra utiliser à la place de la connexion anonyme.

Ex. « cn=default,cn=user:password »

LDAPBaseDN

Pour le paramètre LDAPBaseDN vous devrez indiquer l'emplacement dans votre arborescence LDAP où vous aimeriez que se fasse la recherche des adresses électroniques. Vos identifiants UID devraient être uniques sous la base DN indiqués ici.

Ex. « ou=People,o=Company »

LDAPuidattribute

Pour le paramètre LDAPuidattribute vous devrez indiquer l'attribut qui contient l'UID unique de vos utilisateurs. La valeur récupérée de cet attribut sera utilisée quand ils essayeront de se connecter en tant qu'utilisateur pour confirmer leur mot de passe.

Ex. « uid »

LDAPmailattribute

Le paramètre LDAPmailattribute doit être le nom de l'attribut qui contient l'adresse électronique que vos utilisateurs entreront dans les cases d'identification de Bugzilla.

Ex. « mail »

3.6. Traitement des formats différents avec le type de MIME adéquat

Certaines pages de Bugzilla ont des formats différents, autres que le HTML ordinaire. En particulier, quelques pages peuvent produire leur contenu soit en XUL (un format spécial de Bugzilla, qui ressemble à un programme GUI) soit en RDF (un genre d'XML structuré qui peut être lu par de nombreux programmes).

Pour que vos utilisateurs voient ces pages correctement, Apache doit les envoyer avec le type MIME adéquat. Pour ce faire, ajoutez les lignes suivantes à la configuration d'Apache, soit dans la section <VirtualHost> pour votre Bugzilla, soit dans la section <Directory> pour votre Bugzilla :

AddType application/vnd.mozilla.xul+xml .xul
AddType text/xml .rdf

4. Notes d'installation sur un SE particulier

Le système d'exploitation sur lequel vous avez choisi d'installer Bugzilla peut avoir des effets sur de nombreux aspects de son installation. Selon le système, elle peut être plus facile ou être plus difficile. Cette section a pour but de vous aider à comprendre les difficultés rencontrées en l'exécutant sur un système d'exploitation spécifique ainsi que les utilitaires disponibles pour faciliter les choses.

Si vous avez quelque chose à ajouter ou des notes pour un système d'exploitation non traité ici, signalez le dans Bugzilla Documentation.

4.1. Microsoft Windows

Faire fonctionner Bugzilla sous Windows est plus difficile que de le faire fonctionner sous Unix. Pour cette raison, nous recommandons toujours de le faire sur un système basé sur Unix tel que GNU/Linux. Ceci dit, si vous voulez que Bugzilla fonctionne sous Windows, vous devrez faire les réglages suivants.

4.1.1. Win32 Perl

On peut obtenir Perl pour Windows sur ActiveState. Vous devriez pouvoir trouver un binaire compilé à http://aspn.activestate.com/ASPN/Downloads/ActivePerl/. Les instructions suivantes supposent que vous utilisez la version 5.8.1 d'ActiveState.

4.1.2. Perl Modules on Win32

Bugzilla sous Windows nécessite l'utilisation des mêmes modules Perl que ceux de Section 1.5, « Modules Perl ». La principale différence est que Windows utilise PPM au lieu de CPAN.

C:\perl> ppm install <module name>
        

La meilleure source pour les modules PPM de Windows nécessaires pour Bugzilla est probablement le serveur de test de Bugzilla (alias 'landfill') donc vous devriez ajouter l'ensemble des PPM de landfill comme suit :

ppm repository add landfill http://www.landfill.bugzilla.org/ppm/
        
[Note]Note

Sur landfill, les modules PPM sont regroupés en 'paquetages' qui peuvent avoir un nom légèrement différent de celui du module. Si vous récupérez ces modules à partir de là, vous devrez faire attention aux informations fournies lorsque vous exécutez checksetup.pl car il vous dira quel package vous devrez installer.

[Astuce]Astuce

Si vous êtes derrière un pare-feu d'entreprise, vous devrez informer l'utilitaire PPM ActiveState sur la façon de le contourner afin d'accéder aux fichiers contenant les PPM en configurant la variable d'environnement du système HTTP_proxy. Pour plus d'information sur la configuration de cette variable, voir la documentation de ActiveState.

4.1.3. Changements de code nécessaires à l'exécution sur win32

Bugzilla sur win32 est en général supporté du premier coup; il reste le problème lié aux courriels concernant les bogues. Pour qu'ils fonctionnent sous Win32 (jusqu'a la résolution du bogue 49893), le moyen le plus simple est d'avoir le module de Perl Net::SMTP installé et de remplacer ces lignes dans le fichier Bugzilla/Bugmail.pm :

open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") ||
  die "Can't open sendmail";

print SENDMAIL trim($msg) . "\n";
close SENDMAIL;
        

par

use Net::SMTP;
my $smtp_server = 'smtp.mycompany.com';  # changez ceci

# Utiliser die en cas d'erreur pour que le mail aille dans les 'mails non envoyés' et
# puisse être envoyé de la page sanitycheck.
my $smtp = Net::SMTP->new($smtp_server) ||
  die 'Cannot connect to server \'$smtp_server\'';

$smtp->mail('bugzilla-daemon@mycompany.com');  # changez ceci
$smtp->to($person);
$smtp->data();
$smtp->datasend($msg);
$smtp->dataend();
$smtp->quit;
        

N'oubliez pas de changer le nom de votre serveur SMTP et le domaine de l'adresse d'envoi de courriel (après le '@') dans les lignes de codes ci-dessus.

4.1.4.  Traitement des pages Web

Comme c'est le cas sur les systèmes basés sur Unix, tous les serveurs web devraient supporter Bugzilla ; toutefois, si on lui demande son avis, l'équipe de Bugzilla recommande toujours Apache. Peu importe quel serveur web vous choisissez, surtout faites attention aux notes de sécurité de Section 3.1, « Désactivation des accès à distance pour les fichiers de configuration Bugzilla ». On trouvera plus d'informations sur la configuration de serveurs web particuliers dans la section Section 2.4, « Web server ».

[Note]Note

Si vous utilisez Apache sous Windows, vous pouvez mettre les instructions ScriptInterpreterSource dans votre configuration d'Apache pour éviter d'avoir à modifier la première ligne de chaque script afin qu'il contienne votre chemin vers perl au lieu de /usr/bin/perl.

4.2. Mac OS X

Apple n'a pas inclus la bibliothèque GD dans MacOS X. Bugzilla en a besoin pour les graphes de bogues.

Vous pouvez l'installer en utilisant un programme appelé Fink, qui est proche de l'installeur CPAN mais il installe les utilitaires GNU courants. Fink est disponible à l'adresse http://sourceforge.net/projects/fink/.

Suivez les instructions pour configurer Fink. Une fois qu'il est installé, vous devez l'utiliser pour installer le paquetage gd2.

Fink va alors vous demander s'il doit résoudre un certain nombre de dépendances. Saisissez « y » et appuyez sur la touche Entrée pour installer toutes les dépendances et surveillez alors que tout se passe bien. Vous pourrez alors utiliser CPAN pour installer le module Perl GD.

[Note]Note

Pour ne pas entrer en conflit avec les logiciels installés par défaut par Apple, Fink crée sa propre arborescence dans /sw et y place la plupart des logiciels qu'il installe. Cela signifie que vos bibliothèques et vos entêtes seront dans /sw/lib et /sw/include au lieu de /usr/lib et /usr/include. Quand le script de configuration du module Perl vous demande où est votre libgd, dites lui bien /sw/lib.

Expat est également disponible via Fink. Après avoir utilisé fink pour installer le paquetage expat, vous pourrez installer XML::Parser en utilisant CPAN. Il y a une restriction. À la différence des versions récentes du module GD, XML::Parser n'invite pas à indiquer l'emplacement des bibliothèques nécessaires. Quand vous utilisez CPAN, vous devrez utiliser l'enchaînement des commandes suivant :

# perl -MCPAN -e'look XML::Parser'        1
# perl Makefile.PL EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include
# make; make test; make install           2
# exit                                    3
      
1 3

La commande look téléchargera le module et créera un nouveau shell avec les fichiers extraits comme répertoire de travail courant. La commande exit vous renverra à votre shell d'origine.

2

Il vous faudra surveiller le résultat de ces commandes make, surtout « make test » dont les erreurs peuvent empêcher XML::Parser de fonctionner correctement avec Bugzilla.

4.3. Linux-Mandrake 8.0

Linux-Mandrake 8.0 comporte toutes les bibliothèques obligatoires et facultatives pour Bugzilla. La manière la plus simple de les installer consiste à utiliser l'utilitaire urpmi. Si vous suivez ces commandes, vous devriez avoir tout ce qu'il vous faut pour Bugzilla et ./checksetup.pl ne devrait pas se plaindre de bibliothèques manquantes. Il se peut que vous ayez certaines de ces bibliothèques déjà installées.

bash# urpmi perl-mysql
bash# urpmi perl-chart
bash# urpmi perl-gd
bash# urpmi perl-MailTools             1
bash# urpmi apache-modules
      
1

pour l'intégration de la messagerie Bugzilla

5. Notes d'installation sous UNIX (non administrateur)

5.1. Introduction

Si vous exécutez un *NIX OS avec un compte limité (non administrateur), soit en raison d'un manque d'accès (les hôtes web, par exemple) ou pour des raisons de sécurité, cette partie vous indiquera comment installer Bugzilla sur une telle installation. Il est recommandé que vous lisiez d'abord la Section 1, « Installation » pour avoir une idée des étapes d'installation nécessaires (ces notes renverront à des étapes de ce guide).

5.2. MySQL

Il se peut que MySQL soit installé en tant qu'administrateur. Si vous êtes en train d'installer un compte avec un hôte web, un compte MySQL devra être créé pour vous. À partir de là, vous pouvez créer le compte bugs ou utiliser le compte qui vous est fourni.

[Avertissement]Avertissement

Vous pourriez avoir des problèmes en essayant de régler les permissions GRANT à la base de données. Si vous utilisez un hôte web, il y a de grandes chances que vous ayez une base de données séparée qui est déjà verrouillée (ou une grosse base de données sans accès ou avec des accès limités aux autres zones) mais vous pouvez demander à votre administrateur système comment les réglages de sécurité ont été fixés, et/ou qu'il exécute la commande GRANT pour vous.

En plus, vous ne pourrez sans doute pas changer le mot de passe administrateur de MySQL (pour des raisons évidentes) alors sautez cette étape.