Chapitre 2. Installer Bugzilla

Table des matières

Installation
Perl
MySQL
Serveur Web
Bugzilla
Modules Perl
Mail Transfer Agent (MTA)
Configuration
localconfig
MySQL
checksetup.pl
Web server
Bugzilla
Configuration supplémentaire facultative
Les graphiques de bogues
Diagrammes de dépendance
Le planificateur de pleurnicherie
Patch Viewer
Authentification LDAP
Traitement des formats différents avec le type de MIME adéquat
Notes d’installation sur un SE particulier
Microsoft Windows
Mac OS X
Linux-Mandrake 8.0
Notes d’installation sous UNIX (non administrateur)
Introduction
MySQL
Perl
Les modules Perl
Serveur HTTP
Bugzilla

Installation

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 la section intitulée « 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

L’installation peut rendre votre machine insécurisée 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 plate-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.

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.

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

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.

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/.

Bugzilla

Téléchargez une archive tar Bugzilla (ou jetez un oeil 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

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 finalisera votre installation.

Modules Perl

Le processus d’installation de Bugzilla s’appuie sur un script nommé checksetup.pl. l 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 à la section intitulée « Configuration ».

A ce stade, vous devez vous identifier comme administrateur (vous connecter en tant que root). Il vous faudra poursuivre la totalité de l’installationr 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 la section intitulée « 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

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 ». A 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

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.

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.

GD (1.20)

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

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

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.

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.

GD::Graph (n'importe)

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

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

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

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.

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.

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.

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.