2.1. Installation

Note

Si vous voulez juste utiliser Bugzilla, vous n'avez pas besoin de l'installer. Aucun de ces chapitres ne vous concerne. Demandez à votre administrateur Bugzilla l'URL pour y accéder par avec votre navigateur Web.

Le logiciel serveur Bugzilla est habituellement installé sur GNU/Linux ou Solaris. Si vous l'installez sur un autre système d'exploitation, vérifiez Section 2.5 avant de commencer votre installation pour voir s'il n'y a pas des instructions particulières.

Ce guide suppose que vous avez un accès administrateur à la machine Bugzilla. Il n'est pas possible d'installer et d'exécuter Bugzilla sans accès administrateur, excepté dans la très improbable éventualité où tous les prérequis seraient déjà déjà installés.

Avertissement

Le processus d'installation peut rendre votre machine non-sûre pendant quelques courtes périodes. Assurez-vous qu'il y a un pare-feu entre vous et le réseau Internet.

Il est fortement recommandé de faire une sauvegarde de votre système avant d'installer Bugzilla (et à intervalles réguliers après cela :-).

Dans les grandes lignes, l'installation se déroule ainsi :

  1. Installation de Perl (5.8.0 ou supérieur)

  2. Installation d'un moteur de base de données

  3. Installation d'un serveur Web

  4. Installation de Bugzilla

  5. Installation des modules Perl

  6. Installation d'un agent de transfert de courrier (MTA) (Sendmail 8.7 ou supérieur ou un MTA compatible avec Sendmail de cette version au moins)

  7. Configuration de tous les éléments ci-dessus.

2.1.1. Perl

Test de la version installée :
perl -v

Toute machine n'ayant pas Perl installé est une machine bien triste. Si vous ne l'avez pas et que votre système d'exploitation ne fournit pas de paquets officiels, visitez http://www.perl.org. Bien que Bugzilla fonctionne avec Perl 5.8.0, c'est une bonne idée que d'utiliser la dernière version stable.

2.1.2. Moteur de base de données

Bugzilla gère les serveurs de bases de données MySQL, PostgreSQL et Oracle. Vous n'avez besoin que d'un seul de ces moteurs de base de données pour faire fonctionner Bugzilla.

2.1.2.1. 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 paquets officiels, visitez http://www.mysql.com. Vous avez besoin de MySQL version 5.0.15 ou supérieur.

Note

Beaucoup de versions bianires de MySQL stockent leurs fichiers de données dans le répertoire /var. Sur certains systèmes Unix, ce répertoire fait partie d'une plus petite partition « root », et peut ne pas avoir assez de place pour votre base de données de bogues. Pour changer le répertoire des données, vous devez compiler MySQL à partir des sources vous-même, et le définir comme option pour configure.

Si vous installez à partir d'autre chose qu'un des systèmes d'installation/empaquet suivants : « .rpm » (paquet RPM), « .deb » (paquet Debian), « .exe » (exécutable Windows) ou « .msi » (Microsoft Installer), assurez-vous que le serveur MySQL soit lancé au démarrage de la machine.

2.1.2.2. PostgreSQL

Test de la version installée :
psql -V

Si vous ne l'avez pas et si votre système d'exploitation ne fournit pas de paquets officiels, visitez http://www.postgresql.org/. Vous avez besoin de PostgreSQL version 8.03.0000 ou supérieur.

Si vous installez à partir d'autre chose qu'un des systèmes d'installation/empaquet suivants : « .rpm » (paquet RPM), « .deb » (paquet Debian), « .exe » (exécutable Windows) ou « .msi » (Microsoft Installer), assurez-vous que le serveur PostGreSQL soit lancé au démarrage de la machine.

2.1.2.3. Oracle

Test de la version installée :
select * from v$version
(vous devez d'abord vous connectez à votre base de données)

Si vous ne l'avez pas ou que votre système d'exploitation ne fournit pas de paquets officiels, visitez http://www.oracle.com/. Vous devez avoir Oracle version 10.02.0 ou supérieure.

Si vous installez à partir de quelque chose d'autre qu'un paquet/installation système, comme un .rpm (paquet RPM), un .deb (paquet Debian), un .exe (exécutable Windows), ou un .msi (Microsoft Installer), assurez-vous que le serveur Oracle est démarré au lancement de la machine.

2.1.3. Serveur Web

Test de la version installée : Consultez la page d'accueil par défaut sur http://<votre-machine>/

Vous avez la liberté de choix ici, pratiquement n'importe quel serveur capable d'exécuter des scripts CGI fonctionnera. Cependant, nous vous recommandons fortement d'utiliser un serveur Apache (version 1.3.x ou 2.x), et les instructions d'installation supposent généralement que vous utilisez Apache. Si vous utilisez Bugzilla avec un autre serveur Web, veuillez partager vos expériences en rapportant un bogue dans Documentation Bugzilla.

Si vous n'avez pas Apache et que votre système d'exploitation ne fournit pas de paquets officiels, visitez http://httpd.apache.org/.

2.1.4. Bugzilla

Téléchargez une archive de Bugzilla (ou récupérez-le à partir de Bzr) et placez-le dans un répertoire approprié accessible par l'utilisateur par défaut du serveur Web (probablement « apache » ou « www »). Les meilleurs emplacements sont dans les répertoires de documents du serveur Web ou dans /usr/local avec un lien symbolique vers les répertoires de documents du serveur Web ou un alias dans la configuration du serveur Web.

Attention

La distribution par défaut de Bugzilla n'est PAS conçue pour être placée dans un répertoire cgi-bin. Ceci inclut tout répertoire configué en utilisant la directive ScriptAlias d'Apache.

Quand tous les fichiers sont dans un répertoire accessible par le serveur Web, rendez le répertoire accessible en écriture pour l'utilisateur de votre serveur Web. Ceci est une étape temporaire jusqu'à ce que vous exécutiez le script checksetup.pl qui verrouille votre installation.

2.1.5. Modules Perl

Le processus d'installation de Bugzilla est basé sur un script appelé checksetup.pl. La première chose qu'il fait est de vérifier si vous avez les versions appropriées de tous les modules Perl requis. Le propos de cette section est de passer cette vérification. quand elle est passée, procédez à la Section 2.2.

À partir de ce point, vous devez faire la commande su - root. Vous devrez demeurer « root » jusqu'à la fin de l'installation. Pour vérifier que vous avez les modules requis, exécutez :

bash# ./checksetup.pl --check-modules

checksetup.pl affichera une liste de tous les modules Perl requis et optionnels avec leur numéro de version (le cas échéant) installés sur votre machine. La liste des modules requis est plutôt longue ; cependant, vous devez déjà avoir plusieurs d'entre eux installés.

Il existe un méta-module appelé « Bundle::Bugzilla », qui installe tous les autres modules en une simple commande. Vous devriez utiliser ceci si vous exécutez Perl 5.6.1 ou supérieur.

La manière à privilégier pour installer les modules Perl manquants est d'utiliser le gestionnaire de paquets fourni par votre système d'exploitation (par ex.« rpm » ou « yum » pour les ditributions GNU/Linux, ou « ppm » pour Windows si vous utilisez ActivePerl, consulter Section 2.5.1.2). Si certains modules Perl sont toujours manquants ou sont trop vieux, nous vous recommandons alors d'utiliser le script install-module.pl (il ne fonctionne pas avec ActivePerl sous Windows). Si pour une raison ou une autre vous avez vraiment besoin d'installer les modules Perl manuellement, consulter Annexe C. Par exemple, sous GNU/Linux, le script install-module.pl est exécuté ainsi :

bash# perl install-module.pl <modulename>

Astuce

Beaucoup de gens se plaignent que les modules Perl ne s'installent pas pour eux. La plupart du temps, les messages d'erreur indiquent un fichier manquant dans « @INC ». Pratiquement à chaque fois, cette erreur est due aux permissions qui sont trop restrictives pour compiler les modulesPerl ou à l'absence des bibliothèques de développement Perl installées sur votre système. Consultez votre administrateur système Unix local pour vous aider à résoudre ces problèmes de permissions ; si vous êtes l'administrateur système Unix local, veuillez consulter le forum ou la liste de discussion pour plus d'assistance ou engagez quelqu'un pour vous aider.

Note

Si vous utilisez un paquet fourni par votre système d'exploitation et que vous essayez d'installer les modules Perl à partir de CPAN, vous aurez peut-être besoin d'installer les paquets « développement » pour MySQL et GD avant d'essayer d'installer les modules Perl relatifs. Le nom de ces paquets varieront en fonction de la distribution que vous utilisez, mais ils sont souvent appelés <nom_paquet>-devel.

Voici la liste complète des modules et leur version minimum. Certains modules ont des notes d'installation spéciales qui suivent cette liste.

Modules Perl nécessaires :

  1. CGI (3.51)

  2. Date::Format (2.21)

  3. DateTime (0.28)

  4. DateTime::TimeZone (0.71)

  5. DBI (1.614)

  6. DBD::mysql (4.001) si utilisation de MySQL

  7. DBD::Pg (1.45) si utilisation de PostgreSQL

  8. DBD::Oracle (1.19) si utilisation de Oracle

  9. Digest::SHA (any)

  10. Email::Send (2.00)

  11. Email::MIME (1.904)

  12. Template (2.22)

  13. URI (1.37)

Modules Perl optionnels :

  1. GD (1.20) pour les tableaux de bogues

  2. Template::Plugin::GD::Image (any) pour les rapports graphiques

  3. Chart::Lines (2.1.0) pour les tableaux de bogues

  4. GD::Graph (any) pour les tableaux de bogues

  5. GD::Text (any) pour les tableaux de bogues

  6. XML::Twig (any) pour l'import et l'export des bogues

  7. MIME::Parser (5.406) pour l'import et l'export des bogues

  8. LWP::UserAgent (any) pour les notifications automatiques de mises à jour

  9. PatchReader (0.9.6) pour un affichage HTML amélioré des correctifs

  10. Net::LDAP (any) pour l'authentification LDAP

  11. Authen::SASL (any) pour l'authentification SASL

  12. Authen::Radius (any) pour l'authentification RADIUS

  13. SOAP::Lite (0.712) pour l'interface de web service

  14. JSON::RPC (any) pour l'interface JSON-RPC

  15. Test::Taint (any) pour l'interface de web service

  16. HTML::Parser (3.67) pour plus de HTML dans les descriptions des produits et groupes

  17. HTML::Scrubber (any) pour plus de HTML dans les descriptions des produits et groupes

  18. Email::MIME::Attachment::Stripper (any) pour les courriels entrant

  19. Email::Reply (any) pour les courriels sortants

  20. TheSchwartz (any) pour les files d'attente de courriel

  21. Daemon::Generic (any) pour les files d'attente de courriel

  22. mod_perl2 (1.999022) pour mod_perl

2.1.6. Mail Transfer Agent (MTA)

Bugzilla dépend de la disponibilité d'un système de messagerie pour son authentification utilisateur et d'autres tâches.

Note

Ce n'est pas entièrement vrai. Il est possiblede désactiver complètement l'envoi de courriels, ou de faire stocker à Bugzilla les courriels dans un fichier plutôt que de les envoyer. Cependant, c'est principalement destiné aux tests, car désactiver ou détourner des courriels sur une machine de production signifierait que les utilisateurs pourrait manquer d'importants événements (comme les changements sur les bogues et la création de nouveaux comptes).

Pour plus d'informations, consultez le paramètre « mail_delivery_method » dans Section 3.1.

Sous GNU/Linux, tout MTA (Mail Transfer Agent) compatible avec Sendmail suffira. Sendmail, Postfix, qmail et Exim sont des exemples de MTA courants. Sendmail est le MTA original d'Unix, mais les autres sont plus faciles à configurer et par conséquent, beaucoup de gens remplacent Sendmail par Postfix ou Exim. Ce sont des remplacements trasparents donc Bugzilla ne fera pas la différence.

Si vous utilisez Sendmail, la version 8.7 ou supérieure est requise. Si vous utilisez un MTA compatible avec Sendmail, il doit être congruent avec au moins la version 8.7 de Sendmail.

Consultez le manuel du MTA que vous avez choisi pour des instructions d'installation détaillées. Chacun de ces programmes a ses propres fichiers de configuration ou vous devez configurer certains paramètres pour vous assurer que les courriels seront distribués correctement. Ils sont mis en œuvres en tant que services et vous devez vous assurer que le MTA est dans la liste de démarrage automatiques des services de votre machine.

Si un courrier envoyé avec le programme en ligne de commande mail réussit, alors Bugzilla devrait fonctionner correctement.

2.1.7. Installer Bugzilla avec mod_perl

Il est maintenant possible d'exécuter Bugzilla dans mod_perl sur Apache. mod_perl a des prérequis supplémentaires autre que celui d'exécuter Bugzilla sous mod_cgi (la manière standard et précédente).

Bugzilla nécessite que mod_perl soit installé, lequel peut être obtenu sur http://perl.apache.org - Bugzilla nécessite que la version 1.999022 (aussi connue comme 2.0.0-RC5) soit installée.