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 14.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 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 et Red Hat¶
Les commandes suivantes installeront le paquet Bugzilla fourni par Red Hat :
yum install bugzilla httpd mysql-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 à partir du projet Bugzilla, vous aurez alors besoin des paquets suivants :
yum install httpd mysql-server mod_perl mod_perl-devel httpd-devel gd-devel mysql-devel graphviz patchutils gcc 'perl(Apache2::SizeLimit)' 'perl(Authen::Radius)' 'perl(Authen::SASL)' 'perl(Cache::Memcached)' 'perl(CGI)' 'perl(Chart::Lines)' 'perl(Daemon::Generic)' 'perl(Date::Format)' 'perl(DateTime)' 'perl(DateTime::TimeZone)' 'perl(DBI)' 'perl(Digest::SHA)' 'perl(Email::MIME)' 'perl(Email::Reply)' 'perl(Email::Sender)' 'perl(Encode)' 'perl(Encode::Detect)' 'perl(File::MimeInfo::Magic)' 'perl(File::Slurp)' '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(JSON::XS)' 'perl(List::MoreUtils)' 'perl(LWP::UserAgent)' 'perl(Math::Random::ISAAC)' 'perl(MIME::Parser)' 'perl(mod_perl2)' 'perl(Net::LDAP)' 'perl(Net::SMTP::SSL)' 'perl(PatchReader)' 'perl(SOAP::Lite)' 'perl(Template)' 'perl(Template::Plugin::GD::Image)' 'perl(Test::Taint)' 'perl(TheSchwartz)' 'perl(URI)' 'perl(XMLRPC::Lite)' 'perl(XML::Twig)'
Si vous utilisez RHEL6, vous devrez activer le canal RHEL Server Optional
dans RHN pour obtenir certains paquets.
Si vous projetez d'utiliser un moteur de base de données autre que MySQL, vous devrez alors aussi installer les paquets appropriés.
3.2.1.2. Ubuntu et Debian¶
apt-get install git nano
apt-get install apache2 mysql-server libappconfig-perl libdate-calc-perl libtemplate-perl libmime-perl build-essential libdatetime-timezone-perl libdatetime-perl libemail-sender-perl libemail-mime-perl libemail-mime-modifier-perl libdbi-perl libdbd-mysql-perl libcgi-pm-perl libmath-random-isaac-perl libmath-random-isaac-xs-perl apache2-mpm-prefork libapache2-mod-perl2 libapache2-mod-perl2-dev libchart-perl libxml-perl libxml-twig-perl perlmagick libgd-graph-perl libtemplate-plugin-gd-perl libsoap-lite-perl libhtml-scrubber-perl libjson-rpc-perl libdaemon-generic-perl libtheschwartz-perl libtest-taint-perl libauthen-radius-perl libfile-slurp-perl libencode-detect-perl libmodule-build-perl libnet-ldap-perl libauthen-sasl-perl libtemplate-perl-doc libfile-mimeinfo-perl libhtml-formattext-withlinks-perl libgd-dev libmysqlclient-dev lynx-cur graphviz python-sphinx
Si vous projetez d'utiliser un moteur de base de données autre que MySQL, vous devrez alors aussi installer les paquets appropriés.
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.2. Perl¶
Testez la version de Perl installée avec la commande suivante :
$ perl -v
Bugzilla nécessite au minimum la version Perl 5.10.1.
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, PostgreSQL, Oracle et SQLite. Vous n'avez besoin que d'un seul de ces moteurs pour utiliser Bugzilla. MySQL est le plus couramment utilisé. 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.