BUGZILLA

Installation(mit mysql auf Debian)

Pakete installieren:

apt-get install perl apache2 default-mysql-server krb5-user libgd-perl pkg-config liblocal-lib-perl libexpat1-dev graphviz ntp
apt-get install libgd-config liblocal-lib-perl g++
apt-get install libtest-cpan-meta-json-perl
apt-get install libtest-cpan-meta-perl
apt-get install libdatetime-format-human-duration-perl
apt-get install libmail-sendeasy-perl
apt-get install libtest-email-perl
apt-get install liblist-moreutils-perl
apt-get install libmath-random-secure-perl
apt-get install libtest-taint-perl
apt-get install libtemplate-plugin-datetime-perl
apt-get install libemail-sender-perl
apt-get install libemail-mime-perl
apt-get install libemail-address-perl
apt-get install libsoap-lite-perl
apt-get install libxml-twig-perl
apt-get install libdbd-sqlite-perl
apt-get install libdbd-sqlite2-perl
apt-get install libplack-perl
apt-get install libfile-mimeinfo-perl
apt-get install libgd-graph-perl
apt-get install libgd-svg-perl libchart-perl
apt-get install libapache2-mod-perl2
apt-get install libtext-patch-perl
apt-get install libtext-multimarkdown-perl
apt-get install libcache-memcached-fast-perl
apt-get install libnet-ldap-perl
apt-get install libauthen-radius-perl
apt-get install libmoox-strictconstructor-perl
apt-get install liburi-db-perl libencode-detect-perl libfile-which-perl libemail-reply-perl
apt-get install liburi-db-perl libpatchreader-perl libdbd-pg-perl libdbd-sqlite-perl
apt-get install libjson-rpc-perl
apt-get install libdbd-pg-perl
apt-get install libdbd-sqlite-perl
apt-get install libpatchreader-perl
apt-get install libpatch-reader-perl
apt-get install libdaemon-generic-perl
#apt-get install libdbd-oracle-perl
apt-get install libhtml-scrubber-perl
apt-get install libtheschwartz-perl
apt-get install libfile-copy-recursive-perl
apt-get install libfile-copy-recursive-perl
apt-get install libhtml-formattext-withlinks-perl
apt-get install libpod-pom-view-restructured-perl
apt-get install libtemplate-plugin-gd-perl

hier wird jetzt nach dem MYSQL-Rootpasswort gefragt. Dann weiter mit

cd /var/www

Neueste Bugzillaversion downloaden:
wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-VERSION.tar.gz Datei auspacken:

tar xvfz bugzilla-VERSION.tar.gz

Verzeichnis umbenennen

mv bugzilla-3.4.5 bugzilla

Rechte am Verzeichnis ändern

chgrp www-data -R bugzilla

Alle benötigten Module noch nachinstallieren.

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

An MYSQL anmelden und eine neue Datenbank und neuen Benutzer erstellen:

mysql -u root -p
enter password for root:
CREATE DATABASE bugs;
use bugs;
mysql> GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
TO bugs@localhost IDENTIFIED BY 'geheimesPasswort';
set password for bugs@localhost = password('geheimesPasswort');
FLUSH PRIVILEGES;
quit;

Jetzt die Datei /var/www/bugzilla/localconfig editieren:

...
$db_pass = 'geheimesPasswort'
...
$webservergroup = 'www-data';
...

Jetzt muss das Script checksetup.pl zur Tabellenerstellung ausgeführt werden:

./checksetup.pl

eventuell noch fehlende Pakete aus Internet nachinstallieren mit:

perl -MCPAN -e 'install GD::Graph'  

Dann muss noch der Apache konfiguriert werden:

mcedit /etc/apache2/conf.d/bugzilla.conf (datei erstellen)
Alias /bugzilla “/var/www/bugzilla”
<Directory “/var/www/bugzilla”>
Options +ExecCGI
      AllowOverride Limit
      DirectoryIndex index.cgi
      AddHandler cgi-script .cgi .pl
</Directory>

