Comment installer Bugzilla Bug Tracker sur Debian 11

Bugzilla est un système de suivi des bugs gratuit et open-source qui nous permet de suivre les bugs et de collaborer avec les développeurs et les autres équipes de notre organisation. Il nous aide à suivre efficacement les bugs, les problèmes et autres demandes de modification dans leurs produits. Il a été adopté par des milliers d’organisations dans le monde entier en raison de ses fonctionnalités robustes. Il est écrit en Perl et utilise MySQL/MariaDB comme backend de base de données.

Dans cet article, je vais t’expliquer comment installer Bugzilla sur Debian 11.

Conditions préalables

  • Un serveur fonctionnant sous Debian 11.
  • Un nom de domaine valide pointé avec l’IP de ton serveur.
  • Un mot de passe root est configuré sur ton serveur.

Installe les dépendances requises

Tout d’abord, mets tous les paquets système à la version mise à jour à l’aide de la commande suivante :

apt-get update -y

Ensuite, installe tous les modules Perl requis à l’aide de la commande suivante :

apt-get install build-essential libdatetime-timezone-perl libappconfig-perl libdate-calc-perl libtemplate-perl libmime-tools-perl libdatetime-perl libemail-sender-perl libemail-mime-perl libemail-mime-perl libdbi-perl libdbd-mysql-perl libcgi-pm-perl libmath-random-isaac-perl libmath-random-isaac-xs-perl 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 libhtml-formattext-withlinks-perl libgd-dev graphviz sphinx-common rst2pdf libemail-address-perl libemail-reply-perl libfile-slurp-perl libencode-detect-perl libmodule-build-perl libnet-ldap-perl libfile-which-perl libauthen-sasl-perl libfile-mimeinfo-perl -y

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Installe Apache et MariaDB

Ensuite, installe le serveur de base de données Apache et MariaDB en exécutant la commande suivante :

apt-get install apache2 mariadb-server mariadb-client -y

Une fois les deux paquets installés, démarre le service Apache et MariaDB à l’aide de la commande suivante :

systemctl start apache2
systemctl start mariadb

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configurer la base de données MariaDB

Ensuite, tu devras créer une base de données et un utilisateur pour Bugzilla.

Tout d’abord, connecte-toi au shell MariaDB à l’aide de la commande indiquée ci-dessous :

mysql

Une fois que tu es connecté, crée une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE bugzilla;
MariaDB [(none)]> CREATE USER 'buguser'@'localhost' IDENTIFIED BY 'password';

Ensuite, accorde tous les privilèges à la base de données Bugzilla avec la commande suivante :

MariaDB [(none)]> GRANT ALL PRIVILEGES ON bugzilla.* TO 'buguser'@'localhost';

Ensuite, vide les privilèges et quitte le shell MariaDB à l’aide de la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Ensuite, édite le fichier de configuration par défaut de MariaDB et modifie certaines configurations :

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Ajoute les lignes suivantes à l’intérieur de [mysqld] :

max_allowed_packet=16M
ft_min_word_len=2

Enregistre et ferme le champ puis redémarre le service MariaDB pour appliquer les modifications :

systemctl restart mariadb

Installer et configurer Bugzilla

Tout d’abord, télécharge la dernière version de Bugzilla à l’aide de la commande suivante :

wget https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.6.tar.gz

Une fois le téléchargement terminé, crée un répertoire pour Bugzilla et extrait le fichier téléchargé dans le répertoire Bugzilla :

mkdir /var/www/html/bugzilla
tar xf bugzilla-5.0.6.tar.gz -C /var/www/html/bugzilla --strip-components=1

Ensuite, modifie le fichier localconfig dans le répertoire Bugzilla :

cd /var/www/html/bugzilla
nano localconfig

Apporte les modifications suivantes :

$create_htaccess = 1;
$webservergroup = 'www-data';
$use_suexec = 1;
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugzilla';
$db_user = 'buguser';
$db_pass = 'password';

Enregistre et ferme le fichier puis exécute la commande suivante pour configurer Bugzilla :

./checksetup.pl

Enter the e-mail address of the administrator: [email protected]
Enter the real name of the administrator: Hitesh Jethva
Enter a password for the administrator account: 
Please retype the password to verify: 
[email protected] is now set up as an administrator.
Creating initial dummy product 'TestProduct'...

