Bugzilla Bug Tracker installeren op Debian 11

Bugzilla is een gratis en open-source bug tracking systeem dat ons in staat stelt bugs op te sporen en samen te werken met ontwikkelaars en andere teams in onze organisatie. Het helpt ons om bugs, problemen, en andere veranderingsverzoeken in hun producten effectief bij te houden. Het werd door duizenden organisaties over de hele wereld gebruikt vanwege zijn robuuste functies. Het is geschreven in Perl en gebruikt MySQL/MariaDB als database backend.

In dit artikel zal ik uitleggen hoe je Bugzilla op Debian 11 kunt installeren.

Vereisten

  • Een server waarop Debian 11 draait.
  • Een geldige domeinnaam die wijst naar het IP van je server.
  • Een root wachtwoord is op je server ingesteld.

Installeer de vereiste afhankelijkheden

Werk eerst alle systeempakketten bij naar de bijgewerkte versie met het volgende commando:

apt-get update -y

Installeer vervolgens alle vereiste Perl modules met het volgende commando:

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

Als je klaar bent, kun je verder gaan met de volgende stap.

Installeer Apache en MariaDB

Installeer vervolgens de Apache en MariaDB databaseserver door het volgende commando uit te voeren:

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

Zodra beide pakketten geïnstalleerd zijn, start je de Apache en MariaDB dienst met het volgende commando:

systemctl start apache2
systemctl start mariadb

Als je klaar bent, kun je verder gaan met de volgende stap.

Configureer de MariaDB databank

Vervolgens moet je een database en gebruiker voor Bugzilla aanmaken.

Log eerst in op de MariaDB shell met het hieronder gegeven commando:

mysql

Zodra je ingelogd bent, maak je een database en gebruiker met het volgende commando:

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

Verleen vervolgens alle rechten aan de Bugzilla database met het volgende commando:

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

Spoel vervolgens de privileges door en verlaat de MariaDB shell met het volgende commando:

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

Bewerk vervolgens het standaard configuratiebestand van MariaDB en pas enkele instellingen aan:

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

Voeg de volgende regels toe binnen [mysqld]:

max_allowed_packet=16M
ft_min_word_len=2

Sla het fiel op en sluit het af herstart de MariaDB dienst om de veranderingen toe te passen:

systemctl restart mariadb

Installeer en configureer Bugzilla

Download eerst de nieuwste versie van Bugzilla met het volgende commando:

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

Als de download voltooid is, maak je een directory voor Bugzilla en pak je het gedownloade bestand uit naar de Bugzilla directory:

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

Bewerk vervolgens het localconfig bestand binnen de Bugzilla directory:

cd /var/www/html/bugzilla
nano localconfig

Breng de volgende wijzigingen aan:

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

Bewaar en sluit het bestand en voer dan het volgende commando uit om Bugzilla in te stellen:

./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.

Voer vervolgens het volgende commando uit om alle vereiste Perl modules te installeren:

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

Verander vervolgens het eigendom van de Bugzilla directory in www-data:

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

Controleer vervolgens de Bugzilla setup met het volgende commando:

./checksetup.pl

Als alles in orde is, krijg je de volgende uitvoer:

* 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.

Als je klaar bent, kun je verder gaan met de volgende stap.

Configureer Apache voor Bugzilla

Vervolgens moet je een Apache virtual host configuratiebestand voor Bugzilla maken.

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

Voeg de volgende regels toe:

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

Sla het bestand op en sluit het af, activeer dan de Bugzilla virtuele host en schakel de andere vereiste modules in met het volgende commando:

a2ensite bugzilla.conf
a2enmod headers env rewrite expires cgi

Herstart vervolgens de Apache dienst om de configuratiewijzigingen toe te passen:

systemctl restart apache2

Je kunt de status van de Apache controleren met het volgende commando:

systemctl status apache2

Je krijgt de volgende uitvoer:

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

Als je klaar bent, kun je verder gaan met de volgende stap.

Toegang tot de Bugzilla Web Interface

Open nu je webbrowser en open de Bugzilla webinterface met de URL http://bugzilla.example.com. Je zou het volgende scherm moeten zien:

BugZilla

Klik op de knop Login. Je zou het volgende scherm moeten zien:

BugZilla aanmelding

Geef je admin e-mail, wachtwoord en klik op de knop Login. Je zou het Bugzilla dashboard moeten zien op het volgende scherm:

BugZilla dashboard

Conclusie

Gefeliciteerd! Je hebt Bugzilla met succes geïnstalleerd met Apache op Debian 11. Je kunt nu Bugzilla in je ontwikkelomgeving implementeren om je project te beheren en bij te houden. Stel me gerust als je vragen hebt.