Danach muss der Apache2 noch neu gestartet werden:

a2enmod cgi
/etc/init.d/apache2 restart

Fertig!
Jetzt sollte der Webzugriff über http://meinserver/bugzilla möglich sein.

Installation(mit POSTGRES auf SUSE 11.2)

zypper in http postgres postgresql
cd /srv/www/htdocs

Neueste Bugzillaversion downloaden:
wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-VERSION.tar.gz Datei auspacken:

tar xvfz bugzilla-VERSION.tar.gz

Verzeichnis umbenennen

mv bugzilla-3.4.5 bugzilla

Rechte am Verzeichnis ändern:

chgrp www-data -R bugzilla

Alle benötigten Module noch nachinstallieren:

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

Jetzt die localconfig ändern:

mcedit /srv/www/htdocs/bugzilla/localconfig 
$webserver = 'www';
$db_driver = 'Pg';
$db_pass ='geheimesPasswort';
mkdir /daten
mv /var/lib/pqsql /daten

mcedit /etc/passwd

postgres:x:26:26:POSTGRESQL SERVER:/daten/pgsql:/bin/bash

mcedit /etc/sysconfig/postgresql

POSTGRES_DATADIR=/daten/pgsql/postgres/data

Postgresdatenbank starten:

rcpostgresql start

Als Benutzer Postgresql anmelden:

su - postgresql

Neuen PGuser anlegen:

createuser -U postgres -dAP bugs
Password: geheimesPasswort

Netzzugriffe konfigurieren:

mcedit /daten/pgsql/data/pg-hba.conf
host	all	bugs	127.0.0.1 255.255.255.255 md5
host	all	all	::1/128			trust
host	all	191.168.1.225/24		md5
local	bugs	bugs	md5

Mailoptionen konfigurieren:

mcedit /daten/pgsql/data/postmaster.opts
/usr/bin/postgres “-D” “/daten/pgsql/data”

Postgresdatenbank neustarten:

rcpostgresql start

Postmaster neu starten:

rcpostmaster restart

Jetzt muss das Script checksetup.pl zur Tabellenerstellung ausgeführt werden:

/srv/www/htdocs/bugzilla/checksetup.pl
email:admin@web.de
really Name: bugzillaadmin
Password: trustno1

Dann muss noch der Apache konfiguriert werden:

mcedit /etc/apache2/conf.d/bugzilla.conf (datei erstellen)
Alias /bugzilla “/srv/www/htdocs/bugzilla”
<Directory “/srv/www/htdocs/bugzilla”>
Options +ExecCGI
      AllowOverride Limit
      DirectoryIndex index.cgi
      AddHandler cgi-script cgi
</Directory>

Danach muss der Apache2 noch neu gestartet werden:

/etc/init.d/apache2 restart

Fertig!
Jetzt sollte der Webzugriff über http://meinserver/bugzilla möglich sein.

Konfiguration von Bugzilla mit Authentifizierung gegen ein Active Directory per LDAP

Installiere Perl-LDAP nach (Internetzugriff erforderlich):

perl -MCPAN -e 'install Net::LDAP'

Es sollen nur Mitglieder einer Domänengruppe Zugriff auf den Bugzilla haben.
editiere nach erfolgreicher Grungkonfiguration dazu die Datei „params.json“
diese Datei liegt je nach Installation in den Verzeichnissen /etc/bugzilla3/ oder auch /bugzillaverzeichnis/data/.
Es wird ein Benutzer+Passwort benötigt, der das AD durchsuchen kann.
Die Einträge müssen genau passen. Schreibfehler müssen vermieden werden.
Die weiteren Einträge müssen entsprechend den lokalen Gegebenheiten angepasst werden.
Wenn das Feld LDAPfilter leer bleibt können sich alle authentifizierten Domänenbenutzer anmelden.

