3.2. Linux

Beaucoup de distributions GNU Linux/BSD incluent Bugzilla et ses dépendances dans leur système de gestion de paquets natif. Installer Bugzilla avec un accès root sur tout système GNU Linux/BSD devrait être aussi facile que de trouver le paquet Bugzilla dans l’application de gestion de paquet et de l’installer en utilisant la syntaxe de commande normale. Il peut y avoir toutefois un peu de paramétrage supplémentaire à faire.

Si vous installez votre machine à partir de zéro, Démarrage rapide (Ubuntu Linux 22.04) contient probablement les meilleures instructions dans votre cas.

3.2.1. Installer les paquets

Utilisez les gestionnaires de paquets de votre distribution pour installer Perl, votre moteur de base de données préféré (MySQL ou MariaDB dans le doute) et un serveur Web (Apache dans le doute). Certaines distributions proposent même un paquet Bugzilla, cependant, celui-ci peut-être un peu vieux.

Les commandes ci-dessous installeront ceux-ci et d’autres paquets nécessaires au fonctionnement de Bugzilla. Si un paquet ne s’installe pas ou si le nom n’est pas trouvé, retirez-le de la liste et relancez la commande. Si vous utilisez un autre moteur de base de données ou un autre serveur Web, substituez les noms de paquets avec les libellés appropriés.

3.2.1.1. Fedora, CentOS Stream et RHEL

Les commandes suivantes installeront le paquet Bugzilla fourni par Fedora :

yum install bugzilla httpd mariadb-server

Ensuite, vous pourrez alors consulter configuration de la base de données. Il peut être utile de savoir que Fedora stockent les fichiers Bugzilla dans /usr/share/bugzilla. C’est donc dans ce répertoire qu’il faudra exécuter checksetup.pl.

Si vous voulez installer une version de Bugzilla fournie par le projet Bugzilla sur RHEL ou CentOS manuellement, vous devrez suivre les instructions suivantes :

Sur CentOS Stream and RHEL, ajouter le dépôt Fedora EPEL comme indiqué dans les instructions d’installation.

Lancer la commande suivante pour installer les dépendances de Bugzilla :

dnf install git httpd httpd-devel mariadb-devel gcc mariadb-server mod_perl mod_perl-devel 'perl(autodie)' 'perl(CGI)' 'perl(Date::Format)' 'perl(DateTime)' 'perl(DateTime::TimeZone)' 'perl(DBI)' 'perl(DBD::mysql)' 'perl(DBIx::Connector)' 'perl(Digest::SHA)' 'perl(Email::MIME)' 'perl(Email::Sender)' 'perl(fields)' 'perl(JSON::XS)' 'perl(List::MoreUtils)' 'perl(Math::Random::ISAAC)' 'perl(Memoize)' 'perl(Safe)' 'perl(Template)' 'perl(URI)'

Sur Fedora, toutes les dépendances optionnelles sont disponibles :

dnf install gd-devel graphviz patchutils 'perl(Apache2::SizeLimit)' 'perl(Authen::Radius)' 'perl(Authen::SASL)' 'perl(Cache::Memcached)' 'perl(Chart::Lines)' 'perl(Daemon::Generic)' 'perl(Email::Reply)' 'perl(Encode)' 'perl(Encode::Detect)' 'perl(File::Copy::Recursive)' 'perl(File::MimeInfo::Magic)' 'perl(File::Which)' 'perl(GD)' 'perl(GD::Graph)' 'perl(GD::Text)' 'perl(HTML::FormatText::WithLinks)' 'perl(HTML::Parser)' 'perl(HTML::Scrubber)' 'perl(IO::Scalar)' 'perl(JSON::RPC)' 'perl(LWP::UserAgent)' 'perl(MIME::Parser)' 'perl(mod_perl2)' 'perl(Net::LDAP)' 'perl(Net::SMTP::SSL)' 'perl(PatchReader)' 'perl(SOAP::Lite)' 'perl(Template::Plugin::GD::Image)' 'perl(Test::Taint)' 'perl(TheSchwartz)' 'perl(XMLRPC::Lite)' 'perl(XML::Twig)'

Sur CentOS Stream et RHEL avec EPEL, quelques modules sont absents des dépôts. Il faut donc utiliser la commande suivante :

dnf install gd-devel graphviz patchutils 'perl(Apache2::SizeLimit)' 'perl(Authen::Radius)' 'perl(Authen::SASL)' 'perl(Cache::Memcached)' 'perl(Encode)' 'perl(Encode::Detect)' 'perl(File::Copy::Recursive)' 'perl(File::MimeInfo::Magic)' 'perl(File::Which)' 'perl(GD)' 'perl(GD::Graph)' 'perl(GD::Text)' 'perl(HTML::Parser)' 'perl(HTML::Scrubber)' 'perl(IO::Scalar)' 'perl(JSON::RPC)' 'perl(LWP::UserAgent)' 'perl(MIME::Parser)' 'perl(mod_perl2)' 'perl(Net::LDAP)' 'perl(Net::SMTP::SSL)' 'perl(SOAP::Lite)' 'perl(Test::Taint)' 'perl(XMLRPC::Lite)' 'perl(XML::Twig)'

et installer les modules optionnels avec la commande :

cd /var/www/html/bugzilla/ && ./install-module.pl Chart::Lines Daemon::Generic Email::Reply HTML::FormatText::WithLinks PatchReader Template::Plugin::GD::Image TheSchwartz

Si vous projetez d’utiliser un moteur de base de données autre que MariaDB, vous devrez alors aussi installer les paquets appropriés.

3.2.1.2. Ubuntu et Debian

Vous pouvez installer les paquets nécessaires avec la commande : apt install apache2 build-essential git libcgi-pm-perl libdatetime-perl libdatetime-timezone-perl libdbi-perl libdbix-connector-perl libdigest-sha-perl libemail-address-perl libemail-mime-perl libemail-sender-perl libjson-xs-perl liblist-moreutils-perl libmath-random-isaac-perl libtemplate-perl libtimedate-perl liburi-perl libmariadb-dev-compat libdbd-mysql-perl mariadb-server

Si vous projetez d’utiliser un moteur de base de données autre que MariaDB, vous devrez alors aussi installer les paquets appropriés. Dans la commande ci-dessus, les paquets nécessaires pour MariaDB sont : libdbd-mysql-perl, libmariadb-dev-compat et mariadb-server).

Vous pouvez installer les paquets optionnels avec la commande : apt install graphviz libapache2-mod-perl2 libapache2-mod-perl2-dev libauthen-radius-perl libauthen-sasl-perl libcache-memcached-perl libchart-perl libdaemon-generic-perl libemail-reply-perl libencode-detect-perl libencode-perl libfile-copy-recursive-perl libfile-mimeinfo-perl libfile-which-perl libgd-dev libgd-graph-perl libgd-perl libgd-text-perl libhtml-formattext-withlinks-perl libhtml-parser-perl libhtml-scrubber-perl libio-stringy-perl libjson-rpc-perl libmime-tools-perl libnet-ldap-perl libnet-smtp-ssl-perl libsoap-lite-perl libtemplate-plugin-gd-perl libtest-taint-perl libtheschwartz-perl libwww-perl libxmlrpc-lite-perl libxml-twig-perl

Il n’existe pas de paquet Debian ou Ubuntu pour PatchReader. Si vous en avez besoin, vous devrez l’installer par un aure moyen que le gestionnaire de paquets.

3.2.1.3. Gentoo

emerge -av bugzilla

installera Bugzilla et toutes ses dépendances. Si vous n’avez pas le flag vhosts USE activé, Bugzilla sera installé dans /var/www/localhost/bugzilla.

Vous pourrez ensuite vous rendre dans Configuration de la base de données.

3.2.1.4. openSUSE

zypper in bugzilla

Il est disponible dans les dépôts openSUSE Leap depuis la version 15.2 et dans les dépôts openSUSE Tumbleweed. Un paquet optionnel bugzilla-apache est disponible et permet de passer outre la configuration de la base de données.

3.2.2. Perl

Testez la version de Perl installée avec la commande suivante :

$ perl -v

Bugzilla nécessite au minimum la version Perl 5.14.0.

3.2.3. Bugzilla

Le meilleur moyen d’obtenir Bugzilla est de le faire par git :

git clone --branch release-X.X-stable https://github.com/bugzilla/bugzilla

Exécutez la commande ci-dessus dans votre répertoire home, en remplaçant X.X avec les deux nombres de la version stable de Bugzilla que vous désirez - par ex. 4.4.

Si ce n’est pas possible, vous pouvez télécharger l’archive de Bugzilla <http://www.bugzilla.org/download/>`_.

Placez Bugzilla dans le répertoire approprié, accessible par l’utilisateur du serveur Web (probablement apache ou www-data). Un bon emplacement est soit directement à la racine du serveur Web (souvent /var/www/html) soit dans /usr/local, avec un lien symbolique vers la racine du serveur Web ou un alias dans la configuration du serveur Web.

Avertissement

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

3.2.4. Perl Modules

Bugzilla nécessite de nombreux modules Perl. Vous pouvez les installer globalement en utilisant le gestionnaire de paquets de votre distribution, ou en installant des copies utilisées seulement pour Bugzilla. Parfois, Bugzilla peut nécessiter une version d’un module Perl plus récent que celui fourni par votre distribution, auquel cas, vous devrez installer une copie de cette version utilisée par Bugzilla seulement.

