Bugzilla est le meilleur système open source de suivi des bogues. Très simple à utiliser avec beaucoup de fonctionnalités. Bugzilla vous permet de suivre les bogues et de collaborer efficacement avec les développeurs et les autres équipes de votre organisation.
Ceci est un guide d'installation de bugzilla détaillé, étape par étape. pour Linux.
1. Vérifier la version de Perl
Assurez-vous que votre version de perl est>=5.8.1 comme indiqué ci-dessous.
# perl -v This is perl, v5.8.8 built for i386-linux-thread-multi
La plupart des distributions Linux sont livrées avec perl. Si vous ne l'avez pas sur le vôtre, téléchargez-le et installez-le à partir du site Web de distribution correspondant.
2. Installer la base de données MySQL
Assurez-vous que votre version de MySQL est>=4.1.2 comme indiqué ci-dessous.
# mysql -V mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1
Si vous n'avez pas mysql, installez-le en utilisant yum groupinstall, ou basé sur l'article d'installation de LAMP, ou basé sur l'article mysql rpm.
3. Installer Apache
Si Apache est déjà installé, assurez-vous que vous pouvez y accéder en utilisant http://{your-ip-address}.
Si vous n'avez pas apache, l'installation utilise yum basé sur l'article d'installation de LAMP, ou installez apache à partir de la source.
4. Téléchargez la dernière boule de tar de Bugzilla
Téléchargez la dernière version stable depuis la page de téléchargement de bugzilla. Extrayez le fichier bugzilla*.tar.gz dans le répertoire racine du document apache comme indiqué ci-dessous.
# 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. Exécutez le bugzilla checksetup.pl
Le programme Bugzilla checksetup.pl vérifiera si tous les modules perl requis sont installés. Cela affichera également une liste de tous les modules bugzilla manquants qui doivent être installés.
Vous pouvez exécuter le programme checksetup.pl autant de fois que vous le souhaitez jusqu'à ce que vous ayez vérifié que tous les modules perl requis sont installés.
Voici la sortie de la 1ère exécution de checksetup.pl, où il a répertorié tous les modules optionnels et requis manquants.
# 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. Exécutez bugzilla install-module.pl
Comme suggéré par la sortie de checksetup.pl, vous pouvez exécuter install-module.pl pour installer tous les modules perl obligatoires et facultatifs de bugzilla.
# /usr/bin/perl install-module.pl --all
Veuillez examiner la sortie du fichier install-module.pl ci-dessus pour vous assurer que tout a été installé correctement. Il est possible que certains des modules n'aient pas pu être installés (peut-être parce que certains packages de système d'exploitation requis étaient manquants).
Exécutez checksetup.pl pour vérifier si tous les modules ont été installés correctement.
Voici la sortie de la 2ème exécution de 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. Installer les modules Perl manquants
Comme nous le voyons dans la sortie checksetup.pl ci-dessus, certains des modules optionnels et des modules requis installés n'étaient pas terminés lorsque nous avons exécuté install-module.pl.
Nous devons donc installer les modules manquants manuellement un par un pour comprendre les problèmes et les résoudre un par un.
Reportez-vous à la "Section de dépannage" à la fin pour la liste de tous les problèmes que j'ai rencontrés lors de l'installation des modules perl requis pour bugzilla (ainsi que la solution pour résoudre ces problèmes).
8. Checksetup.pl final –vérification des modules de contrôle
Exécutez à nouveau checksetup.pl –check-modules comme indiqué ci-dessous comme vérification finale pour vous assurer que tous les modules ont été installés avec succès.
# ./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. Créer un fichier localconfig en utilisant checksetup.pl
Exécutez checksetup.pl sans argument, ce qui créera un fichier localconfig dans le répertoire courant. Le fichier localconfig contient les paramètres de configuration clés utilisés par le bugzilla (par exemple, le nom d'utilisateur et le mot de passe 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. Modifiez le fichier localconfig.
La seule chose dont vous avez besoin pour modifier le fichier localconfig est le mot de passe de la base de données MySQL en modifiant la variable $db_pass comme indiqué ci-dessous.
# vi ./localconfig $db_pass = 'Bugs4All';
11. Modifiez /etc/my.cnf pour augmenter la taille de la pièce jointe bugzilla
Définissez max_allowed_packet sur 4 Mo dans /etc/my.cnf pour augmenter la taille de la pièce jointe 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
Redémarrez mysqld après ce changement.
# service mysqld restart
12. Créer des bogues utilisateur mysql
Ajoutez l'utilisateur bugzilla (bugs) à la base de données mysql comme indiqué ci-dessous.
# 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. Créer la base de données bugzilla
Exécutez à nouveau checksetup.pl (sans aucun argument) pour créer la base de données mysql bugzilla. Étant donné que le fichier localconfig existe déjà, la deuxième fois que vous exécutez checksetup.pl, il créera la base de données mysql en fonction des informations du fichier 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. Créez un compte administrateur bugzilla.
À la fin de l'exécution de ./checksetup.pl, il détectera que vous n'avez pas de compte administrateur et vous demandera d'entrer les informations de connexion d'administration comme indiqué ci-dessous.
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. Configurer apache pour mod_perl
Renommez le répertoire bugzilla. (c'est-à-dire supprimer le numéro de version)
# cd /var/www/html # mv bugzilla-3.4.6/ bugzilla
Ajoutez les deux lignes suivantes à 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
Vérifiez que le groupe dans httpd.conf correspond au groupe de serveurs Web dans localconfig
# cd /var/www/html/bugzilla/ # grep webservergroup localconfig $webservergroup = 'apache'; # grep Group /etc/httpd/conf/httpd.conf Group apache
16. Exécution finale de checksetup.pl
Exécutez à nouveau 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. Connectez-vous à bugzilla et effectuez une configuration unique.
Démarrez apache, allez sur http://{votre-adresse-ip}/bugzilla et connectez-vous en utilisant le compte administrateur que vous avez créé ci-dessus.
Depuis l'interface utilisateur de bugzilla, au pied de page -> Administration -> Paramètres -> ' Section des paramètres requis -> Remplissez les informations suivantes :
responsable :[email protected]
urlbase :http://{your-ip-address}/
Remarque :Selon votre configuration, accédez à -> Authentification de l'utilisateur -> et vous souhaiterez peut-être modifier les paramètres requiredlogin et emailregexp.
Résoudre les problèmes d'installation de Bugzilla
Problème 1 :Échec du module DBD::mysql
Le module DBD:mysql perl a échoué avec le message d'erreur "mysql.h :aucun fichier ou répertoire de ce type", comme indiqué ci-dessous.
# /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â
Solution 1 :installez mysql-devel
Le message d'erreur "mysql.h :aucun fichier ou répertoire de ce type" est dû au fait que le package mysql-devel était manquant, comme indiqué ci-dessous.
# 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
Installez le package mysql-devel comme indiqué ci-dessous.
# yum install mysql-devel # rpm -qa | grep -i "mysql-devel" mysql-devel-5.0.77-4.el5_4.2
L'installation de DBD::mysql se déroulera sans problème maintenant.
# /usr/bin/perl install-module.pl DBD::mysql
Problème 2 :GD a échoué avec gdlib-config / libgd manquant
L'installation du module GD a échoué avec le message d'erreur suivant.
# /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
Solution 2 :installez le package gd-devel
Installez libgd (c'est-à-dire le package gd-devel) comme indiqué ci-dessous pour résoudre le problème du module 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 s'est installé sans aucun problème après avoir inséré le paquet gd-devel.
# /usr/bin/perl install-module.pl GD
Problème 3 :Twig a échoué avec l'erreur expat.h
Le module Twig n'a pas pu être installé avec le message d'erreur "expat.h :aucun fichier ou répertoire de ce type", comme indiqué ci-dessous.
# /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
Solution 3 :Installez expat et expat-devel pour Twig
Installez expat et expat-devel package comme indiqué ci-dessous.
# yum install expat # yum install expat-devel
Installez maintenant Twig sans aucun problème.
# /usr/bin/perl install-module.pl XML::Twig
Problème 4 :Image ::Magick n'a pas pu être installé
Image ::L'installation de Magick a échoué avec le message d'erreur "magick/MagickCore.h :aucun fichier ou répertoire de ce type", comme indiqué ci-dessous.
# /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
Solution4 :Image ::Magick n'a pas réussi à s'installer
Assurez-vous que les packages liés à ImageMagic suivants sont présents.
# 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
Dans mon cas, ImageMagic-devel manquait. Alors, installez-le comme indiqué ci-dessous. Après cela, le module perl Image::Magick a été installé avec succès.
# yum install ImageMagick-devel # /usr/bin/perl install-module.pl Image::Magick
Problème 5 :Échec de l'installation de SOAP ::Lite
Échec de l'installation du module SOAP :: Lite avec le message "Impossible de localiser version.pm dans @INC", comme indiqué ci-dessous.
#/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
Solution 5 :Installez la version.pm requise pour SOAP : : Lite
Version.pm installé comme indiqué ci-dessous. Après cela, SOAP::Lite s'est installé sans aucun problème.
# perl -MCPAN -e 'install version' # /usr/bin/perl install-module.pl SOAP::Lite
Problème6 (et Solution6) :mod_perl manquait
N'installez pas mod_perl en utilisant /usr/bin/perl install-module.pl mod_perl2 . Au lieu de cela, utilisez yum pour installer mod_perl comme indiqué ci-dessous.
# yum install mod_perl
Problème 7 :Échec du démarrage d'Apache
Le démarrage d'Apache a échoué avec le message d'erreur "Impossible de localiser Template/Config.pm dans @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
Solution 7 :installez le kit d'outils de modèle comme indiqué ci-dessous
Installez le kit Template-Tool pour corriger le message d'erreur apache ci-dessus
# 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ème 8 :le démarrage d'Apache a de nouveau échoué
Le démarrage d'Apache a échoué avec le message d'erreur "Impossible de localiser DateTime/Locale.pm dans @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
Solution 8 :installez DateTime/Locale.pm comme indiqué ci-dessous
Installez DateTime/Locale.pm pour corriger le message d'erreur apache ci-dessus
# cpan cpan> install DateTime:Locale
Aussi, dans votre apache error_log si vous voyez un problème Digest/SHA.pm, vous devez l'installer comme indiqué ci-dessous.
# tail -f /etc/httpd/logs/error_log Can't locate Digest/SHA.pm in @INC (@INC contains: # cpan cpan> install Digest::SHA