Now that you have installed Bugzilla, you should visit the 'Parameters'
page (linked in the footer of the Administrator account) to ensure it
is set up as you wish - this includes setting the 'urlbase' option to
the correct URL.
checksetup.pl complete.

Ensuite, exécute la commande suivante pour installer tous les modules Perl requis :

/usr/bin/perl install-module.pl --all

Ensuite, change la propriété du répertoire Bugzilla en www-data:

chown -R www-data:www-data /var/www/html/bugzilla/

Ensuite, vérifie la configuration de Bugzilla à l’aide de la commande suivante :

./checksetup.pl

Si tout va bien, tu obtiendras la sortie suivante :

* APACHE MODULES                                                      *
***********************************************************************
* Some Apache modules allow to extend Bugzilla functionalities.       *
* These modules can be enabled in the Apache configuration file       *
* (usually called httpd.conf or apache2.conf).                        *
* - mod_headers, mod_env and mod_expires permit to automatically      *
*   refresh the browser cache of your users when upgrading Bugzilla.  *
* - mod_rewrite permits to write shorter URLs used by the REST API.   *
* - mod_version permits to write rules in .htaccess specific to       *
*   Apache 2.2 or 2.4.                                                *
* The modules you need to enable are:                                 *
*                                                                     *
*    mod_expires, mod_headers, mod_rewrite                            *
*                                                                     *
***********************************************************************
Reading ./localconfig...

OPTIONAL NOTE: If you want to be able to use the 'difference between two
patches' feature of Bugzilla (which requires the PatchReader Perl module
as well), you should install patchutils from:

    
patchutils
Checking for DBD-mysql (v4.001) ok: found v4.050 Checking for MySQL (v5.0.15) ok: found v10.5.12-MariaDB-0+deb11u1 Removing existing compiled templates... Precompiling templates...done. Fixing file permissions... Now that you have installed Bugzilla, you should visit the 'Parameters' page (linked in the footer of the Administrator account) to ensure it is set up as you wish - this includes setting the 'urlbase' option to the correct URL. checksetup.pl complete.

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configure Apache pour Bugzilla

Ensuite, tu devras créer un fichier de configuration d’hôte virtuel Apache pour Bugzilla.

nano /etc/apache2/sites-available/bugzilla.conf

Ajoute les lignes suivantes :

<VirtualHost *:80>
ServerName bugzilla.example.com
DocumentRoot /var/www/html/bugzilla/

<Directory /var/www/html/bugzilla/>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit FileInfo Indexes Options AuthConfig
</Directory>

ErrorLog /var/log/apache2/bugzilla.error_log
CustomLog /var/log/apache2/bugzilla.access_log common
</VirtualHost>

Enregistre et ferme le fichier puis active l’hôte virtuel Bugzilla et active les autres modules requis à l’aide de la commande suivante :

a2ensite bugzilla.conf
a2enmod headers env rewrite expires cgi

Ensuite, redémarre le service Apache pour appliquer les changements de configuration :

systemctl restart apache2

Tu peux vérifier l’état d’Apache à l’aide de la commande suivante :

systemctl status apache2

Tu obtiendras la sortie suivante :

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-12-19 08:57:08 UTC; 7s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 43005 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 43011 (apache2)
      Tasks: 56 (limit: 4679)
     Memory: 13.5M
        CPU: 46ms
     CGroup: /system.slice/apache2.service
             ??43011 /usr/sbin/apache2 -k start
             ??43012 /usr/sbin/apache2 -k start
             ??43013 /usr/sbin/apache2 -k start
             ??43014 /usr/sbin/apache2 -k start

Dec 19 08:57:08 taiga systemd[1]: Starting The Apache HTTP Server...

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Accède à l’interface Web de Bugzilla

Maintenant, ouvre ton navigateur Web et accède à l’interface Web de Bugzilla en utilisant l’URL http://bugzilla.example.com. Tu devrais voir l’écran suivant :

BugZilla

Clique sur le bouton Connexion. Tu devrais voir l’écran suivant :

Connexion à BugZilla

Indique ton email d’administrateur, ton mot de passe et clique sur le bouton Connexion. Tu devrais voir le tableau de bord Bugzilla sur l’écran suivant :

Tableau de bord de BugZilla

Conclusion

Félicitations ! Tu as réussi à installer Bugzilla avec Apache sur Debian 11. Tu peux maintenant mettre en œuvre Bugzilla dans ton environnement de développement pour gérer et suivre ton projet. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...