%param = (
          ...
         'LDAPBaseDN' => 'DC=FirmaDC=com',
         'LDAPbinddn' => 'CN=doedel,OU=User,OU=Abteilung,DC=Firma,DC=com:Passwort',
         'LDAPfilter' => '(memberOf=CN=meineZugriffgruppe,OU=Gruppen,OU=Abteilung,DC=Firma,DC=com)',
         'LDAPmailattribute' => 'mail',
         'LDAPserver' => 'myDomCntr.firma.com',
         'LDAPstarttls' => '0',
         'LDAPuidattribute' => 'saMAccountName',
         'rememberlogin' => 'off',
         'user_verify_class' => 'LDAP,DB',
         'utf8' => '1',
         ...
         };

Danach nochmal checksetup.pl durchführen und den Apache neu starten.
Fertig!

weitere Anpassungen

wer mehrere Instanzen auf einem Server am laufen hat kann zur besseren Unterscheidung für die Benutzer einen Hinweis in der Datei:
bugzilla/template/de/default/global/header.htmp.tmpl im Eintrag subheader hinterlegen.
Die Erstellung von lokalen Benutzern verhindern: in der Datei …bugzilla/data/params.json den Eintrag ändern:

"createemailregexp" : '',

Maximale Attachmentgröße 1GB:

"maxattachmentsize" : "1000000",

Anmeldung erforderlich:

requirelogin" : "1",

Anmeldung lokal oder per LDAP:

"user_verify_class" : "LDAP,DB",

Mailversand per lokalem exim4:

"mail_delivery_method" : "SMTP",


Fehlerquellen:

Fehler:
DNS-Namensauflösung funktioniert nicht richtig.
Lösung:
Namensauflösung testen mit hostname -d; Datei /etc/resolv.conf oder /etc/network/interfaces editieren.
Fehler:
checksetup.pl sagt dass noch Module nachinstalliert werden sollen aber das schlägt dann fehl:
Lösung:

apt-get install libapache2-mod-perl2-dev

Dann erneut den jeweiligen Perlinstall Befehl ausführen z.B.: perl install-module.pl –all
Fehler:
Manchmal schlägt die Installation fehl weil der g++ nicht installiert ist.
Lösung:
Dann: apt-get install g++
Fehler:
Manchmal schlägt die Installation von perl install-module.pl Mein::Modul„ fehl.
Lösung:
Dann kann funktionierte es über : perl -MCPAN -e 'install Mein::Modul'
Fehler:
MYSQL-anmeldung ist falsch oder der Dienst läuft nicht.
Lösung:
Administrator nachträglich ändern: ./checksetup.pl –make-admin=myadmin@myDom.ain
Fehler:

Charts will not work without the GD Perl module being installed. Run checksetup.pl for installation instructions

Lösung:

cd mein bugzillaverzeichnis
#eventuell:
#export http_proxy=http://benutzer:seinPasswort@proxy:portnr
#export ftp_proxy=http://benutzer:seinPasswort@proxy:portnr
./checksetup.pl --check-modules
apt-get install libgd2-xpm imagemagick perlmagick
perl install-module.pl GD

Fehler:
perl fehlen Module.Der Server hat aber keinerlei Zugriff auf das Internet.
Lösung:
auf einem Server(Bsp. meinRepsrv) der Internetzugriff hat, die CPAN-Dateien spiegeln:

mkdir -p /var/www/perl/CPAN
minicpan -l /var/www/perl/CPAN -r http://cpan.pair.com
chown -R www-data:www-data /var/www/perl

jetzt auf dem bugzillarechner die URL eintragen:

cpan
o conf urllist push http://meinRepsrv/perl/CPAN
o commit
quit
./checksetup.pl

jetzt werden die CPAN-Module von diese „Proxy“ geholt und kompiliert.
(siehe auch /etc/perl/CPAN/Config.pm)
Fehler:
adminpasswort vergessen:
Lösung:

./checksetup.pl --reset-password=admin

Fehler:
Administrator ändern:
Lösung:

./checksetup.pl --make-admin=admin2

Fehler:
Datenbank löschen/anlegen:
Lösung:

mysqladmin -u root -pGeheim drop bugzilladb3
mysqladmin -u root -pGeheim create bugzilla3


zurück