Bugzilla ist ein weit verbreitetes, kostenloses und quelloffenes System zur Fehlerverfolgung. Entwickler und Softwareanbieter nutzen es, um ihre Anwendungen kontinuierlich zu verbessern.
Diese Anleitung beschreibt Schritt für Schritt, wie Bugzilla Version 5.0.4 auf einem Server mit CentOS 7 eingerichtet wird.
Voraussetzungen
- Ein frisch installiertes CentOS 7 x64 System (z. B. mit IP: 203.0.113.1).
- Ein Benutzerkonto mit sudo-Rechten.
- Das System sollte über das EPEL YUM Repository aktuell gehalten sein.
Für Bugzilla 5.0.4 ist Perl ab Version 5.14 erforderlich sowie ein Webserver und eine Datenbank. In dieser Anleitung verwenden wir Perl 5.16.x, Apache 2.4.x und MariaDB 10.2.x.
Passende Infrastruktur bei centron
Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →
Schritt 1: Perl 5.16.x und Abhängigkeiten installieren
Nach dem Login als Benutzer mit sudo-Rechten lassen sich Perl und die benötigten Module wie folgt installieren:
sudo yum install perl perl-CPAN perl-DBD-MySQL -yPrüfen Sie anschließend die installierte Perl-Version. Sie sollte mindestens 5.14 sein:
perl -vDie Ausgabe sollte Version 5.16.3 zeigen, die für Bugzilla 5.0.4 geeignet ist.
Nun folgen weitere notwendige Pakete:
sudo yum install gcc gd gd-devel rst2pdf graphviz patchutils -ySchritt 2: Apache 2.4.x einrichten
Installieren und konfigurieren Sie Apache 2.4.6 mit diesen Befehlen:
sudo yum install httpd httpd-devel -y
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo systemctl start httpd.service
sudo systemctl enable httpd.serviceSchritt 3: MariaDB 10.2.x einrichten
Installieren Sie die aktuelle stabile Version von MariaDB:
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-devel -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.serviceFühren Sie anschließend das Sicherheitsskript für MariaDB aus:
sudo /usr/bin/mysql_secure_installationBeantworten Sie die Fragen wie folgt:
- Aktuelles root-Passwort eingeben (bei leer einfach Enter): Enter
- Neues root-Passwort setzen? [Y/n]: Y
- Neues Passwort: your-MariaDB-root-password
- Passwort bestätigen: your-MariaDB-root-password
- Anonyme Benutzer entfernen? [Y/n]: Y
- Root-Login von außen unterbinden? [Y/n]: Y
- Testdatenbank entfernen? [Y/n]: Y
- Rechte jetzt neu laden? [Y/n]: Y
Melden Sie sich anschließend bei MySQL als root an:
mysql -u root -pLegen Sie eine neue Datenbank und einen Benutzer für Bugzilla an. Verwenden Sie Ihre eigenen Werte:
CREATE DATABASE bugzilla;
CREATE USER 'bugzillauser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON bugzilla.* TO 'bugzillauser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;Passen Sie anschließend die Konfiguration von MariaDB an:
sudo vi /etc/my.cnf.d/server.cnfErgänzen Sie unter dem Abschnitt [mysqld] folgende Zeilen:
# Bugzilla
# Pakete bis zu 16M zulassen
max_allowed_packet=16M
# Kurze Wörter in Volltextindizes erlauben
ft_min_word_len=2Speichern und schließen Sie die Datei:
:wq!Starten Sie den MariaDB-Dienst neu, um die Änderungen zu übernehmen:
sudo systemctl restart mariadb.serviceSchritt 4: Bugzilla 5.0.4 herunterladen und einrichten
Laden Sie das Archiv von Bugzilla 5.0.4 direkt von den offiziellen Mozilla-Servern herunter:
cd
wget https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.4.tar.gzEntpacken Sie das Archiv in ein Zielverzeichnis Ihrer Wahl:
sudo tar -C /opt -zxvf bugzilla-5.0.4.tar.gzErstellen Sie einen symbolischen Link, um spätere Updates zu erleichtern:
sudo ln -s /opt/bugzilla-5.0.4 /var/www/html/bugzillaFühren Sie das Konfigurationsskript aus, um fehlende Perl-Module zu ermitteln:
sudo /var/www/html/bugzilla/checksetup.plSie können einzelne Module manuell installieren:
sudo /usr/bin/perl /var/www/html/bugzilla/install-module.pl CGIOder alternativ alle notwendigen und optionalen Module gleichzeitig installieren:
sudo /usr/bin/perl /var/www/html/bugzilla/install-module.pl --allFühren Sie das Setup-Skript erneut aus, um sicherzustellen, dass alle erforderlichen Module, insbesondere DBD::mysql, verfügbar sind:
sudo /var/www/html/bugzilla/checksetup.plBearbeiten Sie anschließend die Datei localconfig, um die Datenbankverbindung zu definieren:
sudo vi /var/www/html/bugzilla/localconfigAktualisieren Sie die Werte entsprechend Ihrer Konfiguration:
$webservergroup = 'apache';
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugzilla';
$db_user = 'bugzillauser';
$db_pass = 'yourpassword';Speichern Sie die Datei und führen Sie das Setup-Skript erneut aus, um die Installation abzuschließen:
sudo /var/www/html/bugzilla/checksetup.plIm nächsten Schritt werden Administratorinformationen abgefragt:
- E-Mail-Adresse: admin@example.com
- Name: John Doe
- Passwort: your-admin-password
Weisen Sie alle Bugzilla-Dateien dem Apache-Benutzer zu:
sudo chown -R apache:apache /opt/bugzilla-5.0.4Erstellen Sie nun eine Apache-Virtual-Host-Konfiguration für Bugzilla:
sudo vi /etc/httpd/conf.d/bugzilla.confFügen Sie folgende Konfiguration ein:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/bugzilla/
ServerName bugzilla.example.com
ServerAlias www.bugzilla.example.com
<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/httpd/bugzilla.example.com-error_log
CustomLog /var/log/httpd/bugzilla.example.com-access_log common
</VirtualHost>Speichern Sie die Datei und starten Sie Apache neu:
sudo systemctl restart httpd.serviceSchritt 5: Firewall konfigurieren
Öffnen Sie Port 80 dauerhaft in der Firewall für HTTP-Zugriffe:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reloadSchritt 6: Installation testen und Bugzilla aufrufen
Nutzen Sie das Testskript, um die Funktionalität des Bugzilla-Setups zu überprüfen:
sudo /var/www/html/bugzilla/testserver.pl http://203.0.113.1Sie sollten folgende Bestätigungen erhalten:
- TEST-OK Webserver läuft unter dem konfigurierten Gruppennamen.
- TEST-OK Schloss-Symbol erfolgreich geladen.
- TEST-OK CGI-Skripte werden über mod_cgi ausgeführt.
- TEST-OK Zugriff auf /localconfig ist unterbunden.
- TEST-OK GD-Versionen stimmen überein.
- TEST-OK GD-Bibliothek erstellt ein korrektes PNG-Bild.
- TEST-OK Chart-Bibliothek generiert ein korrektes PNG-Diagramm.
- TEST-OK Template::Plugin::GD ist installiert.
Rufen Sie anschließend im Browser http://203.0.113.1/ auf, klicken Sie auf „Log In“ und geben Sie Ihre Admin-Zugangsdaten ein.
Schritt 7 (optional): Apache mod_perl zur Leistungssteigerung aktivieren
Installieren Sie das Apache-Modul mod_perl samt Entwicklerpaket:
sudo yum install mod_perl mod_perl-devel -yÜberprüfen Sie die Aktivierung des Moduls:
apachectl -M | grep perlSie sollten folgendes sehen:
- perl_module (shared)
Bearbeiten Sie die mod_perl-Konfigurationsdatei:
sudo vi /etc/httpd/conf.d/perl.confZeilennummern anzeigen und folgende Zeilen aktivieren:
:set nuKommentare bei Zeile 15 und 24 entfernen, dann am Ende Folgendes ergänzen:
PerlSwitches -w
PerlSwitches -T
PerlConfigRequire /var/www/html/bugzilla/mod_perl.plLaden Sie den Apache-Dienst neu, um die Konfiguration zu übernehmen:
sudo systemctl restart httpd.serviceFazit
Sie haben erfolgreich Bugzilla 5.0.4 auf einem CentOS 7-Server eingerichtet. Von der Installation der erforderlichen Komponenten wie Perl, Apache und MariaDB bis zur Konfiguration der Weboberfläche und Sicherheit bietet dieses Setup eine leistungsfähige Lösung zur Fehlerverfolgung. Mit mod_perl können Sie zusätzlich die Leistung Ihres Systems optimieren. Der Zugriff erfolgt bequem über Ihren Webbrowser – bereit zur Nutzung in der Softwareentwicklung.
Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.