<?xml version="1.0" encoding="UTF-8"?>
<!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//FR"> -->
<!-- $Id: installation.xml,v 1.2 2006/03/26 00:10:06 fevrier Exp $ -->
<chapter id="installing-bugzilla">
<title>Installer Bugzilla</title>
<section id="installation">
<title>Installation</title>
<note>
<para>Si vous voulez juste <emphasis>utiliser</emphasis> 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.
</para>
</note>
<para>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 <xref linkend="os-specific"/>
la section 2.4 avant de commencer votre installation pour voir si il n'y a pas d'instructions
particulières.
</para>
<para>
Comme alternative pour suivre ces instructions, vous pouvez essayer
<ulink url="http://www.softwaretesting.de/article/view/33/1/8/">
l'installation non officielle et non supportée</ulink> de Arne Schimarcher, qui installe Bugzilla et
tout le nécessaire sur des systèmes Linux ou Solaris.
</para>
<para>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é.
</para>
<warning>
<para>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.
</para>
</warning>
<para>
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 :-)
</para>
<para>Dans les grandes lignes, l'installation procède comme suit :
</para>
<procedure>
<step>
<para><link linkend="install-perl">Installation de Perl</link>
(&min-perl-ver; ou au dessus pour les plates-formes autres que Windows; &min-perl-ver-win;
pour Windows)
</para>
</step>
<step>
<para><link linkend="install-mysql">Installation de MySQL</link>
(&min-mysql-ver; ou au dessus)
</para>
</step>
<step>
<para><link linkend="install-webserver">Installation de un serveur Web</link>
</para>
</step>
<step>
<para><link linkend="install-bzfiles">Installation de Bugzilla</link>
</para>
</step>
<step>
<para><link linkend="install-perlmodules">Installation des modules de Perl</link>
</para>
</step>
<step>
<para>
<link linkend="install-MTA">Installation d'un Agent de Transfert de Mail</link>
(Sendmail 8.7 ou au dessus, ou un ATM qui est compatible avec Sendmail avec au moins cette version)
</para>
</step>
<step>
<para>Configuration de tout ce qui précède.
</para>
</step>
</procedure>
<section id="install-perl">
<title>Perl</title>
<para>Test de la version installée : <filename>perl -v</filename></para>
<para>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 <ulink url="http://www.perl.com"/>. Bien que Bugzilla fonctionne avec Perl &min-perl-ver;,
c'est une bonne idée d'utiliser la dernière version stable.
Au moment où ces lignes sont écrites, c'est Perl &newest-perl-ver;.</para>
</section>
<section id="install-mysql">
<title>MySQL</title>
<para>Test de la version installée : <filename>mysql -V</filename></para>
<para>
Si vous ne l'avez pas et que votre système d'exploitation ne fournit pas de paquetages officiels,
allez sur <ulink url="http://www.mysql.com"/>. Vous avez besoin de MySQL version
&min-mysql-ver; ou supérieure.
</para>
<note>
<para>
De nombreuses versions binaires de MySQL stockent leurs fichiers
de données dans le répertoire <filename
class="directory">/var</filename>. 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 à
<filename>configure</filename>.
</para>
</note>
<para>
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.
</para>
</section>
<section id="install-webserver">
<title>Serveur Web</title>
<para>
Test de la version installée : regardez la page de bienvenue
par défaut à http://<votre-machine>/
</para>
<para>
Là, vous avez le choix, à peu près tous les serveurs web capables
de faire fonctionner les scripts <glossterm
linkend="gloss-cgi">CGI</glossterm> 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 &bzg-bugs;.
</para>
<para>
Si vous n'avez pas Apache et que votre système d'exploitation ne
fournit pas de paquetage officiel, allez sur <ulink
url="http://httpd.apache.org/"/>.
</para>
</section>
<section id="install-bzfiles">
<title>Bugzilla</title>
<para>
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
<quote>apache</quote> ou <quote>www</quote>). Le mieux est de la
mettre soit directement dans l'espace web principal de votre ou
peut être dans <filename>/usr/local</filename> avec un lien
symbolique provenant de l'espace web.
</para>
<caution>
<para>
La distribution Bugzilla par défaut n'est PAS conçue pour être
placée dans un répertoire <filename
class="directory">cgi-bin</filename>. Ceci est valable pour
chaque répertoire configuré à l'aide de l'instruction du
<option>ScriptAlias</option> d'Apache.
</para>
</caution>
<para>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
<filename>checksetup.pl</filename>,
ce qui terminera votre installation.</para>
</section>
<section id="install-perlmodules">
<title>Modules Perl</title>
<para>
Le processus d'installation de Bugzilla s'appuie sur un script
nommé <filename>checksetup.pl</filename>. 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, <emphasis>ne l'exécutez
pas à nouveau</emphasis>, mais passez à <xref
linkend="configuration"/>.
</para>
<para>
À 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 :
</para>
<screen>
<prompt>bash#</prompt> ./checksetup.pl
</screen>
<!-- We really need a "module-check" switch for checksetup,
which we can use here to make it really clear when they've got
all the modules. -->
<para>
<filename>checksetup.pl</filename> 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.
</para>
<para>
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.
</para>
<para>
Le mode préféré pour installer des modules de Perl est via CPAN sur
UNIX, ou PPM sur Windows (voir <xref linkend="win32-perl-modules"/>).
Ces instructions supposent que vous utilisez CPAN ; si pour une
raison ou une autre vous devez installer les modules de Perl
manuellement, consultez <xref linkend="install-perlmodules-manual"/>.
</para>
<screen><prompt>bash#</prompt> perl -MCPAN -e 'install "<modulename>"'</screen>
<para>
Si vous utilisez Bundle::Bugzilla, invoquez la commande magique CPAN.
Sinon, vous devez parcourir la liste des modules que
<filename>checksetup.pl</filename> dit être obligatoires, dans
l'ordre donné, en invoquant la commande pour chacun d'eux.
</para>
<tip>
<para>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
<quote>@INC</quote>.
À 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
<emphasis>êtes</emphasis> 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.</para>
</tip>
<para>
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.
</para>
<para>Modules Perl obligatoires :
<orderedlist>
<listitem>
<para>
AppConfig (&min-appconfig-ver;)
</para>
</listitem>
<listitem>
<para>
CGI (&min-cgi-ver;)
</para>
</listitem>
<listitem>
<para>
Data::Dumper (&min-data-dumper-ver;)
</para>
</listitem>
<listitem>
<para>
Date::Format (&min-date-format-ver;)
</para>
</listitem>
<listitem>
<para>
DBI (&min-dbi-ver;)
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-dbd-mysql">DBD::mysql</link>
(&min-dbd-mysql-ver;)
</para>
</listitem>
<listitem>
<para>
File::Spec (&min-file-spec-ver;)
</para>
</listitem>
<listitem>
<para>
File::Temp (&min-file-temp-ver;)
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-template">Template</link>
(&min-template-ver;)
</para>
</listitem>
<listitem>
<para>
Text::Wrap (&min-text-wrap-ver;)
</para>
</listitem>
</orderedlist>
Modules Perl facultatifs :
<orderedlist>
<listitem>
<para>
<link linkend="install-modules-gd">GD</link>
(&min-gd-ver;) pour les graphiques de bogues
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-chart-base">Chart::Base</link>
(&min-chart-base-ver;) pour les graphiques de bogues
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-gd-graph">GD::Graph</link>
(&min-gd-graph-ver;) pour les graphiques de bogues
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-gd-text-align">GD::Text::Align</link>
(&min-gd-text-align-ver;) pour les graphiques de bogues
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-xml-parser">XML::Parser</link>
(&min-xml-parser-ver;) pour l'interface XML
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-patchreader">PatchReader</link>
(&min-patchreader-ver;) pour une jolie vue en HTML des correctifs
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-mime-parser">MIME::Parser</link>
(&min-mime-parser-ver;) pour l'interface facultative par courrier électronique
</para>
</listitem>
</orderedlist>
</para>
<section id="install-modules-dbd-mysql">
<title>DBD::mysql</title>
<para>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.</para>
<para>
Une machine hôte <quote>localhost</quote> sera suffisante. Un
utilisateur de tests <quote>test</quote>, 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 <quote>test</quote> que
MySQL génère à l'installation.
</para>
</section>
<section id="install-modules-template">
<title>Template Toolkit (&min-template-ver;)</title>
<para>
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 <quote>XS Stash</quote>
du Template Toolkit, pour réaliser de meilleures performances.
</para>
</section>
<section id="install-modules-gd">
<title>GD (&min-gd-ver;)</title>
<para>Le module GD n'est nécessaire que si vous voulez des rapports graphiques.
</para>
<note>
<para>Le module Perl GD nécessite d'autres bibliothèques qui peuvent
ou non être installées sur votre système, telles que
<classname>libpng</classname>
et
<classname>libgd</classname>.
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.</para>
</note>
<tip>
<para>La version du module GD dont vous avez besoin est très étroitement liée
à la version de <classname>libgd</classname> installée sur votre système.
Si vous avez une version 1.x de <classname>libgd</classname>, les versions
2.x du module GD ne fonctionneront pas chez vous.
</para>
</tip>
</section>
<section id="install-modules-chart-base">
<title>Chart::Base (&min-chart-base-ver;)</title>
<para>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.</para>
</section>
<section id="install-modules-gd-graph">
<title>GD::Graph (&min-gd-graph-ver;)</title>
<para>Le module GD::Graph n'est nécessaire que si vous voulez des
rapports graphiques.
</para>
</section>
<section id="install-modules-gd-text-align">
<title>GD::Text::Align (&min-gd-text-align-ver;)</title>
<para>Le module GD::Text::Align n'est nécessaire que si vous voulez des
rapports graphiques.
</para>
</section>
<section id="install-modules-xml-parser">
<title>XML::Parser (&min-xml-parser-ver;)</title>
<para>
Le module XML::Parser n'est nécessaire que si vous souhaitez
importer les bogues XML en utilisant le script
<filename>importxml.pl</filename>. Ceci est nécessaire pour
utiliser la fonctionnalité <quote>changement d'état d'un
bogue</quote> [<quote>move bugs</quote>] 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
<classname>expat</classname> soit déjà installée sur votre
machine.
</para>
</section>
<section id="install-modules-mime-parser">
<title>MIME::Parser (&min-mime-parser-ver;)</title>
<para>Le module MIME::Parser est nécessaire seulement si vous voulez
utiliser l'interface de messagerie électronique située dans le répertoire
<filename class="directory">contrib</filename>.
</para>
</section>
<section id="install-modules-patchreader">
<title>PatchReader (&min-patchreader-ver;)</title>
<para>Le module PatchReader est nécessaire seulement si vous voulez
utiliser le <quote>Patch Viewer</quote>, fonctionnalité de
Bugzilla qui permet
de montrer des correctifs de code dans votre navigateur WEB sous une
forme plus lisible.
</para>
</section>
</section>
<section id="install-MTA">
<title>Mail Transfer Agent (MTA)</title>
<para>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.</para>
<para>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.</para>
<para>
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.
</para>
<para>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.</para>
<para>
Si un simple message électronique envoyé avec la ligne de commande
<command>mail</command> fonctionne, alors Bugzilla devrait
également être opérationnel.
</para>
</section>
</section>
<section id="configuration">
<title>Configuration</title>
<warning>
<para>
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 <xref linkend="security"/>.
</para>
</warning>
<section id="localconfig">
<title>localconfig</title>
<para>
Dès que vous exécutez <filename>checksetup.pl</filename> avec tous
les bons modules installés, il affiche un message
concernant un fichier nommé <filename>localconfig</filename>
qu'il crée. Ce fichier contient les réglages par défaut pour un
certain nombre de paramètres de Bugzilla.
</para>
<para>
Chargez ce fichier dans votre éditeur. La seule valeur que vous
<emphasis>devez</emphasis>
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
<quote>guillemet unique</quote>) que vous avez choisi.
</para>
<para>
Les commentaires fournis dans le fichier
<filename>localconfig</filename> 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 <quote>$db_*</quote>.
</para>
<para>
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
<filename>checksetup.pl</filename>, les changements seront mis à
jour.
</para>
</section>
<section id="mysql">
<title>MySQL</title>
<caution>
<para>
La configuration par défaut de MySQL est très vulnérable.
<xref linkend="security-mysql"/> donne des informations utiles pour
améliorer la sécurité de votre installation.
</para>
</caution>
<section id="install-setupdatabase">
<title>Autoriser les fichiers joints volumineux</title>
<para>
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 <filename>/etc/my.cnf</filename>
comme indiqué ci-dessous.
</para>
<para>
Si vous utilisez MySQL 4.0 ou plus récente, entrez :
</para>
<screen>
[mysqld]
# Allow packets up to 1M
max_allowed_packet=1M
</screen>
<para>
Si vous utilisez une version plus vieille de MySQL, entrez :
</para>
<screen>
[mysqld]
# Allow packets up to 1M
set-variable = max_allowed_packet=1M
</screen>
<para>
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' <emphasis>ou</emphasis> 'maxattachmentsize'
ne seront pas acceptées par Bugzilla.
</para>
</section>
<section>
<title>Autoriser les mots courts dans les index en texte intégral</title>
<para>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 <quote>cc</quote>,
<quote>ftp</quote> et <quote>uri</quote>.</para>
<para>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 <filename>/etc/my.cnf</filename>
selon l'exemple ci-dessous :</para>
<screen>
[mysqld]
# Allow small words in full-text indexes
ft_min_word_len=2
</screen>
<para>
La reconstruction des index peut être faite en s'appuyant sur la
documentation trouvée à <ulink
url="http://www.mysql.com/doc/en/Fulltext_Fine-tuning.html"/>.
(N.D.T. : la version française se trouve à <ulink
url="http://www.mysql.com/doc/fr/Fulltext_Fine-tuning.html"/>).
</para>
<note>
<para>
Le paramètre Ft_min_word_len est supporté seulement dans
MySQL v4 ou supérieure.
</para>
</note>
</section>
<section>
<title>Permettre à la table des fichiers joints de passer à une taille supérieure à 4 Go</title>
<para>
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.
</para>
<para>
Exécutez le client en ligne de commande
<filename>MySQL</filename> et entrez :
</para>
<screen>
<prompt>mysql></prompt> ALTER TABLE attachments AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;
</screen>
<para>
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.
</para>
</section>
<section id="install-setupdatabase-adduser">
<title>Ajouter un utilisateur à MySQL</title>
<para>
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 <filename>localconfig</filename>; si vous changez ces
derniers, vous devez changer la commande MySQL de façon appropriée.
Vous aurez besoin du mot de passe <replaceable>$db_pass</replaceable>
vous avez mis dans <filename>localconfig</filename> dans
<xref linkend="localconfig"/>.
</para>
<para>
Nous utilisons la commande SQL <command>GRANT</command> pour créer
un utilisateur <quote>bugs</quote>. Cela restreint également les
opérations de l'utilisateur <quote>bugs</quote> à celles agissant
sur la base de données <quote>bugs</quote> et n'autorise le compte
à se connecter que depuis <quote>localhost</quote>. Modifiez cela
en fonction de votre configuration si vous devez vous connecter
plus tard depuis une autre machine ou sous un autre utilisateur.
</para>
<para>
Exécutez le client en ligne de commande <filename>mysql</filename>.
</para>
<para>
Si vous utilisez MySQL 4.0 ou plus récent, entrez :
</para>
<screen> <prompt>mysql></prompt> GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
TO bugs@localhost IDENTIFIED BY '<replaceable>$db_pass</replaceable>';
<prompt>mysql></prompt> FLUSH PRIVILEGES;</screen>
<para>
Si vous utilisez une version plus ancienne de MySQL, les
permissions de
<computeroutput>LOCK TABLES</computeroutput> et
<computeroutput>CREATE TEMPORARY TABLES</computeroutput>
seront indisponibles et doivent être supprimées de la liste
des permissions. Dans ce cas, on peut utiliser la ligne de
commande suivante :
</para>
<screen> <prompt>mysql></prompt> GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, DROP,
REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY
'<replaceable>$db_pass</replaceable>';
<prompt>mysql></prompt> FLUSH PRIVILEGES;</screen>
</section>
</section>
<section>
<title>checksetup.pl</title>
<para>
Ensuite, réexécutez <filename>checksetup.pl</filename>. 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 <quote>bugs</quote> que vous avez créé
et le mot de passe que vous avez défini et il crée la base de
données de <quote>bugs</quote> et les tables incluses.
</para>
<para>
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é.
</para>
<para>
<filename>checksetup.pl</filename> a maintenant fini. Vous pouvez réexécuter
<filename>checksetup.pl</filename> quand vous le souhaitez.
</para>
</section>
<section id="http">
<title>Web server</title>
<para>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 <xref linkend="security-webserver-access"/>.
</para>
<section id="http-apache">
<title><productname>httpd</productname> d'Apache</title>
<para>Chargez <filename>httpd.conf</filename> dans votre editeur.</para>
<para>Décommentez (ou ajouter) la ligne suivante.
Ceci autorise Apache à exécuter les fichiers .cgi files en dehors du
répertoire <filename class="directory">cgi-bin</filename>.
</para>
<programlisting> AddHandler cgi-script .cgi</programlisting>
<para>Apache utilise les directives <computeroutput><Directory></computeroutput>
pour peaufiner les droits.
Ajoutez les deux lignes suivantes à une directive
<computeroutput><Directory></computeroutput> qui
s'applique soît au répertoire Bugzilla ou l'un de ses parents
(i.e. la directive <computeroutput><Directory /var/www/html></computeroutput>).
Ceci autorisent les fichiers <filename>.htaccess</filename> de Bugzilla à
outrepasser les permissions globales. et permet aux fichiers .cgi de tourner dans le
répertoire Bugzilla.
</para>
<programlisting>
Options +ExecCGI +FollowSymLinks
AllowOverride Limit
</programlisting>
<para>
Ajoutez <filename>index.cgi</filename> à la fin de la ligne
<computeroutput>DirectoryIndex</computeroutput>.
</para>
<para>
<filename>checksetup.pl</filename> 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 <literal>Group</literal> dans
<filename>httpd.conf</filename> et placez la valeur que vous y
trouvez dans la variable
<replaceable>$webservergroup</replaceable> dans
<filename>localconfig</filename>. Puis réexécutez
<filename>checksetup.pl</filename>.
</para>
</section>
<section id="http-iis">
<title><productname>Internet Information Services</productname> de Microsoft</title>
<para>
Si vous êtes en train d'exécuter Bugzilla sous Windows et que
vous choisissez d'utiliser <productname>Internet Information
Services</productname> ou <productname>Personal Web
Server</productname> 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 : <ulink
url="http://support.microsoft.com/default.aspx?scid=kb;en-us;245225">245225</ulink>
<quote>HOW TO: Configure and Test a PERL Script with IIS 4.0,
5.0, and 5.1</quote> (pour <productname>Internet Information
Services</productname>) (N.D.T. : <ulink
url="http://support.microsoft.com/default.aspx?scid=kb;fr-fr;245225"><quote>HOW
TO : configurez et testez un script PERL avec IIS 4.0,
5.0 et 5.1</quote></ulink>) et <ulink
url="http://support.microsoft.com/default.aspx?scid=kb;en-us;231998">231998</ulink>
<quote>HOW TO: FP2000: How to Use Perl with Microsoft Personal
Web Server on Windows 95/98</quote> (pour
<productname>Personal Web Server</productname>) (N.D.T. : <ulink
url="http://support.microsoft.com/default.aspx?scid=kb;fr-fr;231998"><quote>HOW
TO : FP2000 : Perl utilisation avec serveur Web
personnel Microsoft sous Windows 95/98</quote></ulink>).
</para>
<para>
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
<emphasis>différent</emphasis> 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
<quote>http://<lenomdevotredomaine>/Bugzilla</quote>, ne
mettez <emphasis>pas</emphasis> les fichiers de Bugzilla dans
un répertoire appelé <quote>Bugzilla</quote>. 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é <quote>Bugzilla</quote> 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
<quote>Execute (comme les applications ISAPI ou CGI)</quote>.
</para>
<para>
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 :
</para>
<programlisting>
<chemin complet vers perl.exe >\perl.exe -x<chemin complet vers Bugzilla> -wT "%s" %s
</programlisting>
<para>
Par exemple :
</para>
<programlisting>
c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s
</programlisting>
<note>
<para>
L'installation d'ActiveState peut avoir déjà créé une entrée pour
les fichiers .pl qui est limitée à <quote>GET,HEAD,POST</quote>. Si
c'est le cas, cette application doit être <emphasis>supprimée</emphasis> car
les fichiers .pl de Bugzilla ne sont pas conçus pour être exécutés via un serveur web.
</para>
</note>
<para>
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.
</para>
<para>
De plus, et on ne le soulignera jamais assez, assurez-vous que les fichiers
tels que <filename>localconfig</filename> et votre
répertoire <filename class="directory">data</filename> sont
sécurisés comme décrit dans <xref linkend="security-webserver-access"/>.
</para>
</section>
<section id="http-aol">
<title>Serveur AOL</title>
<para>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.
</para>
<para>Le serveur AOL devra être configuré pour pouvoir exécuter les
scripts <glossterm linkend="gloss-cgi">CGI</glossterm>, veuillez consulter
la documentation qui va avec votre serveur pour plus d'information sur
la façon de procéder.
</para>
<para>Parce que les serveurs AOL ne supportent pas les fichiers
<filename>.htaccess</filename>, vous devrez créer un script
<glossterm linkend="gloss-tcl">TCL</glossterm>. Vous devrez créer un
<filename>aolserver/modules/tcl/filter.tcl</filename> (le nom du fichier
sera sans importance) avec le contenu suivant (remplacez
<computeroutput>/bugzilla/</computeroutput> par le chemin web de
votre instance Bugzilla) :
</para>
<programlisting>
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"
}
</programlisting>
<warning>
<para>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
<filename>localconfig</filename>. Pour plus d'informations, voyez le
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=186383">
bogue 186383</ulink> ou <ulink
url="http://online.securityfocus.com/bid/6501">Bugtraq ID 6501</ulink>.
</para>
</warning>
<note>
<para>Si vous utilisez le logiciel webdot depuis research.att.com (la configuration
par défaut pour le paramètre <option>webdotbase</option>), vous
devrez autoriser l'accès à <filename>data/webdot/*.dot</filename>
pour la machine reasearch.att.com.
</para>
<para>Si vous utilisez une installation locale de <ulink
url="http://www.graphviz.org">GraphViz</ulink>, vous devrez autoriser
tout le monde à accéder aux <filename>*.png</filename>,
<filename>*.gif</filename>, <filename>*.jpg</filename> et
<filename>*.map</filename> dans le répertoire
<filename class="directory">data/webdot</filename>.
</para>
</note>
</section>
</section>
<section id="install-config-bugzilla">
<title>Bugzilla</title>
<para>
Votre Bugzilla devrait maintenant fonctionner. Allez sur
<filename>http://<your-bugzilla-server>/</filename> —
vous devriez voir la page d'accueil
de Bugzilla. Si ce n'est pas le cas, consultez la section Dépannage,
<xref linkend="troubleshooting"/>.
</para>
<para>
Identifiez vous avec le compte administrateur que vous avez défini lors de la dernière
exécution de <filename>checksetup.pl</filename>. Vous devriez parcourir
les options sur la page <quote>Edit Parameters</quote>
(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 <xref linkend="parameters"/>;
vous devrez certainement modifier
<command>maintainer</command> et <command>urlbase</command>;
vous pouvez aussi modifier
<command>cookiepath</command> ou <command>requirelogin</command>.
</para>
<para>
Cela pourrait être l'occasion de refaire un tour sur le fichier
<filename>localconfig</filename> 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 <filename>checksetup.pl</filename> si vous changez ce dernier.
</para>
<para>
Bugzilla a plusieurs options facultatives qui nécessitent des configurations
supplémentaires. Vous pouvez vous documenter à ce sujet dans
<xref linkend="extraconfig"/>.
</para>
</section>
</section>
<section id="extraconfig">
<title>Configuration supplémentaire facultative</title>
<para>
Bugzilla a un nombre important d'options. Cette section décrit comment
les configurer ou les activer.
</para>
<section>
<title>Les graphiques de bogues</title>
<para>Si vous avez installé les modules Perl nécessaires, vous
pouvez commencer à collecter des statistiques pour les superbes graphes
Bugzilla.</para>
<screen><prompt>bash#</prompt> <command>crontab -e</command></screen>
<para>
Ceci devrait afficher le fichier crontab dans votre éditeur.
Ajoutez une entrée <quote>cron</quote> comme ceci pour exécuter
<filename>collectstats.pl</filename>
tous les jours à minuit 5 :
</para>
<programlisting>5 0 * * * cd <your-bugzilla-directory> ; ./collectstats.pl</programlisting>
<para>
Deux jours après, vous pourrez visualiser les graphiques de bogues depuis
la page de rapport de bogue.
</para>
<note>
<para>
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
<ulink url="http://www.nncron.ru/">nncron</ulink>.
</para>
</note>
</section>
<section>
<title>Diagrammes de dépendance</title>
<para>Tout comme les arborescences de dépendance en mode texte, Bugzilla permet
également des aperçus graphiques, en utilisant un logiciel appelé
<quote>dot</quote>.
C'est le paramètre webdotbase qui en assure précisément le fonctionnement ;
il peut prendre l'une de ces trois valeurs :
</para>
<para>
<orderedlist>
<listitem>
<para>
Le chemin d'accès complet à la commande 'dot' (qui fait partie de
<ulink url="http://www.graphviz.org/">GraphViz</ulink>)
qui va générer les graphiques localement.
</para>
</listitem>
<listitem>
<para>
Un préfixe URL pointant vers une installation du logiciel webdot qui va
générer les graphiques à distance.
</para>
</listitem>
<listitem>
<para>
Une valeur nulle qui désactive les graphiques de dépendance.
</para>
</listitem>
</orderedlist>
</para>
<para>
La façon la plus simple de le faire fonctionner est d'installer
<ulink url="http://www.graphviz.org/">GraphViz</ulink>. Dans ce
cas, vous devez <ulink
url="http://httpd.apache.org/docs/mod/mod_imap.html">activer les
cartes d'image côté serveur</ulink> 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. <emphasis>Note du rédacteur : Mais
bon sang, qu'est ce que c'est que ce HARTS ? Google ne sait
pas...</emphasis>
</para>
</section>
<section>
<title>Le planificateur de pleurnicherie</title>
<para>
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.
</para>
<para>
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 :
</para>
<programlisting>55 0 * * * cd <your-bugzilla-directory> ; ./whineatnews.pl</programlisting>
<note>
<para>
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
<ulink url="http://www.nncron.ru/">nncron</ulink>.
</para>
</note>
</section>
<section id="patch-viewer">
<title>Patch Viewer</title>
<para>
Patch Viewer est le moteur qui permet l'affichage graphique des
correctifs. Vous pouvez l'intégrer avec des copies des
outils <filename>cvs</filename>, <filename>lxr</filename> et
<filename>bonsai</filename> si vous les avez, en donnant
l'emplacement de votre installation de ces outils dans
<filename>editparams.cgi</filename>.
</para>
<para>
Patch Viewer pourra aussi éventuellement utiliser les
utilitaires de ligne de commande <filename>cvs</filename>,
<filename>diff</filename> et <filename>interdiff</filename>
s'ils existent sur le système.
On peut obtenir Interdiff sur <ulink url="http://cyberelk.net/tim/patchutils/"/>.
Si ces programmes ne sont pas dans le chemin du système, vous pouvez configurer
leurs emplacements dans <filename>localconfig</filename>.
</para>
</section>
<section id="bzldap">
<title>Authentification LDAP</title>
<para>L'authentification LDAP est un module pour l'architecture d'authentification
de plugin de Bugzilla.
</para>
<para>
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 <quote>displayName</quote> ou <quote>cn</quote> 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.
</para>
<caution>
<para>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 <filename>bugzilla_ldapsync.rb</filename>
dans le répertoire
<glossterm linkend="gloss-contrib"><filename class="directory">contrib</filename></glossterm>. Une autre solution possible est de corriger
le <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=201069">bogue
201069</ulink>.
</para>
</caution>
<para>Paramètres requis pour utiliser l'authentification LDAP :</para>
<variablelist>
<varlistentry id="param-loginmethod">
<term>loginmethod</term>
<listitem>
<para>Ce paramètre doit être fixé à <quote>LDAP</quote>
<emphasis>seulement</emphasis> si vous allez utiliser un répertoire LDAP
pour l'authentification. Si vous mettez ce paramètre à <quote>LDAP</quote> 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
<filename>data/params</filename> et mettre loginmethod à
<quote>DB</quote>.
</para>
</listitem>
</varlistentry>
<varlistentry id="param-LDAPserver">
<term>LDAPserver</term>
<listitem>
<para>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.
</para>
<para>Ex. <quote>ldap.company.com</quote>
ou <quote>ldap.company.com:3268</quote>
</para>
</listitem>
</varlistentry>
<varlistentry id="param-LDAPbinddn">
<term>LDAPbinddn [Optional]</term>
<listitem>
<para>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.
</para>
<para>Ex. <quote>cn=default,cn=user:password</quote></para>
</listitem>
</varlistentry>
<varlistentry id="param-LDAPBaseDN">
<term>LDAPBaseDN</term>
<listitem>
<para>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.
</para>
<para>Ex. <quote>ou=People,o=Company</quote></para>
</listitem>
</varlistentry>
<varlistentry id="param-LDAPuidattribute">
<term>LDAPuidattribute</term>
<listitem>
<para>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.
</para>
<para>Ex. <quote>uid</quote></para>
</listitem>
</varlistentry>
<varlistentry id="param-LDAPmailattribute">
<term>LDAPmailattribute</term>
<listitem>
<para>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.
</para>
<para>Ex. <quote>mail</quote></para>
</listitem>
</varlistentry>
</variablelist>
</section>
<section id="apache-addtype">
<title>Traitement des formats différents avec le type de MIME adéquat</title>
<para>
Certaines pages de Bugzilla ont des formats différents, autres que le
<acronym>HTML</acronym> ordinaire. En particulier, quelques pages peuvent
produire leur contenu soit en <acronym>XUL</acronym> (un format spécial
de Bugzilla, qui ressemble à un programme <acronym>GUI</acronym>) soit
en <acronym>RDF</acronym> (un genre d'<acronym>XML</acronym> structuré
qui peut être lu par de nombreux programmes).
</para>
<para>
Pour que vos utilisateurs voient ces pages correctement, Apache doit
les envoyer avec le type <acronym>MIME</acronym> adéquat. Pour ce faire,
ajoutez les lignes suivantes à la configuration d'Apache, soit dans la
section <computeroutput><VirtualHost></computeroutput> pour votre
Bugzilla, soit dans la section <computeroutput><Directory></computeroutput>
pour votre Bugzilla :
</para>
<para>
<screen>AddType application/vnd.mozilla.xul+xml .xul
AddType text/xml .rdf</screen>
</para>
</section>
</section>
<section id="os-specific">
<title>Notes d'installation sur un SE particulier</title>
<para>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.
</para>
<para>Si vous avez quelque chose à ajouter ou des notes pour un système d'exploitation non
traité ici, signalez le dans &bzg-bugs;.
</para>
<section id="os-win32">
<title>Microsoft Windows</title>
<para>
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.
</para>
<section id="win32-perl">
<title>Win32 Perl</title>
<para>
On peut obtenir Perl pour Windows sur
<ulink url="http://www.activestate.com/">ActiveState</ulink>.
Vous devriez pouvoir trouver un binaire compilé à <ulink
url="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/" />.
Les instructions suivantes supposent que vous utilisez la version
5.8.1 d'ActiveState.
</para>
</section>
<section id="win32-perl-modules">
<title>Perl Modules on Win32</title>
<para>
Bugzilla sous Windows nécessite l'utilisation des mêmes modules Perl que
ceux de <xref linkend="install-perlmodules"/>. La principale différence est que
Windows utilise <glossterm linkend="gloss-ppm">PPM</glossterm> au lieu
de CPAN.
</para>
<programlisting>
C:\perl> <command>ppm install <module name></command>
</programlisting>
<para>
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 :
</para>
<programlisting>
<command>ppm repository add landfill http://www.landfill.bugzilla.org/ppm/</command>
</programlisting>
<note>
<para>
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 <command>checksetup.pl</command> car il vous
dira quel package vous devrez installer.
</para>
</note>
<tip>
<para>
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.
</para>
</tip>
</section>
<section id="win32-code-changes">
<title>Changements de code nécessaires à l'exécution sur win32</title>
<para>
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
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=49893">bogue
49893</ulink>), 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 :
</para>
<programlisting>
open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") ||
die "Can't open sendmail";
print SENDMAIL trim($msg) . "\n";
close SENDMAIL;
</programlisting>
<para>
par
</para>
<programlisting>
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;
</programlisting>
<para>
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.
</para>
</section>
<section id="win32-http">
<title> Traitement des pages Web</title>
<para>
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 <xref linkend="security-webserver-access"/>. On trouvera plus
d'informations sur la configuration de serveurs web particuliers
dans la section <xref linkend="http"/>.
</para>
<note>
<para>
Si vous utilisez Apache sous Windows, vous pouvez mettre les instructions
<ulink url="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource">ScriptInterpreterSource</ulink>
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.
</para>
</note>
</section>
</section>
<section id="os-macosx">
<title><productname>Mac OS X</productname></title>
<para>Apple n'a pas inclus la bibliothèque GD dans MacOS X. Bugzilla
en a besoin pour les graphes de bogues.</para>
<para>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
<ulink url="http://sourceforge.net/projects/fink/"/>.</para>
<para>Suivez les instructions pour configurer Fink. Une fois qu'il est installé,
vous devez l'utiliser pour installer le paquetage <filename>gd2</filename>.
</para>
<para>
Fink va alors vous demander s'il doit résoudre un certain nombre
de dépendances. Saisissez <quote>y</quote> 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
<glossterm linkend="gloss-cpan">CPAN</glossterm> pour installer le
module Perl GD.
</para>
<note>
<para>Pour ne pas entrer en conflit avec les logiciels installés par
défaut par Apple, Fink crée sa propre arborescence dans
<filename class="directory">/sw</filename> et y place la plupart des
logiciels qu'il installe. Cela signifie que vos bibliothèques et vos entêtes
seront dans <filename class="directory">/sw/lib</filename> et
<filename class="directory">/sw/include</filename> au lieu de
<filename class="directory">/usr/lib</filename> et
<filename class="directory">/usr/include</filename>. Quand le
script de configuration du module Perl vous demande où est votre
<filename>libgd</filename>, dites lui bien
<filename class="directory">/sw/lib</filename>.
</para>
</note>
<para><filename>Expat</filename> 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 :
</para>
<screen>
# perl -MCPAN -e'look XML::Parser' <co id="macosx-look"/>
# perl Makefile.PL EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include
# make; make test; make install <co id="macosx-make"/>
# exit <co id="macosx-exit"/>
</screen>
<calloutlist>
<callout arearefs="macosx-look macosx-exit">
<para>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.
</para>
</callout>
<callout arearefs="macosx-make">
<para>Il vous faudra surveiller le résultat de ces commandes make,
surtout <quote>make test</quote> dont les erreurs peuvent empêcher XML::Parser
de fonctionner correctement avec Bugzilla.
</para>
</callout>
</calloutlist>
</section>
<section id="os-mandrake">
<title>Linux-Mandrake 8.0</title>
<para>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 <command>urpmi</command>. Si vous suivez ces commandes, vous
devriez avoir tout ce qu'il vous faut pour Bugzilla et
<command>./checksetup.pl</command> ne devrait pas se plaindre de
bibliothèques manquantes. Il se peut que vous ayez certaines de ces bibliothèques déjà installées.
</para>
<screen>
<prompt>bash#</prompt> <command>urpmi perl-mysql</command>
<prompt>bash#</prompt> <command>urpmi perl-chart</command>
<prompt>bash#</prompt> <command>urpmi perl-gd</command>
<prompt>bash#</prompt> <command>urpmi perl-MailTools</command> <co id="test-mailtools"/>
<prompt>bash#</prompt> <command>urpmi apache-modules</command>
</screen>
<calloutlist>
<callout arearefs="test-mailtools">
<para>pour l'intégration de la messagerie Bugzilla</para>
</callout>
</calloutlist>
</section>
</section>
<section id="nonroot">
<title>Notes d'installation sous UNIX (non administrateur)</title>
<section>
<title>Introduction</title>
<para>
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 <xref
linkend="installation" /> pour avoir une idée des étapes
d'installation nécessaires (ces notes renverront à des étapes de
ce guide).
</para>
</section>
<section>
<title>MySQL</title>
<para>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.</para>
<warning>
<para>Vous pourriez avoir des problèmes en essayant de régler les permissions
<command>GRANT</command> à 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 <command>GRANT</command>
pour vous.</para>
<para>En plus, vous ne pourrez sans doute pas changer le mot de passe
administrateur de MySQL (pour des raisons évidentes) alors sautez cette
étape.</para>
</warning>
<section>
<title>Exécuter MySQL comme non administrateur</title>
<section>
<title>La méthode de configuration personnalisée</title>
<para>
Créez un fichier .my.cnf dans votre répertoire home
(/home/foo est utilisé dans cet exemple) comme suit...
</para>
<programlisting>
[mysqld]
datadir=/home/foo/mymysql
socket=/home/foo/mymysql/thesock
port=8081
[mysql]
socket=/home/foo/mymysql/thesock
port=8081
[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/home/foo/mymysql/the.log
pid-file=/home/foo/mymysql/the.pid
</programlisting>
</section>
<section>
<title>La méthode de construction personnalisée</title>
<para>Vous pouvez installer MySQL en tant que non
<quote>root</quote>, si vous le souhaitez vraiment.
Construisez le avec <filename class="directory">/home/foo/mysql</filename> comme PREFIX
ou utilisez des exécutables pré installés, en spécifiant que vous voulez
mettre tous les fichiers de données dans <filename class="directory">/home/foo/mysql/data</filename>.
S'il y un autre serveur MySQL qui s'exécute sur le système dont vous
n'êtes pas le propriétaire, utilisez l'option -P pour indiquer un port TCP qui n'est pas
utilisé.</para>
</section>
<section>
<title>Démarrage du serveur</title>
<para>Après que votre programme mysqld soit construit et que les éventuels fichiers .my.cnf soient
en place, vous devez initialiser la base de données (UNE FOIS).</para>
<screen>
<prompt>bash$</prompt> <command>mysql_install_db</command>
</screen>
<para>Ensuite démarrez le démon avec</para>
<screen>
<prompt>bash$</prompt> <command>safe_mysql &</command>
</screen>
<para>
Après le premier démarrage de mysqld, connectez vous en tant
qu'administrateur et accordez les droits
<command>GRANT</command> aux autres utilisateurs. (Encore
une fois, le compte administrateur MySQL n'a rien à voir
avec le compte administrateur *NIX.)
</para>
<note>
<para>Vous devrez démarrer les démons vous-même. Vous pouvez soit
demander à votre administrateur système de les ajouter au fichier de démarrage, soit
ajouter une entrée crontab qui exécute un script qui fera une vérification de ces démons
et les redémarrera si besoin est.</para>
</note>
<warning>
<para>N'exécutez PAS de démons ou d'autres programmes sur un serveur avant de consulter
d'abord l'administrateur système ! Les démons consomment des ressources système
et en exécuter un peut être en contradiction avec les règles d'utilisation de
la machine sur laquelle vous êtes !</para>
</warning>
</section>
</section>
</section>
<section>
<title>Perl</title>
<para>Dans le cas très rare où vous n'auriez pas Perl sur
la machine, vous devrez construire les sources
vous-même. Avec les commandes suivantes, vous devriez pouvoir installer
votre propre version de Perl sur votre système avec :</para>
<screen>
<prompt>bash$</prompt> <command>wget http://perl.com/CPAN/src/stable.tar.gz</command>
<prompt>bash$</prompt> <command>tar zvxf stable.tar.gz</command>
<prompt>bash$</prompt> <command>cd perl-5.8.1</command> (ou quelque soit la version de Perl qui est appelée)
<prompt>bash$</prompt> <command>sh Configure -de -Dprefix=/home/foo/perl</command>
<prompt>bash$</prompt> <command>make && make test && make install</command>
</screen>
<para>Une fois que Perl est installé dans un répertoire (probablement
dans <filename class="directory">~/perl/bin</filename>), vous devrez
changer les emplacements dans les scripts, ce qui est expliqué plus loin dans
cette page.</para>
</section>
<section id="install-perlmodules-nonroot">
<title>Les modules Perl</title>
<para>
Installer les modules de Perl en tant que non administrateur est
probablement la partie la plus difficile du processus. Il y a deux
méthodes différentes : un Perl complètement indépendant avec
ses propres modules, ou des modules personnels utilisant la
version actuelle de Perl (installée par l'administrateur). La
méthode indépendante prend pas mal d'espace disque, mais est moins
complexe, alors que la méthode mixte n'utilise pas plus d'espace
que les modules eux-mêmes, mais demande plus de travail à
installer.
</para>
<section>
<title>La méthode indépendante</title>
<para>
La méthode indépendante nécessite l'installation de votre propre
version de Perl, comme on l'a expliqué dans la section
précédente. Une fois installée, vous pouvez lancer
l'interpréteur de commandes CPAN avec la commande
suivante :
</para>
<screen>
<prompt>bash$</prompt> <command>/home/foo/perl/bin/perl -MCPAN -e 'shell'</command>
</screen>
<para>Puis :</para>
<screen>
<prompt>cpan></prompt> <command>install Bundle::Bugzilla</command>
</screen>
<para>
Avec cette méthode, l'installation de module se fera
généralement avec beaucoup moins de difficultés, mais si vous
avez le moindre problème, vous pouvez consulter la section
suivante.
</para>
</section>
<section>
<title>La méthode mixte</title>
<para>
Tout d'abord, vous allez devoir configurer CPAN pour installer
les modules dans votre répertoire personnel. Voici ce que dit la
FAQ de CPAN à ce sujet :
</para>
<blockquote>
<para>
5) Je ne suis pas administrateur, comment puis-je installer un
module dans un répertoire personnel ?
</para>
<para>
Voici une façon de faire qui vous conviendra certainement :
</para>
<programlisting>
o conf makepl_arg "LIB=~/myperl/lib \
INSTALLMAN1DIR=~/myperl/man/man1 \
INSTALLMAN3DIR=~/myperl/man/man3"
install Sybase::Sybperl
</programlisting>
<para>
Vous pouvez rendre ce réglage permanent comme tous les
paramètres <quote>o conf</quote> à l'aide de :
</para>
<programlisting>
o conf commit
</programlisting>
<para>
Vous devrez ajouter ~/myperl/man à la variable d'environnement
MANPATH ainsi qu'indiquer à vos programmes Perl de regarder dans
<filename class="directory">~/myperl/lib</filename>, par exemple
en incluant :
</para>
<programlisting>
use lib "$ENV{HOME}/myperl/lib";
</programlisting>
<para>
ou en réglant la variable d'environnement PERL5LIB.
</para>
<para>
Une autre chose que vous devriez garder à l'esprit est que le
paramètre UNINST ne devrait jamais être activé si vous n'êtes
pas root.
</para>
</blockquote>
<para>
Il vous faudra donc créer un répertoire Perl dans votre
répertoire personnel, ainsi que les répertoires <filename
class="directory">lib</filename>, <filename
class="directory">man</filename>, <filename
class="directory">man/man1</filename>, et <filename
class="directory">man/man3</filename> dans ce répertoire Perl.
Réglez la variable MANPATH et la variable PERL5LIB afin que
l'installation des modules se fasse sans difficulté (régler
UNINST=0 dans vos options <quote>make install</quote> lors de la
première configuration de CPAN est aussi une bonne idée).
</para>
<para>
Ensuite, allez dans l'interpréteur de commandes CPAN :
</para>
<screen>
<prompt>bash$</prompt> <command>perl -MCPAN -e 'shell'</command>
</screen>
<para>
À partir de là, vous allez devoir entrer la commande <quote>o
conf</quote> présentée plus haut et valider les changements.
Puis vous pouvez lancer l'installation :
</para>
<screen>
<prompt>cpan></prompt> <command>install Bundle::Bugzilla</command>
</screen>
<para>
L'essentiel du processus d'installation de module devrait se
passer sans accrocs. Cependant, il se peut que vous ayez des
problèmes avec Template. Pour commencer, il va falloir essayer
d'installer Template avec les options XS Stash activée. Si ça ne
marche pas, il se peut qu'on vous balance des messages d'erreur
du compilateur C et qu'on vous renvoie à l'invite de
l'interpréteur de commande CPAN. Dans ce cas, recommencez
l'installation, et désactivez cette option. (En fait, répondez
non à toutes les questions sur Template.) Il est également
possible que le processus échoue à quelques tests. Si, au final,
le taux de réussite aux tests est raisonnable (90+%), forcez
l'installation à l'aide de la commande suivante :
</para>
<screen>
<prompt>cpan></prompt> <command>force install Template</command>
</screen>
<para>
Si vous le souhaitez, vous pouvez aussi installer les autres
modules optionnels :
</para>
<screen>
<prompt>cpan></prompt> <command>install GD</command>
<prompt>cpan></prompt> <command>install Chart::Base</command>
<prompt>cpan></prompt> <command>install MIME::Parser</command>
</screen>
</section>
</section>
<section>
<title>Serveur HTTP</title>
<para>Idéalement, il faut également l'installer en tant que root et
l'exécuter sous un compte serveur web particulier. Tant que
le serveur Web permettra l'exécution des fichiers *.cgi hors d'un
répertoire cgi-bin, ainsi qu'un moyen de refuser l'accès à certains fichiers (comme un
fichier .htaccess), vous devriez bien vous en sortir.</para>
<section>
<title>Lancer Apache en tant qu'utilisateur non root</title>
<para>
Vous pouvez lancer Apache en tant qu'utilisateur non root, mais
le port attribué devra être supérieur à 1024. Si vous entrez
<command>httpd -V</command>, vous obtiendrez une liste des
variables qu'utilise votre copie système de httpd. L'une d'entre
elles, à savoir HTTPD_ROOT, vous indique l'endroit où
l'installation cherche ses informations de configuration.
</para>
<para>
À partir de ce point, vous pouvez copier les fichiers de
configuration dans votre répertoire personnel pour commencer
leur modification. Lorsque vous les éditez et que vous utilisez
l'option -d pour outrepasser le HTTPD_ROOT compilé dans votre
serveur web, vous prenez le contrôle de votre propre serveur Web
personnalisé.
</para>
<note>
<para>
Vous devrez démarrer les démons vous-même. Vous pouvez soit
demander à votre administrateur système de les ajouter au
fichier de démarrage, soit ajouter une entrée crontab qui
exécute un script qui fera une vérification de ces démons et
les redémarrera si besoin est.
</para>
</note>
<warning>
<para>
N'exécutez PAS de démons ou d'autres programmes sur un serveur
avant de consulter d'abord l'administrateur système ! Les
démons consomment des ressources système et en exécuter un
peut être en contradiction avec les règles d'utilisation de la
machine sur laquelle vous êtes !
</para>
</warning>
</section>
</section>
<section>
<title>Bugzilla</title>
<para>
Si vous deviez installer des modules Perl en tant qu'utilisateur
non root (<xref linkend="install-perlmodules-nonroot" />) ou dans
des répertoires non standards, vous devrez modifier les scripts,
en spécifiant l'emplacement correct des modules Perl :
</para>
<programlisting>
perl -pi -e 's@use strict\;@use strict\; use lib \"/home/foo/perl/lib\"\;@' \
*cgi *pl Bug.pm processmail syncshadowdb
</programlisting>
<para>
Modifiez <filename
class="directory">/home/foo/perl/lib</filename> dans votre
répertoire de bibliotèques Perl personnel. Vous pouvez
vraisemblablement sauter cette étape si vous utilisez la méthode
indépendante d'installation du module Perl.
</para>
<para>
Lorsque vous lancerez <command>./checksetup.pl</command> pour
créer le fichier <filename>localconfig</filename>, il fera une
liste des modules Perl qu'il trouvera. S'il en manque un, revenez
en arrière et revérifiez l'installation du module depuis
l'interpréteur de commandes CPAN, puis supprimez le fichier
<filename>localconfig</filename> et réessayez.
</para>
<warning>
<para>
L'option dans <filename>localconfig</filename> avec laquelle
vous risquez d'avoir des problèmes est le groupe du serveur Web.
Si vous ne parvenez pas à remonter jusqu'à
<filename>index.cgi</filename> (vous obtenez une erreur du type
Accés Interdit, vous devrez peut-être être assouplir vos droits
d'accès et effacer le groupe du serveur Web. Bien entendu, cela
peut représenter un risque pour la sécurité. Il est vrai qu'un
interpréteur de commandes correctement sécurisé et/ou un accès
limité aux comptes munis d'interpréteurs de commandes diminuent
le risque au niveau sécurité, mais c'est à vous d'assumer.
</para>
</warning>
</section>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-always-quote-attributes:t
sgml-auto-insert-required-elements:t
sgml-balanced-tag-edit:t
sgml-exposed-tags:nil
sgml-general-insert-case:lower
sgml-indent-data:t
sgml-indent-step:2
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
sgml-minimize-attributes:nil
sgml-namecase-general:t
sgml-omittag:t
sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter")
sgml-shorttag:t
sgml-tag-region-if-active:t
End:
--><?xml version="1.0" encoding="UTF-8"?>
<!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//FR"> -->
<!-- $Id: installation.xml,v 1.2 2006/03/26 00:10:06 fevrier Exp $ -->
<chapter id="installing-bugzilla">
<title>Installer Bugzilla</title>
<section id="installation">
<title>Installation</title>
<note>
<para>Si vous voulez juste <emphasis>utiliser</emphasis> 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.
</para>
</note>
<para>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 <xref linkend="os-specific"/>
la section 2.4 avant de commencer votre installation pour voir si il n'y a pas d'instructions
particulières.
</para>
<para>
Comme alternative pour suivre ces instructions, vous pouvez essayer
<ulink url="http://www.softwaretesting.de/article/view/33/1/8/">
l'installation non officielle et non supportée</ulink> de Arne Schimarcher, qui installe Bugzilla et
tout le nécessaire sur des systèmes Linux ou Solaris.
</para>
<para>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é.
</para>
<warning>
<para>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.
</para>
</warning>
<para>
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 :-)
</para>
<para>Dans les grandes lignes, l'installation procède comme suit :
</para>
<procedure>
<step>
<para><link linkend="install-perl">Installation de Perl</link>
(&min-perl-ver; ou au dessus pour les plates-formes autres que Windows; &min-perl-ver-win;
pour Windows)
</para>
</step>
<step>
<para><link linkend="install-mysql">Installation de MySQL</link>
(&min-mysql-ver; ou au dessus)
</para>
</step>
<step>
<para><link linkend="install-webserver">Installation de un serveur Web</link>
</para>
</step>
<step>
<para><link linkend="install-bzfiles">Installation de Bugzilla</link>
</para>
</step>
<step>
<para><link linkend="install-perlmodules">Installation des modules de Perl</link>
</para>
</step>
<step>
<para>
<link linkend="install-MTA">Installation d'un Agent de Transfert de Mail</link>
(Sendmail 8.7 ou au dessus, ou un ATM qui est compatible avec Sendmail avec au moins cette version)
</para>
</step>
<step>
<para>Configuration de tout ce qui précède.
</para>
</step>
</procedure>
<section id="install-perl">
<title>Perl</title>
<para>Test de la version installée : <filename>perl -v</filename></para>
<para>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 <ulink url="http://www.perl.com"/>. Bien que Bugzilla fonctionne avec Perl &min-perl-ver;,
c'est une bonne idée d'utiliser la dernière version stable.
Au moment où ces lignes sont écrites, c'est Perl &newest-perl-ver;.</para>
</section>
<section id="install-mysql">
<title>MySQL</title>
<para>Test de la version installée : <filename>mysql -V</filename></para>
<para>
Si vous ne l'avez pas et que votre système d'exploitation ne fournit pas de paquetages officiels,
allez sur <ulink url="http://www.mysql.com"/>. Vous avez besoin de MySQL version
&min-mysql-ver; ou supérieure.
</para>
<note>
<para>
De nombreuses versions binaires de MySQL stockent leurs fichiers
de données dans le répertoire <filename
class="directory">/var</filename>. 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 à
<filename>configure</filename>.
</para>
</note>
<para>
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.
</para>
</section>
<section id="install-webserver">
<title>Serveur Web</title>
<para>
Test de la version installée : regardez la page de bienvenue
par défaut à http://<votre-machine>/
</para>
<para>
Là, vous avez le choix, à peu près tous les serveurs web capables
de faire fonctionner les scripts <glossterm
linkend="gloss-cgi">CGI</glossterm> 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 &bzg-bugs;.
</para>
<para>
Si vous n'avez pas Apache et que votre système d'exploitation ne
fournit pas de paquetage officiel, allez sur <ulink
url="http://httpd.apache.org/"/>.
</para>
</section>
<section id="install-bzfiles">
<title>Bugzilla</title>
<para>
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
<quote>apache</quote> ou <quote>www</quote>). Le mieux est de la
mettre soit directement dans l'espace web principal de votre ou
peut être dans <filename>/usr/local</filename> avec un lien
symbolique provenant de l'espace web.
</para>
<caution>
<para>
La distribution Bugzilla par défaut n'est PAS conçue pour être
placée dans un répertoire <filename
class="directory">cgi-bin</filename>. Ceci est valable pour
chaque répertoire configuré à l'aide de l'instruction du
<option>ScriptAlias</option> d'Apache.
</para>
</caution>
<para>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
<filename>checksetup.pl</filename>,
ce qui terminera votre installation.</para>
</section>
<section id="install-perlmodules">
<title>Modules Perl</title>
<para>
Le processus d'installation de Bugzilla s'appuie sur un script
nommé <filename>checksetup.pl</filename>. 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, <emphasis>ne l'exécutez
pas à nouveau</emphasis>, mais passez à <xref
linkend="configuration"/>.
</para>
<para>
À 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 :
</para>
<screen>
<prompt>bash#</prompt> ./checksetup.pl
</screen>
<!-- We really need a "module-check" switch for checksetup,
which we can use here to make it really clear when they've got
all the modules. -->
<para>
<filename>checksetup.pl</filename> 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.
</para>
<para>
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.
</para>
<para>
Le mode préféré pour installer des modules de Perl est via CPAN sur
UNIX, ou PPM sur Windows (voir <xref linkend="win32-perl-modules"/>).
Ces instructions supposent que vous utilisez CPAN ; si pour une
raison ou une autre vous devez installer les modules de Perl
manuellement, consultez <xref linkend="install-perlmodules-manual"/>.
</para>
<screen><prompt>bash#</prompt> perl -MCPAN -e 'install "<modulename>"'</screen>
<para>
Si vous utilisez Bundle::Bugzilla, invoquez la commande magique CPAN.
Sinon, vous devez parcourir la liste des modules que
<filename>checksetup.pl</filename> dit être obligatoires, dans
l'ordre donné, en invoquant la commande pour chacun d'eux.
</para>
<tip>
<para>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
<quote>@INC</quote>.
À 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
<emphasis>êtes</emphasis> 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.</para>
</tip>
<para>
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.
</para>
<para>Modules Perl obligatoires :
<orderedlist>
<listitem>
<para>
AppConfig (&min-appconfig-ver;)
</para>
</listitem>
<listitem>
<para>
CGI (&min-cgi-ver;)
</para>
</listitem>
<listitem>
<para>
Data::Dumper (&min-data-dumper-ver;)
</para>
</listitem>
<listitem>
<para>
Date::Format (&min-date-format-ver;)
</para>
</listitem>
<listitem>
<para>
DBI (&min-dbi-ver;)
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-dbd-mysql">DBD::mysql</link>
(&min-dbd-mysql-ver;)
</para>
</listitem>
<listitem>
<para>
File::Spec (&min-file-spec-ver;)
</para>
</listitem>
<listitem>
<para>
File::Temp (&min-file-temp-ver;)
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-template">Template</link>
(&min-template-ver;)
</para>
</listitem>
<listitem>
<para>
Text::Wrap (&min-text-wrap-ver;)
</para>
</listitem>
</orderedlist>
Modules Perl facultatifs :
<orderedlist>
<listitem>
<para>
<link linkend="install-modules-gd">GD</link>
(&min-gd-ver;) pour les graphiques de bogues
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-chart-base">Chart::Base</link>
(&min-chart-base-ver;) pour les graphiques de bogues
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-gd-graph">GD::Graph</link>
(&min-gd-graph-ver;) pour les graphiques de bogues
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-gd-text-align">GD::Text::Align</link>
(&min-gd-text-align-ver;) pour les graphiques de bogues
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-xml-parser">XML::Parser</link>
(&min-xml-parser-ver;) pour l'interface XML
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-patchreader">PatchReader</link>
(&min-patchreader-ver;) pour une jolie vue en HTML des correctifs
</para>
</listitem>
<listitem>
<para>
<link linkend="install-modules-mime-parser">MIME::Parser</link>
(&min-mime-parser-ver;) pour l'interface facultative par courrier électronique
</para>
</listitem>
</orderedlist>
</para>
<section id="install-modules-dbd-mysql">
<title>DBD::mysql</title>
<para>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.</para>
<para>
Une machine hôte <quote>localhost</quote> sera suffisante. Un
utilisateur de tests <quote>test</quote>, 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 <quote>test</quote> que
MySQL génère à l'installation.
</para>
</section>
<section id="install-modules-template">
<title>Template Toolkit (&min-template-ver;)</title>
<para>
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 <quote>XS Stash</quote>
du Template Toolkit, pour réaliser de meilleures performances.
</para>
</section>
<section id="install-modules-gd">
<title>GD (&min-gd-ver;)</title>
<para>Le module GD n'est nécessaire que si vous voulez des rapports graphiques.
</para>
<note>
<para>Le module Perl GD nécessite d'autres bibliothèques qui peuvent
ou non être installées sur votre système, telles que
<classname>libpng</classname>
et
<classname>libgd</classname>.
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.</para>
</note>
<tip>
<para>La version du module GD dont vous avez besoin est très étroitement liée
à la version de <classname>libgd</classname> installée sur votre système.
Si vous avez une version 1.x de <classname>libgd</classname>, les versions
2.x du module GD ne fonctionneront pas chez vous.
</para>
</tip>
</section>
<section id="install-modules-chart-base">
<title>Chart::Base (&min-chart-base-ver;)</title>
<para>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.</para>
</section>
<section id="install-modules-gd-graph">
<title>GD::Graph (&min-gd-graph-ver;)</title>
<para>Le module GD::Graph n'est nécessaire que si vous voulez des
rapports graphiques.
</para>
</section>
<section id="install-modules-gd-text-align">
<title>GD::Text::Align (&min-gd-text-align-ver;)</title>
<para>Le module GD::Text::Align n'est nécessaire que si vous voulez des
rapports graphiques.
</para>
</section>
<section id="install-modules-xml-parser">
<title>XML::Parser (&min-xml-parser-ver;)</title>
<para>
Le module XML::Parser n'est nécessaire que si vous souhaitez
importer les bogues XML en utilisant le script
<filename>importxml.pl</filename>. Ceci est nécessaire pour
utiliser la fonctionnalité <quote>changement d'état d'un
bogue</quote> [<quote>move bugs</quote>] 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
<classname>expat</classname> soit déjà installée sur votre
machine.
</para>
</section>
<section id="install-modules-mime-parser">
<title>MIME::Parser (&min-mime-parser-ver;)</title>
<para>Le module MIME::Parser est nécessaire seulement si vous voulez
utiliser l'interface de messagerie électronique située dans le répertoire
<filename class="directory">contrib</filename>.
</para>
</section>
<section id="install-modules-patchreader">
<title>PatchReader (&min-patchreader-ver;)</title>
<para>Le module PatchReader est nécessaire seulement si vous voulez
utiliser le <quote>Patch Viewer</quote>, fonctionnalité de
Bugzilla qui permet
de montrer des correctifs de code dans votre navigateur WEB sous une
forme plus lisible.
</para>
</section>
</section>
<section id="install-MTA">
<title>Mail Transfer Agent (MTA)</title>
<para>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.</para>
<para>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.</para>
<para>
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.
</para>
<para>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.</para>
<para>
Si un simple message électronique envoyé avec la ligne de commande
<command>mail</command> fonctionne, alors Bugzilla devrait
également être opérationnel.
</para>
</section>
</section>
<section id="configuration">
<title>Configuration</title>
<warning>
<para>
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 <xref linkend="security"/>.
</para>
</warning>
<section id="localconfig">
<title>localconfig</title>
<para>
Dès que vous exécutez <filename>checksetup.pl</filename> avec tous
les bons modules installés, il affiche un message
concernant un fichier nommé <filename>localconfig</filename>
qu'il crée. Ce fichier contient les réglages par défaut pour un
certain nombre de paramètres de Bugzilla.
</para>
<para>
Chargez ce fichier dans votre éditeur. La seule valeur que vous
<emphasis>devez</emphasis>
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
<quote>guillemet unique</quote>) que vous avez choisi.
</para>
<para>
Les commentaires fournis dans le fichier
<filename>localconfig</filename> 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 <quote>$db_*</quote>.
</para>
<para>
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
<filename>checksetup.pl</filename>, les changements seront mis à
jour.
</para>
</section>
<section id="mysql">
<title>MySQL</title>
<caution>
<para>
La configuration par défaut de MySQL est très vulnérable.
<xref linkend="security-mysql"/> donne des informations utiles pour
améliorer la sécurité de votre installation.
</para>
</caution>
<section id="install-setupdatabase">
<title>Autoriser les fichiers joints volumineux</title>
<para>
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 <filename>/etc/my.cnf</filename>
comme indiqué ci-dessous.
</para>
<para>
Si vous utilisez MySQL 4.0 ou plus récente, entrez :
</para>
<screen>
[mysqld]
# Allow packets up to 1M
max_allowed_packet=1M
</screen>
<para>
Si vous utilisez une version plus vieille de MySQL, entrez :
</para>
<screen>
[mysqld]
# Allow packets up to 1M
set-variable = max_allowed_packet=1M
</screen>
<para>
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' <emphasis>ou</emphasis> 'maxattachmentsize'
ne seront pas acceptées par Bugzilla.
</para>
</section>
<section>
<title>Autoriser les mots courts dans les index en texte intégral</title>
<para>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 <quote>cc</quote>,
<quote>ftp</quote> et <quote>uri</quote>.</para>
<para>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 <filename>/etc/my.cnf</filename>
selon l'exemple ci-dessous :</para>
<screen>
[mysqld]
# Allow small words in full-text indexes
ft_min_word_len=2
</screen>
<para>
La reconstruction des index peut être faite en s'appuyant sur la
documentation trouvée à <ulink
url="http://www.mysql.com/doc/en/Fulltext_Fine-tuning.html"/>.
(N.D.T. : la version française se trouve à <ulink
url="http://www.mysql.com/doc/fr/Fulltext_Fine-tuning.html"/>).
</para>
<note>
<para>
Le paramètre Ft_min_word_len est supporté seulement dans
MySQL v4 ou supérieure.
</para>
</note>
</section>
<section>
<title>Permettre à la table des fichiers joints de passer à une taille supérieure à 4 Go</title>
<para>
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.
</para>
<para>
Exécutez le client en ligne de commande
<filename>MySQL</filename> et entrez :
</para>
<screen>
<prompt>mysql></prompt> ALTER TABLE attachments AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;
</screen>
<para>
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.
</para>
</section>
<section id="install-setupdatabase-adduser">
<title>Ajouter un utilisateur à MySQL</title>
<para>
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 <filename>localconfig</filename>; si vous changez ces
derniers, vous devez changer la commande MySQL de façon appropriée.
Vous aurez besoin du mot de passe <replaceable>$db_pass</replaceable>
vous avez mis dans <filename>localconfig</filename> dans
<xref linkend="localconfig"/>.
</para>
<para>
Nous utilisons la commande SQL <command>GRANT</command> pour créer
un utilisateur <quote>bugs</quote>. Cela restreint également les
opérations de l'utilisateur <quote>bugs</quote> à celles agissant
sur la base de données <quote>bugs</quote> et n'autorise le compte
à se connecter que depuis <quote>localhost</quote>. Modifiez cela
en fonction de votre configuration si vous devez vous connecter
plus tard depuis une autre machine ou sous un autre utilisateur.
</para>
<para>
Exécutez le client en ligne de commande <filename>mysql</filename>.
</para>
<para>
Si vous utilisez MySQL 4.0 ou plus récent, entrez :
</para>
<screen> <prompt>mysql></prompt> GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
TO bugs@localhost IDENTIFIED BY '<replaceable>$db_pass</replaceable>';
<prompt>mysql></prompt> FLUSH PRIVILEGES;</screen>
<para>
Si vous utilisez une version plus ancienne de MySQL, les
permissions de
<computeroutput>LOCK TABLES</computeroutput> et
<computeroutput>CREATE TEMPORARY TABLES</computeroutput>
seront indisponibles et doivent être supprimées de la liste
des permissions. Dans ce cas, on peut utiliser la ligne de
commande suivante :
</para>
<screen> <prompt>mysql></prompt> GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, DROP,
REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY
'<replaceable>$db_pass</replaceable>';
<prompt>mysql></prompt> FLUSH PRIVILEGES;</screen>
</section>
</section>
<section>
<title>checksetup.pl</title>
<para>
Ensuite, réexécutez <filename>checksetup.pl</filename>. 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 <quote>bugs</quote> que vous avez créé
et le mot de passe que vous avez défini et il crée la base de
données de <quote>bugs</quote> et les tables incluses.
</para>
<para>
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é.
</para>
<para>
<filename>checksetup.pl</filename> a maintenant fini. Vous pouvez réexécuter
<filename>checksetup.pl</filename> quand vous le souhaitez.
</para>
</section>
<section id="http">
<title>Web server</title>
<para>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 <xref linkend="security-webserver-access"/>.
</para>
<section id="http-apache">
<title><productname>httpd</productname> d'Apache</title>
<para>Chargez <filename>httpd.conf</filename> dans votre editeur.</para>
<para>Décommentez (ou ajouter) la ligne suivante.
Ceci autorise Apache à exécuter les fichiers .cgi files en dehors du
répertoire <filename class="directory">cgi-bin</filename>.
</para>
<programlisting> AddHandler cgi-script .cgi</programlisting>
<para>Apache utilise les directives <computeroutput><Directory></computeroutput>
pour peaufiner les droits.
Ajoutez les deux lignes suivantes à une directive
<computeroutput><Directory></computeroutput> qui
s'applique soît au répertoire Bugzilla ou l'un de ses parents
(i.e. la directive <computeroutput><Directory /var/www/html></computeroutput>).
Ceci autorisent les fichiers <filename>.htaccess</filename> de Bugzilla à
outrepasser les permissions globales. et permet aux fichiers .cgi de tourner dans le
répertoire Bugzilla.
</para>
<programlisting>
Options +ExecCGI +FollowSymLinks
AllowOverride Limit
</programlisting>
<para>
Ajoutez <filename>index.cgi</filename> à la fin de la ligne
<computeroutput>DirectoryIndex</computeroutput>.
</para>
<para>
<filename>checksetup.pl</filename> 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 <literal>Group</literal> dans
<filename>httpd.conf</filename> et placez la valeur que vous y
trouvez dans la variable
<replaceable>$webservergroup</replaceable> dans
<filename>localconfig</filename>. Puis réexécutez
<filename>checksetup.pl</filename>.
</para>
</section>
<section id="http-iis">
<title><productname>Internet Information Services</productname> de Microsoft</title>
<para>
Si vous êtes en train d'exécuter Bugzilla sous Windows et que
vous choisissez d'utiliser <productname>Internet Information
Services</productname> ou <productname>Personal Web
Server</productname> 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 : <ulink
url="http://support.microsoft.com/default.aspx?scid=kb;en-us;245225">245225</ulink>
<quote>HOW TO: Configure and Test a PERL Script with IIS 4.0,
5.0, and 5.1</quote> (pour <productname>Internet Information
Services</productname>) (N.D.T. : <ulink
url="http://support.microsoft.com/default.aspx?scid=kb;fr-fr;245225"><quote>HOW
TO : configurez et testez un script PERL avec IIS 4.0,
5.0 et 5.1</quote></ulink>) et <ulink
url="http://support.microsoft.com/default.aspx?scid=kb;en-us;231998">231998</ulink>
<quote>HOW TO: FP2000: How to Use Perl with Microsoft Personal
Web Server on Windows 95/98</quote> (pour
<productname>Personal Web Server</productname>) (N.D.T. : <ulink
url="http://support.microsoft.com/default.aspx?scid=kb;fr-fr;231998"><quote>HOW
TO : FP2000 : Perl utilisation avec serveur Web
personnel Microsoft sous Windows 95/98</quote></ulink>).
</para>
<para>
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
<emphasis>différent</emphasis> 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
<quote>http://<lenomdevotredomaine>/Bugzilla</quote>, ne
mettez <emphasis>pas</emphasis> les fichiers de Bugzilla dans
un répertoire appelé <quote>Bugzilla</quote>. 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é <quote>Bugzilla</quote> 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
<quote>Execute (comme les applications ISAPI ou CGI)</quote>.
</para>
<para>
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 :
</para>
<programlisting>
<chemin complet vers perl.exe >\perl.exe -x<chemin complet vers Bugzilla> -wT "%s" %s
</programlisting>
<para>
Par exemple :
</para>
<programlisting>
c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s
</programlisting>
<note>
<para>
L'installation d'ActiveState peut avoir déjà créé une entrée pour
les fichiers .pl qui est limitée à <quote>GET,HEAD,POST</quote>. Si
c'est le cas, cette application doit être <emphasis>supprimée</emphasis> car
les fichiers .pl de Bugzilla ne sont pas conçus pour être exécutés via un serveur web.
</para>
</note>
<para>
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.
</para>
<para>
De plus, et on ne le soulignera jamais assez, assurez-vous que les fichiers
tels que <filename>localconfig</filename> et votre
répertoire <filename class="directory">data</filename> sont
sécurisés comme décrit dans <xref linkend="security-webserver-access"/>.
</para>
</section>
<section id="http-aol">
<title>Serveur AOL</title>
<para>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.
</para>
<para>Le serveur AOL devra être configuré pour pouvoir exécuter les
scripts <glossterm linkend="gloss-cgi">CGI</glossterm>, veuillez consulter
la documentation qui va avec votre serveur pour plus d'information sur
la façon de procéder.
</para>
<para>Parce que les serveurs AOL ne supportent pas les fichiers
<filename>.htaccess</filename>, vous devrez créer un script
<glossterm linkend="gloss-tcl">TCL</glossterm>. Vous devrez créer un
<filename>aolserver/modules/tcl/filter.tcl</filename> (le nom du fichier
sera sans importance) avec le contenu suivant (remplacez
<computeroutput>/bugzilla/</computeroutput> par le chemin web de
votre instance Bugzilla) :
</para>
<programlisting>
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"
}
</programlisting>
<warning>
<para>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
<filename>localconfig</filename>. Pour plus d'informations, voyez le
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=186383">
bogue 186383</ulink> ou <ulink
url="http://online.securityfocus.com/bid/6501">Bugtraq ID 6501</ulink>.
</para>
</warning>
<note>
<para>Si vous utilisez le logiciel webdot depuis research.att.com (la configuration
par défaut pour le paramètre <option>webdotbase</option>), vous
devrez autoriser l'accès à <filename>data/webdot/*.dot</filename>
pour la machine reasearch.att.com.
</para>
<para>Si vous utilisez une installation locale de <ulink
url="http://www.graphviz.org">GraphViz</ulink>, vous devrez autoriser
tout le monde à accéder aux <filename>*.png</filename>,
<filename>*.gif</filename>, <filename>*.jpg</filename> et
<filename>*.map</filename> dans le répertoire
<filename class="directory">data/webdot</filename>.
</para>
</note>
</section>
</section>
<section id="install-config-bugzilla">
<title>Bugzilla</title>
<para>
Votre Bugzilla devrait maintenant fonctionner. Allez sur
<filename>http://<your-bugzilla-server>/</filename> —
vous devriez voir la page d'accueil
de Bugzilla. Si ce n'est pas le cas, consultez la section Dépannage,
<xref linkend="troubleshooting"/>.
</para>
<para>
Identifiez vous avec le compte administrateur que vous avez défini lors de la dernière
exécution de <filename>checksetup.pl</filename>. Vous devriez parcourir
les options sur la page <quote>Edit Parameters</quote>
(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 <xref linkend="parameters"/>;
vous devrez certainement modifier
<command>maintainer</command> et <command>urlbase</command>;
vous pouvez aussi modifier
<command>cookiepath</command> ou <command>requirelogin</command>.
</para>
<para>
Cela pourrait être l'occasion de refaire un tour sur le fichier
<filename>localconfig</filename> 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 <filename>checksetup.pl</filename> si vous changez ce dernier.
</para>
<para>
Bugzilla a plusieurs options facultatives qui nécessitent des configurations
supplémentaires. Vous pouvez vous documenter à ce sujet dans
<xref linkend="extraconfig"/>.
</para>
</section>
</section>
<section id="extraconfig">
<title>Configuration supplémentaire facultative</title>
<para>
Bugzilla a un nombre important d'options. Cette section décrit comment
les configurer ou les activer.
</para>
<section>
<title>Les graphiques de bogues</title>
<para>Si vous avez installé les modules Perl nécessaires, vous
pouvez commencer à collecter des statistiques pour les superbes graphes
Bugzilla.</para>
<screen><prompt>bash#</prompt> <command>crontab -e</command></screen>
<para>
Ceci devrait afficher le fichier crontab dans votre éditeur.
Ajoutez une entrée <quote>cron</quote> comme ceci pour exécuter
<filename>collectstats.pl</filename>
tous les jours à minuit 5 :
</para>
<programlisting>5 0 * * * cd <your-bugzilla-directory> ; ./collectstats.pl</programlisting>
<para>
Deux jours après, vous pourrez visualiser les graphiques de bogues depuis
la page de rapport de bogue.
</para>
<note>
<para>
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
<ulink url="http://www.nncron.ru/">nncron</ulink>.
</para>
</note>
</section>
<section>
<title>Diagrammes de dépendance</title>
<para>Tout comme les arborescences de dépendance en mode texte, Bugzilla permet
également des aperçus graphiques, en utilisant un logiciel appelé
<quote>dot</quote>.
C'est le paramètre webdotbase qui en assure précisément le fonctionnement ;
il peut prendre l'une de ces trois valeurs :
</para>
<para>
<orderedlist>
<listitem>
<para>
Le chemin d'accès complet à la commande 'dot' (qui fait partie de
<ulink url="http://www.graphviz.org/">GraphViz</ulink>)
qui va générer les graphiques localement.
</para>
</listitem>
<listitem>
<para>
Un préfixe URL pointant vers une installation du logiciel webdot qui va
générer les graphiques à distance.
</para>
</listitem>
<listitem>
<para>
Une valeur nulle qui désactive les graphiques de dépendance.
</para>
</listitem>
</orderedlist>
</para>
<para>
La façon la plus simple de le faire fonctionner est d'installer
<ulink url="http://www.graphviz.org/">GraphViz</ulink>. Dans ce
cas, vous devez <ulink
url="http://httpd.apache.org/docs/mod/mod_imap.html">activer les
cartes d'image côté serveur</ulink> 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. <emphasis>Note du rédacteur : Mais
bon sang, qu'est ce que c'est que ce HARTS ? Google ne sait
pas...</emphasis>
</para>
</section>
<section>
<title>Le planificateur de pleurnicherie</title>
<para>
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.
</para>
<para>
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 :
</para>
<programlisting>55 0 * * * cd <your-bugzilla-directory> ; ./whineatnews.pl</programlisting>
<note>
<para>
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
<ulink url="http://www.nncron.ru/">nncron</ulink>.
</para>
</note>
</section>
<section id="patch-viewer">
<title>Patch Viewer</title>
<para>
Patch Viewer est le moteur qui permet l'affichage graphique des
correctifs. Vous pouvez l'intégrer avec des copies des
outils <filename>cvs</filename>, <filename>lxr</filename> et
<filename>bonsai</filename> si vous les avez, en donnant
l'emplacement de votre installation de ces outils dans
<filename>editparams.cgi</filename>.
</para>
<para>
Patch Viewer pourra aussi éventuellement utiliser les
utilitaires de ligne de commande <filename>cvs</filename>,
<filename>diff</filename> et <filename>interdiff</filename>
s'ils existent sur le système.
On peut obtenir Interdiff sur <ulink url="http://cyberelk.net/tim/patchutils/"/>.
Si ces programmes ne sont pas dans le chemin du système, vous pouvez configurer
leurs emplacements dans <filename>localconfig</filename>.
</para>
</section>
<section id="bzldap">
<title>Authentification LDAP</title>
<para>L'authentification LDAP est un module pour l'architecture d'authentification
de plugin de Bugzilla.
</para>
<para>
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 <quote>displayName</quote> ou <quote>cn</quote> 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.
</para>
<caution>
<para>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 <filename>bugzilla_ldapsync.rb</filename>
dans le répertoire
<glossterm linkend="gloss-contrib"><filename class="directory">contrib</filename></glossterm>. Une autre solution possible est de corriger
le <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=201069">bogue
201069</ulink>.
</para>
</caution>
<para>Paramètres requis pour utiliser l'authentification LDAP :</para>
<variablelist>
<varlistentry id="param-loginmethod">
<term>loginmethod</term>
<listitem>
<para>Ce paramètre doit être fixé à <quote>LDAP</quote>
<emphasis>seulement</emphasis> si vous allez utiliser un répertoire LDAP
pour l'authentification. Si vous mettez ce paramètre à <quote>LDAP</quote> 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
<filename>data/params</filename> et mettre loginmethod à
<quote>DB</quote>.
</para>
</listitem>
</varlistentry>
<varlistentry id="param-LDAPserver">
<term>LDAPserver</term>
<listitem>
<para>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.
</para>
<para>Ex. <quote>ldap.company.com</quote>
ou <quote>ldap.company.com:3268</quote>
</para>
</listitem>
</varlistentry>
<varlistentry id="param-LDAPbinddn">
<term>LDAPbinddn [Optional]</term>
<listitem>
<para>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.
</para>
<para>Ex. <quote>cn=default,cn=user:password</quote></para>
</listitem>
</varlistentry>
<varlistentry id="param-LDAPBaseDN">
<term>LDAPBaseDN</term>
<listitem>
<para>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.
</para>
<para>Ex. <quote>ou=People,o=Company</quote></para>
</listitem>
</varlistentry>
<varlistentry id="param-LDAPuidattribute">
<term>LDAPuidattribute</term>
<listitem>
<para>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.
</para>
<para>Ex. <quote>uid</quote></para>
</listitem>
</varlistentry>
<varlistentry id="param-LDAPmailattribute">
<term>LDAPmailattribute</term>
<listitem>
<para>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.
</para>
<para>Ex. <quote>mail</quote></para>
</listitem>
</varlistentry>
</variablelist>
</section>
<section id="apache-addtype">
<title>Traitement des formats différents avec le type de MIME adéquat</title>
<para>
Certaines pages de Bugzilla ont des formats différents, autres que le
<acronym>HTML</acronym> ordinaire. En particulier, quelques pages peuvent
produire leur contenu soit en <acronym>XUL</acronym> (un format spécial
de Bugzilla, qui ressemble à un programme <acronym>GUI</acronym>) soit
en <acronym>RDF</acronym> (un genre d'<acronym>XML</acronym> structuré
qui peut être lu par de nombreux programmes).
</para>
<para>
Pour que vos utilisateurs voient ces pages correctement, Apache doit
les envoyer avec le type <acronym>MIME</acronym> adéquat. Pour ce faire,
ajoutez les lignes suivantes à la configuration d'Apache, soit dans la
section <computeroutput><VirtualHost></computeroutput> pour votre
Bugzilla, soit dans la section <computeroutput><Directory></computeroutput>
pour votre Bugzilla :
</para>
<para>
<screen>AddType application/vnd.mozilla.xul+xml .xul
AddType text/xml .rdf</screen>
</para>
</section>
</section>
<section id="os-specific">
<title>Notes d'installation sur un SE particulier</title>
<para>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.
</para>
<para>Si vous avez quelque chose à ajouter ou des notes pour un système d'exploitation non
traité ici, signalez le dans &bzg-bugs;.
</para>
<section id="os-win32">
<title>Microsoft Windows</title>
<para>
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.
</para>
<section id="win32-perl">
<title>Win32 Perl</title>
<para>
On peut obtenir Perl pour Windows sur
<ulink url="http://www.activestate.com/">ActiveState</ulink>.
Vous devriez pouvoir trouver un binaire compilé à <ulink
url="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/" />.
Les instructions suivantes supposent que vous utilisez la version
5.8.1 d'ActiveState.
</para>
</section>
<section id="win32-perl-modules">
<title>Perl Modules on Win32</title>
<para>
Bugzilla sous Windows nécessite l'utilisation des mêmes modules Perl que
ceux de <xref linkend="install-perlmodules"/>. La principale différence est que
Windows utilise <glossterm linkend="gloss-ppm">PPM</glossterm> au lieu
de CPAN.
</para>
<programlisting>
C:\perl> <command>ppm install <module name></command>
</programlisting>
<para>
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 :
</para>
<programlisting>
<command>ppm repository add landfill http://www.landfill.bugzilla.org/ppm/</command>
</programlisting>
<note>
<para>
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 <command>checksetup.pl</command> car il vous
dira quel package vous devrez installer.
</para>
</note>
<tip>
<para>
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.
</para>
</tip>
</section>
<section id="win32-code-changes">
<title>Changements de code nécessaires à l'exécution sur win32</title>
<para>
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
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=49893">bogue
49893</ulink>), 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 :
</para>
<programlisting>
open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") ||
die "Can't open sendmail";
print SENDMAIL trim($msg) . "\n";
close SENDMAIL;
</programlisting>
<para>
par
</para>
<programlisting>
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;
</programlisting>
<para>
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.
</para>
</section>
<section id="win32-http">
<title> Traitement des pages Web</title>
<para>
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 <xref linkend="security-webserver-access"/>. On trouvera plus
d'informations sur la configuration de serveurs web particuliers
dans la section <xref linkend="http"/>.
</para>
<note>
<para>
Si vous utilisez Apache sous Windows, vous pouvez mettre les instructions
<ulink url="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource">ScriptInterpreterSource</ulink>
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.
</para>
</note>
</section>
</section>
<section id="os-macosx">
<title><productname>Mac OS X</productname></title>
<para>Apple n'a pas inclus la bibliothèque GD dans MacOS X. Bugzilla
en a besoin pour les graphes de bogues.</para>
<para>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
<ulink url="http://sourceforge.net/projects/fink/"/>.</para>
<para>Suivez les instructions pour configurer Fink. Une fois qu'il est installé,
vous devez l'utiliser pour installer le paquetage <filename>gd2</filename>.
</para>
<para>
Fink va alors vous demander s'il doit résoudre un certain nombre
de dépendances. Saisissez <quote>y</quote> 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
<glossterm linkend="gloss-cpan">CPAN</glossterm> pour installer le
module Perl GD.
</para>
<note>
<para>Pour ne pas entrer en conflit avec les logiciels installés par
défaut par Apple, Fink crée sa propre arborescence dans
<filename class="directory">/sw</filename> et y place la plupart des
logiciels qu'il installe. Cela signifie que vos bibliothèques et vos entêtes
seront dans <filename class="directory">/sw/lib</filename> et
<filename class="directory">/sw/include</filename> au lieu de
<filename class="directory">/usr/lib</filename> et
<filename class="directory">/usr/include</filename>. Quand le
script de configuration du module Perl vous demande où est votre
<filename>libgd</filename>, dites lui bien
<filename class="directory">/sw/lib</filename>.
</para>
</note>
<para><filename>Expat</filename> 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 :
</para>
<screen>
# perl -MCPAN -e'look XML::Parser' <co id="macosx-look"/>
# perl Makefile.PL EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include
# make; make test; make install <co id="macosx-make"/>
# exit <co id="macosx-exit"/>
</screen>
<calloutlist>
<callout arearefs="macosx-look macosx-exit">
<para>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.
</para>
</callout>
<callout arearefs="macosx-make">
<para>Il vous faudra surveiller le résultat de ces commandes make,
surtout <quote>make test</quote> dont les erreurs peuvent empêcher XML::Parser
de fonctionner correctement avec Bugzilla.
</para>
</callout>
</calloutlist>
</section>
<section id="os-mandrake">
<title>Linux-Mandrake 8.0</title>
<para>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 <command>urpmi</command>. Si vous suivez ces commandes, vous
devriez avoir tout ce qu'il vous faut pour Bugzilla et
<command>./checksetup.pl</command> ne devrait pas se plaindre de
bibliothèques manquantes. Il se peut que vous ayez certaines de ces bibliothèques déjà installées.
</para>
<screen>
<prompt>bash#</prompt> <command>urpmi perl-mysql</command>
<prompt>bash#</prompt> <command>urpmi perl-chart</command>
<prompt>bash#</prompt> <command>urpmi perl-gd</command>
<prompt>bash#</prompt> <command>urpmi perl-MailTools</command> <co id="test-mailtools"/>
<prompt>bash#</prompt> <command>urpmi apache-modules</command>
</screen>
<calloutlist>
<callout arearefs="test-mailtools">
<para>pour l'intégration de la messagerie Bugzilla</para>
</callout>
</calloutlist>
</section>
</section>
<section id="nonroot">
<title>Notes d'installation sous UNIX (non administrateur)</title>
<section>
<title>Introduction</title>
<para>
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 <xref
linkend="installation" /> pour avoir une idée des étapes
d'installation nécessaires (ces notes renverront à des étapes de
ce guide).
</para>
</section>
<section>
<title>MySQL</title>
<para>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.</para>
<warning>
<para>Vous pourriez avoir des problèmes en essayant de régler les permissions
<command>GRANT</command> à 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 <command>GRANT</command>
pour vous.</para>
<para>En plus, vous ne pourrez sans doute pas changer le mot de passe
administrateur de MySQL (pour des raisons évidentes) alors sautez cette
étape.</para>
</warning>
<section>
<title>Exécuter MySQL comme non administrateur</title>
<section>
<title>La méthode de configuration personnalisée</title>
<para>
Créez un fichier .my.cnf dans votre répertoire home
(/home/foo est utilisé dans cet exemple) comme suit...
</para>
<programlisting>
[mysqld]
datadir=/home/foo/mymysql
socket=/home/foo/mymysql/thesock
port=8081
[mysql]
socket=/home/foo/mymysql/thesock
port=8081
[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/home/foo/mymysql/the.log
pid-file=/home/foo/mymysql/the.pid
</programlisting>
</section>
<section>
<title>La méthode de construction personnalisée</title>
<para>Vous pouvez installer MySQL en tant que non
<quote>root</quote>, si vous le souhaitez vraiment.
Construisez le avec <filename class="directory">/home/foo/mysql</filename> comme PREFIX
ou utilisez des exécutables pré installés, en spécifiant que vous voulez
mettre tous les fichiers de données dans <filename class="directory">/home/foo/mysql/data</filename>.
S'il y un autre serveur MySQL qui s'exécute sur le système dont vous
n'êtes pas le propriétaire, utilisez l'option -P pour indiquer un port TCP qui n'est pas
utilisé.</para>
</section>
<section>
<title>Démarrage du serveur</title>
<para>Après que votre programme mysqld soit construit et que les éventuels fichiers .my.cnf soient
en place, vous devez initialiser la base de données (UNE FOIS).</para>
<screen>
<prompt>bash$</prompt> <command>mysql_install_db</command>
</screen>
<para>Ensuite démarrez le démon avec</para>
<screen>
<prompt>bash$</prompt> <command>safe_mysql &</command>
</screen>
<para>
Après le premier démarrage de mysqld, connectez vous en tant
qu'administrateur et accordez les droits
<command>GRANT</command> aux autres utilisateurs. (Encore
une fois, le compte administrateur MySQL n'a rien à voir
avec le compte administrateur *NIX.)
</para>
<note>
<para>Vous devrez démarrer les démons vous-même. Vous pouvez soit
demander à votre administrateur système de les ajouter au fichier de démarrage, soit
ajouter une entrée crontab qui exécute un script qui fera une vérification de ces démons
et les redémarrera si besoin est.</para>
</note>
<warning>
<para>N'exécutez PAS de démons ou d'autres programmes sur un serveur avant de consulter
d'abord l'administrateur système ! Les démons consomment des ressources système
et en exécuter un peut être en contradiction avec les règles d'utilisation de
la machine sur laquelle vous êtes !</para>
</warning>
</section>
</section>
</section>
<section>
<title>Perl</title>
<para>Dans le cas très rare où vous n'auriez pas Perl sur
la machine, vous devrez construire les sources
vous-même. Avec les commandes suivantes, vous devriez pouvoir installer
votre propre version de Perl sur votre système avec :</para>
<screen>
<prompt>bash$</prompt> <command>wget http://perl.com/CPAN/src/stable.tar.gz</command>
<prompt>bash$</prompt> <command>tar zvxf stable.tar.gz</command>
<prompt>bash$</prompt> <command>cd perl-5.8.1</command> (ou quelque soit la version de Perl qui est appelée)
<prompt>bash$</prompt> <command>sh Configure -de -Dprefix=/home/foo/perl</command>
<prompt>bash$</prompt> <command>make && make test && make install</command>
</screen>
<para>Une fois que Perl est installé dans un répertoire (probablement
dans <filename class="directory">~/perl/bin</filename>), vous devrez
changer les emplacements dans les scripts, ce qui est expliqué plus loin dans
cette page.</para>
</section>
<section id="install-perlmodules-nonroot">
<title>Les modules Perl</title>
<para>
Installer les modules de Perl en tant que non administrateur est
probablement la partie la plus difficile du processus. Il y a deux
méthodes différentes : un Perl complètement indépendant avec
ses propres modules, ou des modules personnels utilisant la
version actuelle de Perl (installée par l'administrateur). La
méthode indépendante prend pas mal d'espace disque, mais est moins
complexe, alors que la méthode mixte n'utilise pas plus d'espace
que les modules eux-mêmes, mais demande plus de travail à
installer.
</para>
<section>
<title>La méthode indépendante</title>
<para>
La méthode indépendante nécessite l'installation de votre propre
version de Perl, comme on l'a expliqué dans la section
précédente. Une fois installée, vous pouvez lancer
l'interpréteur de commandes CPAN avec la commande
suivante :
</para>
<screen>
<prompt>bash$</prompt> <command>/home/foo/perl/bin/perl -MCPAN -e 'shell'</command>
</screen>
<para>Puis :</para>
<screen>
<prompt>cpan></prompt> <command>install Bundle::Bugzilla</command>
</screen>
<para>
Avec cette méthode, l'installation de module se fera
généralement avec beaucoup moins de difficultés, mais si vous
avez le moindre problème, vous pouvez consulter la section
suivante.
</para>
</section>
<section>
<title>La méthode mixte</title>
<para>
Tout d'abord, vous allez devoir configurer CPAN pour installer
les modules dans votre répertoire personnel. Voici ce que dit la
FAQ de CPAN à ce sujet :
</para>
<blockquote>
<para>
5) Je ne suis pas administrateur, comment puis-je installer un
module dans un répertoire personnel ?
</para>
<para>
Voici une façon de faire qui vous conviendra certainement :
</para>
<programlisting>
o conf makepl_arg "LIB=~/myperl/lib \
INSTALLMAN1DIR=~/myperl/man/man1 \
INSTALLMAN3DIR=~/myperl/man/man3"
install Sybase::Sybperl
</programlisting>
<para>
Vous pouvez rendre ce réglage permanent comme tous les
paramètres <quote>o conf</quote> à l'aide de :
</para>
<programlisting>
o conf commit
</programlisting>
<para>
Vous devrez ajouter ~/myperl/man à la variable d'environnement
MANPATH ainsi qu'indiquer à vos programmes Perl de regarder dans
<filename class="directory">~/myperl/lib</filename>, par exemple
en incluant :
</para>
<programlisting>
use lib "$ENV{HOME}/myperl/lib";
</programlisting>
<para>
ou en réglant la variable d'environnement PERL5LIB.
</para>
<para>
Une autre chose que vous devriez garder à l'esprit est que le
paramètre UNINST ne devrait jamais être activé si vous n'êtes
pas root.
</para>
</blockquote>
<para>
Il vous faudra donc créer un répertoire Perl dans votre
répertoire personnel, ainsi que les répertoires <filename
class="directory">lib</filename>, <filename
class="directory">man</filename>, <filename
class="directory">man/man1</filename>, et <filename
class="directory">man/man3</filename> dans ce répertoire Perl.
Réglez la variable MANPATH et la variable PERL5LIB afin que
l'installation des modules se fasse sans difficulté (régler
UNINST=0 dans vos options <quote>make install</quote> lors de la
première configuration de CPAN est aussi une bonne idée).
</para>
<para>
Ensuite, allez dans l'interpréteur de commandes CPAN :
</para>
<screen>
<prompt>bash$</prompt> <command>perl -MCPAN -e 'shell'</command>
</screen>
<para>
À partir de là, vous allez devoir entrer la commande <quote>o
conf</quote> présentée plus haut et valider les changements.
Puis vous pouvez lancer l'installation :
</para>
<screen>
<prompt>cpan></prompt> <command>install Bundle::Bugzilla</command>
</screen>
<para>
L'essentiel du processus d'installation de module devrait se
passer sans accrocs. Cependant, il se peut que vous ayez des
problèmes avec Template. Pour commencer, il va falloir essayer
d'installer Template avec les options XS Stash activée. Si ça ne
marche pas, il se peut qu'on vous balance des messages d'erreur
du compilateur C et qu'on vous renvoie à l'invite de
l'interpréteur de commande CPAN. Dans ce cas, recommencez
l'installation, et désactivez cette option. (En fait, répondez
non à toutes les questions sur Template.) Il est également
possible que le processus échoue à quelques tests. Si, au final,
le taux de réussite aux tests est raisonnable (90+%), forcez
l'installation à l'aide de la commande suivante :
</para>
<screen>
<prompt>cpan></prompt> <command>force install Template</command>
</screen>
<para>
Si vous le souhaitez, vous pouvez aussi installer les autres
modules optionnels :
</para>
<screen>
<prompt>cpan></prompt> <command>install GD</command>
<prompt>cpan></prompt> <command>install Chart::Base</command>
<prompt>cpan></prompt> <command>install MIME::Parser</command>
</screen>
</section>
</section>
<section>
<title>Serveur HTTP</title>
<para>Idéalement, il faut également l'installer en tant que root et
l'exécuter sous un compte serveur web particulier. Tant que
le serveur Web permettra l'exécution des fichiers *.cgi hors d'un
répertoire cgi-bin, ainsi qu'un moyen de refuser l'accès à certains fichiers (comme un
fichier .htaccess), vous devriez bien vous en sortir.</para>
<section>
<title>Lancer Apache en tant qu'utilisateur non root</title>
<para>
Vous pouvez lancer Apache en tant qu'utilisateur non root, mais
le port attribué devra être supérieur à 1024. Si vous entrez
<command>httpd -V</command>, vous obtiendrez une liste des
variables qu'utilise votre copie système de httpd. L'une d'entre
elles, à savoir HTTPD_ROOT, vous indique l'endroit où
l'installation cherche ses informations de configuration.
</para>
<para>
À partir de ce point, vous pouvez copier les fichiers de
configuration dans votre répertoire personnel pour commencer
leur modification. Lorsque vous les éditez et que vous utilisez
l'option -d pour outrepasser le HTTPD_ROOT compilé dans votre
serveur web, vous prenez le contrôle de votre propre serveur Web
personnalisé.
</para>
<note>
<para>
Vous devrez démarrer les démons vous-même. Vous pouvez soit
demander à votre administrateur système de les ajouter au
fichier de démarrage, soit ajouter une entrée crontab qui
exécute un script qui fera une vérification de ces démons et
les redémarrera si besoin est.
</para>
</note>
<warning>
<para>
N'exécutez PAS de démons ou d'autres programmes sur un serveur
avant de consulter d'abord l'administrateur système ! Les
démons consomment des ressources système et en exécuter un
peut être en contradiction avec les règles d'utilisation de la
machine sur laquelle vous êtes !
</para>
</warning>
</section>
</section>
<section>
<title>Bugzilla</title>
<para>
Si vous deviez installer des modules Perl en tant qu'utilisateur
non root (<xref linkend="install-perlmodules-nonroot" />) ou dans
des répertoires non standards, vous devrez modifier les scripts,
en spécifiant l'emplacement correct des modules Perl :
</para>
<programlisting>
perl -pi -e 's@use strict\;@use strict\; use lib \"/home/foo/perl/lib\"\;@' \
*cgi *pl Bug.pm processmail syncshadowdb
</programlisting>
<para>
Modifiez <filename
class="directory">/home/foo/perl/lib</filename> dans votre
répertoire de bibliotèques Perl personnel. Vous pouvez
vraisemblablement sauter cette étape si vous utilisez la méthode
indépendante d'installation du module Perl.
</para>
<para>
Lorsque vous lancerez <command>./checksetup.pl</command> pour
créer le fichier <filename>localconfig</filename>, il fera une
liste des modules Perl qu'il trouvera. S'il en manque un, revenez
en arrière et revérifiez l'installation du module depuis
l'interpréteur de commandes CPAN, puis supprimez le fichier
<filename>localconfig</filename> et réessayez.
</para>
<warning>
<para>
L'option dans <filename>localconfig</filename> avec laquelle
vous risquez d'avoir des problèmes est le groupe du serveur Web.
Si vous ne parvenez pas à remonter jusqu'à
<filename>index.cgi</filename> (vous obtenez une erreur du type
Accés Interdit, vous devrez peut-être être assouplir vos droits
d'accès et effacer le groupe du serveur Web. Bien entendu, cela
peut représenter un risque pour la sécurité. Il est vrai qu'un
interpréteur de commandes correctement sécurisé et/ou un accès
limité aux comptes munis d'interpréteurs de commandes diminuent
le risque au niveau sécurité, mais c'est à vous d'assumer.
</para>
</warning>
</section>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-always-quote-attributes:t
sgml-auto-insert-required-elements:t
sgml-balanced-tag-edit:t
sgml-exposed-tags:nil
sgml-general-insert-case:lower
sgml-indent-data:t
sgml-indent-step:2
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
sgml-minimize-attributes:nil
sgml-namecase-general:t
sgml-omittag:t
sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter")
sgml-shorttag:t
sgml-tag-region-if-active:t
End:
-->