Vous devrez alors être root, par ex. en utilisant la commande su. Vous devrez rester root jusqu’à la fin de l’installation. Ceci peut être évité dans certaines circonstances si vous êtes membre du groupe du serveur Web, mais être root est plus facile et fonctionne toujours.

Pour vérifier si vous avez tous les modules nécessaires, exécutez la commande :

./checksetup.pl --check-modules

Vous pouvez lancer cette commande autant de fois que nécessaire.

Si vous n’avez pas déjà tous les modules nécessaires, vous pouvez les installer en utilisant le gestionnaire de paquets de votre distribution. Vous pouvez alternativement installer tous les modules manquants localement (c-à-d. seulement pour Bugzilla) comme ceci :

./install-module.pl --all

Vous pouvez également indiquer un nom de module individuel :

./install-module.pl <modulename>

3.2.5. Serveur Web

Tout serveur Web en mesure d’exécuter des scripts CGI peut être utilisé. Nous avons des instructions spécifiques pour les suivants :

3.2.6. Moteur de base de données

Bugzilla peut fonctionner avec les moteurs de base de données MySQL, MariaDB, PostgreSQL, Oracle et SQLite. Vous n’avez besoin que d’un seul de ces moteurs pour utiliser Bugzilla. MySQL et MariaDB sont les plus couramment utilisés. SQLite est adapté pour des installations de test car il ne nécessite pas de configuration. Configurez votre serveur en suivant les instructions ci-dessous :

3.2.7. localconfig

Vous devez maintenant exécuter checksetup.pl à nouveau, cette fois sans l’argument --check-modules.

./checksetup.pl

Cette fois, checksetup.pl devrait vous dire que tous les modules appropriés sont installés et affichera un message à ce sujet, et générera un fichier de sortie appelé localconfig. Ce fichier contient les paramètres par défaut pour un grand nombre de paramètres de Bugzilla.

Ouvrez ce fichier dans votre éditeur. Les deux seules valeurs que vous avez besoin de changer sont $db_driver et $db_pass, respectivement le type de base de données et le mot de passe pour l’utilisateur qui créera pour vous la base de données. Choisissez un mot de passe compliqué (pour la simplicité, il ne devrait pas contenir d’apostrophe) et saisissez-le dans le fichier. $db_driver peut être mysql, Pg (PostgreSQL), oracle ou SQLite.

Définissez la valeur de $webservergroup avec le nom groupe avec lequel votre serveur Web s’exécute.

  • Fedora/Red Hat : apache

  • Debian/Ubuntu : www-data

  • Mac OS X : _www

  • Windows : ignorez ce paramètre car il n’est pas utile pour ce système d’exploitation

Les autres options dans le fichier localconfig sont documentées avec leurs commentaires. Si vous avez une configuration de base de données non standard, vous aurez peut-être besoin de modifier d’autres paramètres $db_*.

Note

Sous Oracle, $db_name devrait en fait être le nom du SID de votre base de données (par ex. XE si vous utilisez Oracle XE).

3.2.8. checksetup.pl

Ensuite, exécutez checksetup.pl une nouvelle fois :

./checksetup.pl

Il confirmera à nouveau que tous les modules sont présents et remarquera la modification du fichier localconfig, en supposant que vous l’avez modifié à votre convenance. Il compile ensuite les modèles de l’interface utilisateur, se connecte à la base de données en utilisant l’utilisateur bugs que vous avez créé et le mot de passe que vous avez défini et crée enfin la base de données bugs et les tables à l’intérieur.

Après cela, il demande des détails sur le compte administrateur. Bugzilla peut avoir plusieurs administrateurs –vous pouvez en créer d’autres plus tard– mais il en a besoin d’un pour démarrer. Saisissez l’adresse électronique d’un administrateur, son nom complet, et un mot de passe approprié pour Bugzilla.

checksetup.pl se terminera alors. Vous pouvez relancer checksetup.pl à tout moment si vous le souhaitez.

3.2.9. Bravo

Votre installation Bugzilla devrait à présent fonctionner. Vérifiez-le en exécutant la commande suivante :

./testserver.pl http://<your-bugzilla-server>/

Si elle passe sans erreur, accédez à http://<your-bugzilla-server>/ dans votre navigateur –vous devriez alors voir la page d’accueil de Bugzilla. Bien sûr, si vous avez installé Bugzilla dans un sous-répertoire, assurez-vous que celui-ci figure dans URL.

Ensuite, consultez Configuration post-installation essentielle.


Cette documentation contient très probablement des bogues ; si vous en découvrez, veuillez les signaler ici.