<?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: -->