Bugzilla je nejlepší open source systém pro sledování chyb. Velmi jednoduché použití se spoustou funkcí. Bugzilla vám umožňuje sledovat chyby a efektivně spolupracovat s vývojáři a dalšími týmy ve vaší organizaci.
Toto je podrobný průvodce instalací bugzilly krok za krokem pro Linux.
1. Ověřte verzi Perlu
Ujistěte se, že vaše verze perlu je>=5.8.1, jak je uvedeno níže.
# perl -v This is perl, v5.8.8 built for i386-linux-thread-multi
Většina distribucí Linuxu je dodávána s perlem. Pokud ji nemáte, stáhněte si ji a nainstalujte z příslušné distribuční webové stránky.
2. Nainstalujte databázi MySQL
Ujistěte se, že vaše verze MySQL je>=4.1.2, jak je uvedeno níže.
# mysql -V mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1
Pokud nemáte mysql, nainstalujte jej pomocí yum groupinstall nebo na základě instalačního článku LAMP nebo na základě článku mysql rpm.
3. Nainstalujte Apache
Pokud již máte nainstalovaný apache, ujistěte se, že k němu máte přístup pomocí http://{vaše-ip-adresa}.
Pokud nemáte apache, nainstalujte pomocí yum na základě instalačního článku LAMP nebo nainstalujte apache ze zdroje.
4. Stáhněte si nejnovější Bugzilla tar ball
Stáhněte si nejnovější stabilní verzi ze stránky pro stahování bugzilly. Extrahujte soubor bugzilla*.tar.gz do kořenového adresáře dokumentu Apache, jak je znázorněno níže.
# cd ~ # wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.6.tar.gz # cd /var/www/html # tar xvfz /usr/save/bugzilla-3.4.6.tar.gz
5. Spusťte bugzilla checksetup.pl
Program Bugzilla checksetup.pl ověří, zda jsou nainstalovány všechny požadované moduly perlu. Zobrazí se také seznam všech chybějících modulů bugzilly, které je třeba nainstalovat.
Program checksetup.pl můžete spustit tolikrát, kolikrát chcete, dokud neověříte, že jsou nainstalovány všechny požadované moduly perlu.
Následuje výstup 1. spuštění checksetup.pl, kde jsou uvedeny všechny chybějící volitelné a požadované moduly.
# cd /var/www/html/bugzilla-3.4.6 # ./checksetup.pl --check-modules COMMANDS TO INSTALL OPTIONAL MODULES: GD: /usr/bin/perl install-module.pl GD Chart: /usr/bin/perl install-module.pl Chart::Base Template-GD: /usr/bin/perl install-module.pl Template::Plugin::GD::Image GDTextUtil: /usr/bin/perl install-module.pl GD::Text GDGraph: /usr/bin/perl install-module.pl GD::Graph XML-Twig: /usr/bin/perl install-module.pl XML::Twig MIME-tools: /usr/bin/perl install-module.pl MIME::Parser libwww-perl: /usr/bin/perl install-module.pl LWP::UserAgent PatchReader: /usr/bin/perl install-module.pl PatchReader PerlMagick: /usr/bin/perl install-module.pl Image::Magick perl-ldap: /usr/bin/perl install-module.pl Net::LDAP Authen-SASL: /usr/bin/perl install-module.pl Authen::SASL RadiusPerl: /usr/bin/perl install-module.pl Authen::Radius SOAP-Lite: /usr/bin/perl install-module.pl SOAP::Lite HTML-Parser: /usr/bin/perl install-module.pl HTML::Parser HTML-Scrubber: /usr/bin/perl install-module.pl HTML::Scrubber Email-MIME-Attachment-Stripper: /usr/bin/perl install-module.pl Email::MIME::Attachment::Stripper Email-Reply: /usr/bin/perl install-module.pl Email::Reply TheSchwartz: /usr/bin/perl install-module.pl TheSchwartz Daemon-Generic: /usr/bin/perl install-module.pl Daemon::Generic mod_perl: /usr/bin/perl install-module.pl mod_perl2 YOU MUST RUN ONE OF THE FOLLOWING COMMANDS (depending on which database you use): PostgreSQL: /usr/bin/perl install-module.pl DBD::Pg MySQL: /usr/bin/perl install-module.pl DBD::mysql Oracle: /usr/bin/perl install-module.pl DBD::Oracle COMMANDS TO INSTALL REQUIRED MODULES (You *must* run all these commands and then re-run checksetup.pl): /usr/bin/perl install-module.pl CGI /usr/bin/perl install-module.pl Digest::SHA /usr/bin/perl install-module.pl Date::Format /usr/bin/perl install-module.pl DateTime /usr/bin/perl install-module.pl DateTime::TimeZone /usr/bin/perl install-module.pl Template /usr/bin/perl install-module.pl Email::Send /usr/bin/perl install-module.pl Email::MIME /usr/bin/perl install-module.pl Email::MIME::Encodings /usr/bin/perl install-module.pl Email::MIME::Modifier /usr/bin/perl install-module.pl URI To attempt an automatic install of every required and optional module with one command, do: /usr/bin/perl install-module.pl --all
6. Spusťte bugzilla install-module.pl
Jak navrhuje výstup checksetup.pl, můžete spustit install-module.pl pro instalaci všech požadovaných a volitelných perl modulů bugzilla.
# /usr/bin/perl install-module.pl --all
Zkontrolujte prosím výstup výše uvedeného install-module.pl, abyste se ujistili, že vše proběhlo správně. Je možné, že se některé z modulů nepodařilo nainstalovat (může to být způsobeno tím, že některé požadované balíčky OS chyběly).
Spusťte soubor checksetup.pl a ověřte, zda byly všechny moduly nainstalovány správně.
Následuje výstup 2. spuštění souboru checksetup.pl:
# ./checksetup.pl --check-modules COMMANDS TO INSTALL OPTIONAL MODULES: GD: /usr/bin/perl install-module.pl GD Chart: /usr/bin/perl install-module.pl Chart::Base Template-GD: /usr/bin/perl install-module.pl Template::Plugin::GD::Image GDTextUtil: /usr/bin/perl install-module.pl GD::Text GDGraph: /usr/bin/perl install-module.pl GD::Graph XML-Twig: /usr/bin/perl install-module.pl XML::Twig PerlMagick: /usr/bin/perl install-module.pl Image::Magick SOAP-Lite: /usr/bin/perl install-module.pl SOAP::Lite mod_perl: /usr/bin/perl install-module.pl mod_perl2 YOU MUST RUN ONE OF THE FOLLOWING COMMANDS (depending on which database you use): PostgreSQL: /usr/bin/perl install-module.pl DBD::Pg MySQL: /usr/bin/perl install-module.pl DBD::mysql Oracle: /usr/bin/perl install-module.pl DBD::Oracle
7. Nainstalujte chybějící moduly Perl
Jak vidíme z výše uvedeného výstupu checksetup.pl, některé instalované volitelné moduly a požadovaný modul nebyly dokončeny, když jsme spustili install-module.pl.
Takže musíme nainstalovat chybějící moduly ručně jeden po druhém, abychom zjistili problémy a jeden po druhém je opravili.
Seznam všech problémů, kterým jsem čelil při instalaci modulů perl vyžadovaných pro bugzillu, naleznete v části „Odstraňování problémů“ na konci (spolu s řešením, jak tyto problémy opravit).
8. Finální checksetup.pl – ověření kontrolních modulů
Spusťte znovu checksetup.pl –check-modules, jak je uvedeno níže, jako závěrečné ověření, abyste se ujistili, že všechny moduly byly úspěšně nainstalovány.
# ./checksetup.pl --check-modules * This is Bugzilla 3.4.6 on perl 5.8.8 * Running on Linux 2.6.18-164.el5PAE #1 SMP Thu Sep 3 04:10:44 EDT 2009 Checking perl modules... Checking for CGI.pm (v3.21) ok: found v3.49 Checking for Digest-SHA (any) ok: found v5.48 Checking for TimeDate (v2.21) ok: found v2.24 Checking for DateTime (v0.28) ok: found v0.55 Checking for DateTime-TimeZone (v0.71) ok: found v1.17 Checking for DBI (v1.41) ok: found v1.52 Checking for Template-Toolkit (v2.22) ok: found v2.22 Checking for Email-Send (v2.00) ok: found v2.198 Checking for Email-MIME (v1.861) ok: found v1.903 Checking for Email-MIME-Encodings (v1.313) ok: found v1.313 Checking for Email-MIME-Modifier (v1.442) ok: found v1.903 Checking for URI (any) ok: found v1.54 Checking available perl DBD modules... Checking for DBD-Pg (v1.45) not found Checking for DBD-mysql (v4.00) ok: found v4.013 Checking for DBD-Oracle (v1.19) not found The following Perl modules are optional: Checking for GD (v1.20) ok: found v2.44 Checking for Chart (v1.0) ok: found v2.4.1 Checking for Template-GD (any) ok: found v1.56 Checking for GDTextUtil (any) ok: found v0.86 Checking for GDGraph (any) ok: found v1.44 Checking for XML-Twig (any) ok: found v3.34 Checking for MIME-tools (v5.406) ok: found v5.427 Checking for libwww-perl (any) ok: found v5.834 Checking for PatchReader (v0.9.4) ok: found v0.9.5 Checking for PerlMagick (any) ok: found v6.2.8 Checking for perl-ldap (any) ok: found v0.4001 Checking for Authen-SASL (any) ok: found v2.1401 Checking for RadiusPerl (any) ok: found v0.17 Checking for SOAP-Lite (v0.710.06) ok: found v0.711 Checking for HTML-Parser (v3.40) ok: found v3.65 Checking for HTML-Scrubber (any) ok: found v0.08 Checking for Email-MIME-Attachment-Stripper (any) ok: found v1.316 Checking for Email-Reply (any) ok: found v1.202 Checking for TheSchwartz (any) ok: found v1.10 Checking for Daemon-Generic (any) ok: found v0.61 Checking for mod_perl (v1.999022) ok: found v2.000004
9. Vytvořte soubor localconfig pomocí checksetup.pl
Spusťte checksetup.pl bez jakéhokoli argumentu, čímž se v aktuálním adresáři vytvoří soubor localconfig. Soubor localconfig obsahuje klíčové konfigurační parametry používané bugzillou (například uživatelské jméno a heslo mysql db).
# ./checksetup.pl Reading ./localconfig... This version of Bugzilla contains some variables that you may want to change and adapt to your local settings. Please edit the file ./localconfig and rerun checksetup.pl. The following variables are new to ./localconfig since you last ran checksetup.pl: create_htaccess, webservergroup, db_driver, db_host, db_name, db_user, db_pass, db_port, db_sock, db_check, index_html, cvsbin, interdiffbin, diffpath, site_wide_secret
10. Upravte soubor localconfig.
Jediná věc, kterou potřebujete upravit soubor localconfig, je heslo databáze MySQL db změnou proměnné $db_pass, jak je uvedeno níže.
# vi ./localconfig $db_pass = 'Bugs4All';
11. Upravte /etc/my.cnf, abyste zvětšili velikost přílohy bugzilla
Nastavením max_allowed_packet na 4M v /etc/my.cnf zvětšíte velikost přílohy bugzilla.
# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 # Allow packets up to 4MB max_allowed_packet=4M [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
Po této změně restartujte mysqld.
# service mysqld restart
12. Vytvořit chyby uživatele mysql
Přidejte uživatele bugzilla (chyby) do databáze mysql, jak je uvedeno níže.
# mysql -u root -p mysql> GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY 'Bugs4All'; mysql> FLUSH PRIVILEGES;
13. Vytvořte databázi bugzilla
Spusťte znovu checksetup.pl (bez jakýchkoli argumentů), abyste vytvořili databázi mysql bugzilla. Protože soubor localconfig již existuje, při druhém spuštění checksetup.pl vytvoří databázi mysql na základě informací ze souboru localconfig.
# ./checksetup.pl Creating database bugs... Building Schema object from database... Adding new table bz_schema ... Initializing the new Schema storage... Adding new table attach_data ... Adding new table attachments ... Adding new table bug_group_map ... Adding new table bug_see_also ... Adding new table bug_severity ... Adding new table bug_status ... Inserting values into the 'priority' table: Inserting values into the 'bug_status' table: Inserting values into the 'rep_platform' table: Creating ./data directory... Creating ./data/attachments directory... Creating ./data/duplicates directory... Adding foreign key: attachments.bug_id -> bugs.bug_id... Adding foreign key: attachments.submitter_id -> profiles.userid... Adding foreign key: bug_group_map.bug_id -> bugs.bug_id...
14. Vytvořte účet správce bugzilla.
Na konci spuštění ./checksetup.pl zjistí, že nemáte účet správce, a požádá vás o zadání přihlašovacích údajů pro správu, jak je uvedeno níže.
Looks like we don't have an administrator set up yet. Either this is your first time using Bugzilla, or your administrator's privileges might have accidentally been deleted. Enter the e-mail address of the administrator: [email protected] Enter the real name of the administrator: Ramesh Natarajan Enter a password for the administrator account: NotRealPwd Please retype the password to verify: welcome [email protected] is now set up as an administrator. Creating default classification 'Unclassified'... 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.
15. Nakonfigurujte apache pro mod_perl
Přejmenujte adresář bugzilla. (tj. odstraňte z něj číslo verze)
# cd /var/www/html # mv bugzilla-3.4.6/ bugzilla
Přidejte následující dva řádky do souboru httpd.conf
# tail -2 /etc/httpd/conf/httpd.conf PerlSwitches -I/var/www/html/bugzilla -I/var/www/html/bugzilla/lib -w -T PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl
Ověřte, že skupina v httpd.conf odpovídá skupině webservergroup v localconfig
# cd /var/www/html/bugzilla/ # grep webservergroup localconfig $webservergroup = 'apache'; # grep Group /etc/httpd/conf/httpd.conf Group apache
16. Konečné provedení checksetup.pl
Spusťte znovu soubor checksetup.pl.
# ./checksetup.pl Reading ./localconfig... 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.
17. Přihlaste se do bugzilly a dokončete jednorázové nastavení.
Spusťte apache, přejděte na http://{your-ip-address}/bugzilla a přihlaste se pomocí administrátorského účtu, který jste vytvořili výše.
Z uživatelského rozhraní bugzilla v zápatí -> Administrace -> Parametry -> ' Sekce Požadovaná nastavení -> Vyplňte následující informace:
správce:[email protected]
urlbase:http://{your-ip-address}/
Poznámka:V závislosti na vašem nastavení přejděte na -> Ověření uživatele -> a možná budete chtít změnit parametr requiredlogin a emailregexp.
Odstraňování problémů s instalací Bugzilly
Problém 1:Modul DBD::mysql selhal
Modul DBD:mysql perl selhal s chybovou zprávou „mysql.h:Žádný takový soubor nebo adresář“, jak je uvedeno níže.
# /usr/bin/perl install-module.pl DBD::mysql dbdimp.h:22:49: error: mysql.h: No such file or directory dbdimp.h:23:45: error: mysqld_error.h: No such file or directory dbdimp.h:25:49: error: errmsg.h: No such file or directory In file included from dbdimp.c:20: dbdimp.h:144: error: expected specifier-qualifier-list before âMYSQLâ dbdimp.h:236: error: expected specifier-qualifier-list before âMYSQL_RESâ
Řešení1:nainstalujte mysql-devel
Chybová zpráva „mysql.h:Žádný takový soubor nebo adresář“ je způsobena tím, že chyběl balíček mysql-devel, jak je uvedeno níže.
# rpm -qa | grep -i mysql MySQL-python-1.2.1-1 mysql-5.0.77-4.el5_4.2 mysql-connector-odbc-3.51.26r1127-1.el5 mysql-server-5.0.77-4.el5_4.2 libdbi-dbd-mysql-0.8.1a-1.2.2 perl-DBD-MySQL-3.0007-2.el5
Nainstalujte balíček mysql-devel, jak je znázorněno níže.
# yum install mysql-devel # rpm -qa | grep -i "mysql-devel" mysql-devel-5.0.77-4.el5_4.2
Instalace DBD::mysql nyní proběhne bez problémů.
# /usr/bin/perl install-module.pl DBD::mysql
Problém 2:GD se nezdařilo s chybějícím gdlib-config / libgd
Instalace modulu GD se nezdařila s následující chybovou zprávou.
# /usr/bin/perl install-module.pl GD **UNRECOVERABLE ERROR** Could not find gdlib-config in the search path. Please install libgd 2.0.28 or higher. If you want to try to compile anyway, please rerun this script with the option --ignore_missing_gd. Running make test Make had some problems, maybe interrupted? Won't test Running make install Make had some problems, maybe interrupted? Won't install
Řešení2:Nainstalujte balíček gd-devel
Nainstalujte libgd (tj. balíček gd-devel), jak je uvedeno níže, abyste vyřešili problém s modulem GD.
# yum install gd-devel # rpm -qa | grep gd gd-2.0.33-9.4.el5_4.2 gd-devel-2.0.33-9.4.el5_4.2
GD se po vložení balíčku gd-devel nainstaloval bez problémů.
# /usr/bin/perl install-module.pl GD
Problém 3:Twig se nezdařil s chybou expat.h
Modul Twig se nepodařilo nainstalovat s chybovou zprávou „expat.h:Žádný takový soubor nebo adresář“, jak je uvedeno níže.
# /usr/bin/perl install-module.pl XML::Twig Expat.xs:12:19: error: expat.h: No such file or directory Expat.xs:60: error: expected specifier-qualifier-list before XML_Parser
Řešení 3:Nainstalujte expat a expat-devel pro Twig
Nainstalujte balíček expat a expat-devel, jak je znázorněno níže.
# yum install expat # yum install expat-devel
Nyní bez problémů nainstalujte Twig.
# /usr/bin/perl install-module.pl XML::Twig
Problém 4:Instalace Image::Magick se nezdařila
Image::Instalace Magicu se nezdařila s chybovou zprávou „magick/MagickCore.h:Žádný takový soubor nebo adresář“, jak je uvedeno níže.
# /usr/bin/perl install-module.pl Image::Magick Note (probably harmless): No library found for -lMagickCore Magick.xs:64:31: error: magick/MagickCore.h: No such file or directory Magick.xs:171: error: expected specifier-qualifier-list before ‘MagickRealType’ Magick.xs:192: error: expected specifier-qualifier-list before ‘ImageInfo’ Magick.xs:214: error: ‘MagickNoiseOptions’ undeclared here (not in a function) Magick.xs:214: warning: missing initializer
Řešení 4:Instalace Image::Magick se nezdařila
Ujistěte se, že jsou přítomny následující balíčky související s ImageMagic.
# rpm -qa | grep -i Image ImageMagick-6.2.8.0-4.el5_1.1 ImageMagick-c++-devel-6.2.8.0-4.el5_1.1 ImageMagick-devel-6.2.8.0-4.el5_1.1 ImageMagick-c++-6.2.8.0-4.el5_1.1 ImageMagick-perl-6.2.8.0-4.el5_1.1
V mém případě chyběl ImageMagic-devel. Nainstalujte jej tedy, jak je znázorněno níže. Poté byl modul Image::Magick perl úspěšně nainstalován.
# yum install ImageMagick-devel # /usr/bin/perl install-module.pl Image::Magick
Problém 5:Instalace SOAP::Lite se nezdařila
Modul SOAP::Lite se nepodařilo nainstalovat se zprávou „Cannot locate version.pm in @INC“, jak je uvedeno níže.
#/usr/bin/perl install-module.pl SOAP::Lite Failed test 'use SOAP::Lite;' at t/SOAP/Data.t line 5. Tried to use 'SOAP::Lite'. Error: Can't locate version.pm in @INC
Řešení 5:Pro SOAP::Lite je vyžadována instalace version.pm
Nainstalovaná verze.pm, jak je uvedeno níže. Poté byl SOAP::Lite nainstalován bez problémů.
# perl -MCPAN -e 'install version' # /usr/bin/perl install-module.pl SOAP::Lite
Problém 6 (a řešení 6):chyběl mod_perl
Neinstalujte mod_perl pomocí /usr/bin/perl install-module.pl mod_perl2 . Insetad, použijte yum k instalaci mod_perl, jak je uvedeno níže.
# yum install mod_perl
Problém 7:Spuštění Apache se nezdařilo
Spuštění Apache se nezdařilo s chybovou zprávou „Cannot locate Template/Config.pm in @INC“.
# service httpd restart Stopping httpd: [ OK ] Starting httpd: Syntax error on line 994 of /etc/httpd/conf/httpd.conf: Can't locate Template/Config.pm in @INC
Řešení 7:Nainstalujte sadu šablon nástrojů, jak je znázorněno níže
Nainstalujte sadu Template-Tool a opravte výše uvedenou chybovou zprávu Apache
# cpan cpan> i /Template-Toolkit/ Distribution A/AB/ABEL/Eidolon-Driver-Template-Toolkit-0.01.tar.gz Distribution A/AB/ABW/Template-Toolkit-1.07.tar.gz Distribution A/AB/ABW/Template-Toolkit-2.22.tar.gz Distribution I/IN/INGY/Template-Toolkit-Simple-0.03.tar.gz 4 items found cpan> install A/AB/ABW/Template-Toolkit-2.22.tar.gz
Problém 8:Spuštění Apache se znovu nezdařilo
Spuštění Apache se nezdařilo s chybovou zprávou „Cannot locate DateTime/Locale.pm in @INC“.
# service httpd restart Stopping httpd: [ OK ] Starting httpd: Syntax error on line 994 of /etc/httpd/conf/httpd.conf: Can't locate DateTime/Locale.pm in @INC
Řešení8:Nainstalujte DateTime/Locale.pm, jak je uvedeno níže
Nainstalujte DateTime/Locale.pm a opravte výše uvedenou chybovou zprávu Apache
# cpan cpan> install DateTime:Locale
Pokud ve vašem apache error_log vidíte problém s Digest/SHA.pm, měli byste jej nainstalovat, jak je uvedeno níže.
# tail -f /etc/httpd/logs/error_log Can't locate Digest/SHA.pm in @INC (@INC contains: # cpan cpan> install Digest::SHA