So installierst du Bugzilla Bug Tracker unter Debian 11

Bugzilla ist ein kostenloses und quelloffenes Fehlerverfolgungssystem, das es uns ermöglicht, die Fehler zu verfolgen und mit Entwicklern und anderen Teams in unserem Unternehmen zusammenzuarbeiten. Es hilft uns, Bugs, Probleme und andere Änderungswünsche in ihren Produkten effektiv zu verfolgen. Aufgrund seiner robusten Funktionen wird es von Tausenden von Unternehmen auf der ganzen Welt eingesetzt. Es ist in Perl geschrieben und nutzt MySQL/MariaDB als Datenbank-Backend.

In diesem Artikel erkläre ich dir, wie du Bugzilla auf Debian 11 installierst.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf deinem Server eingerichtet.

Erforderliche Abhängigkeiten installieren

Aktualisiere zunächst alle Systempakete mit dem folgenden Befehl auf die aktuelle Version:

apt-get update -y

Als Nächstes installierst du alle erforderlichen Perl-Module mit dem folgenden Befehl:

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

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Apache und MariaDB installieren

Als Nächstes installierst du den Apache- und den MariaDB-Datenbankserver, indem du den folgenden Befehl ausführst:

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

Sobald beide Pakete installiert sind, starte den Apache- und MariaDB-Dienst mit dem folgenden Befehl:

systemctl start apache2
systemctl start mariadb

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

MariaDB-Datenbank konfigurieren

Als nächstes musst du eine Datenbank und einen Benutzer für Bugzilla einrichten.

Melde dich zunächst mit folgendem Befehl in der MariaDB-Shell an:

mysql

Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:

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

Als Nächstes erteilst du der Bugzilla-Datenbank mit folgendem Befehl alle Berechtigungen:

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

Lösche die Berechtigungen und verlasse die MariaDB-Shell mit folgendem Befehl:

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

Als Nächstes bearbeitest du die MariaDB-Standardkonfigurationsdatei und nimmst einige Konfigurationsänderungen vor:

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

Füge die folgenden Zeilen in [mysqld] ein:

max_allowed_packet=16M
ft_min_word_len=2

Speichere und schließe die Datei und starte den MariaDB-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart mariadb

Bugzilla installieren und konfigurieren

Lade zunächst die neueste Version von Bugzilla mit folgendem Befehl herunter:

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

Sobald der Download abgeschlossen ist, erstellst du ein Verzeichnis für Bugzilla und entpackst die heruntergeladene Datei in das Bugzilla-Verzeichnis:

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

Als Nächstes bearbeitest du die Datei localconfig im Bugzilla-Verzeichnis:

cd /var/www/html/bugzilla
nano localconfig

Nimm die folgenden Änderungen vor:

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

Speichere und schließe die Datei und führe dann den folgenden Befehl aus, um Bugzilla einzurichten:

./checksetup.pl

 

Enter the e-mail address of the administrator: admin@example.com
Enter the real name of the administrator: Hitesh Jethva
Enter a password for the administrator account: 
Please retype the password to verify: 
admin@example.com 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.

Als Nächstes führst du den folgenden Befehl aus, um alle erforderlichen Perl-Module zu installieren:

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

Als Nächstes änderst du den Eigentümer des Bugzilla-Verzeichnisses in www-data:

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

Als Nächstes überprüfst du die Einrichtung von Bugzilla mit folgendem Befehl:

./checksetup.pl

Wenn alles in Ordnung ist, erhältst du die folgende Ausgabe:

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

    http://cyberelk.net/tim/software/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.

Wenn du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Apache für Bugzilla konfigurieren

Als Nächstes musst du eine Konfigurationsdatei für einen virtuellen Apache-Host für Bugzilla erstellen.

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

Füge die folgenden Zeilen hinzu:

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

Speichere und schließe die Datei, aktiviere dann den virtuellen Bugzilla-Host und aktiviere andere erforderliche Module mit dem folgenden Befehl:

a2ensite bugzilla.conf
a2enmod headers env rewrite expires cgi

Starte anschließend den Apache-Dienst neu, um die Konfigurationsänderungen zu übernehmen:

systemctl restart apache2

Du kannst den Status des Apache mit folgendem Befehl überprüfen:

systemctl status apache2

Du erhältst die folgende Ausgabe:

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

Sobald du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Zugriff auf das Bugzilla-Webinterface

Öffne nun deinen Webbrowser und rufe das Bugzilla-Webinterface über die URL http://bugzilla.example.com auf. Du solltest den folgenden Bildschirm sehen:

BugZilla

Klicke auf die Schaltfläche Login. Du solltest den folgenden Bildschirm sehen:

BugZilla Anmeldung

Gib deine Admin-E-Mail und dein Passwort ein und klicke auf die Schaltfläche Login. Auf dem folgenden Bildschirm solltest du das Bugzilla-Dashboard sehen:

BugZilla Dashboard

Fazit

Herzlichen Glückwunsch! Du hast Bugzilla erfolgreich mit Apache auf Debian 11 installiert. Jetzt kannst du Bugzilla in deiner Entwicklungsumgebung einsetzen, um dein Projekt zu verwalten und zu verfolgen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …