Bugzilla es el mejor sistema de seguimiento de errores de código abierto. Muy simple de usar con muchas características. Bugzilla le permite realizar un seguimiento de los errores y colaborar con los desarrolladores y otros equipos de su organización de manera eficaz.
Esta es una guía de instalación de bugzilla detallada paso a paso para Linux.
1. Verificar la versión de Perl
Asegúrese de que su versión de perl sea>=5.8.1 como se muestra a continuación.
# perl -v This is perl, v5.8.8 built for i386-linux-thread-multi
La mayoría de las distribuciones de Linux vienen con perl. Si no lo tiene en el suyo, descárguelo e instálelo desde el sitio web de distribución correspondiente.
2. Instalar base de datos MySQL
Asegúrese de que su versión de MySQL sea>=4.1.2 como se muestra a continuación.
# mysql -V mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1
Si no tiene mysql, instálelo usando yum groupinstall, o según el artículo de instalación de LAMP, o según el artículo de rpm de mysql.
3. Instalar Apache
Si ya tiene Apache instalado, asegúrese de poder acceder a él mediante http://{su-dirección-ip}.
Si no tiene apache, la instalación está usando yum según el artículo de instalación de LAMP, o instale apache desde la fuente.
4. Descarga la última bola de alquitrán de Bugzilla
Descargue la última versión estable de la página de descargas de bugzilla. Extraiga el archivo bugzilla*.tar.gz en el directorio raíz del documento apache como se muestra a continuación.
# 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. Ejecute bugzilla checksetup.pl
El programa Bugzilla checksetup.pl verificará si todos los módulos perl requeridos están instalados. Esto también mostrará una lista de todos los módulos de bugzilla faltantes que deben instalarse.
Puede ejecutar el programa checksetup.pl tantas veces como desee hasta que haya verificado que todos los módulos necesarios de Perl están instalados.
A continuación se muestra el resultado de la primera ejecución de checksetup.pl, donde se enumeran todos los módulos opcionales y requeridos que faltan.
# 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. Ejecute bugzilla install-module.pl
Como se sugiere en el resultado de checksetup.pl, puede ejecutar install-module.pl para instalar todos los módulos perl requeridos y opcionales de bugzilla.
# /usr/bin/perl install-module.pl --all
Revise el resultado del install-module.pl anterior para asegurarse de que todo se haya instalado correctamente. Existe la posibilidad de que algunos de los módulos no se hayan podido instalar (puede deberse a que faltan algunos paquetes del sistema operativo necesarios).
Ejecute checksetup.pl para verificar si todos los módulos se instalaron correctamente.
El siguiente es el resultado de la segunda ejecución 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. Instale los módulos de Perl que faltan
Como vemos en el resultado de checksetup.pl anterior, algunos de los módulos opcionales y el módulo requerido instalado no se completaron cuando ejecutamos install-module.pl.
Por lo tanto, tenemos que instalar los módulos que faltan manualmente uno por uno para descubrir los problemas y solucionarlos uno por uno.
Consulte la "Sección de solución de problemas" al final para obtener una lista de todos los problemas que enfrenté al instalar los módulos perl necesarios para bugzilla (junto con la solución sobre cómo solucionar esos problemas).
8. Checksetup.pl final:verificación de módulos de verificación
Ejecute checksetup.pl –check-modules nuevamente como se muestra a continuación como verificación final para asegurarse de que todos los módulos se instalaron correctamente.
# ./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. Cree un archivo de configuración local usando checksetup.pl
Ejecute checksetup.pl sin ningún argumento, lo que creará un archivo de configuración local en el directorio actual. El archivo localconfig contiene los parámetros de configuración clave utilizados por bugzilla (por ejemplo, el nombre de usuario y la contraseña de 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. Modifique el archivo de configuración local.
Lo único que necesita para modificar el archivo localconfig es la contraseña de base de datos de la base de datos MySQL cambiando la variable $db_pass como se muestra a continuación.
# vi ./localconfig $db_pass = 'Bugs4All';
11. Modifique /etc/my.cnf para aumentar el tamaño del archivo adjunto bugzilla
Establezca max_allowed_packet en 4M en /etc/my.cnf para aumentar el tamaño del archivo adjunto 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
Reinicie mysqld después de este cambio.
# service mysqld restart
12. Crear errores usuario mysql
Agregue el usuario bugzilla (errores) a la base de datos mysql como se muestra a continuación.
# 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. Crear la base de datos bugzilla
Ejecute checksetup.pl (sin ningún argumento) nuevamente para crear la base de datos mysql bugzilla. Dado que el archivo localconfig ya existe, la segunda vez que ejecute checksetup.pl, creará la base de datos mysql basada en la información del archivo 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. Crea una cuenta de administrador de bugzilla.
Al final de la ejecución de ./checksetup.pl, detectará que no tiene una cuenta de administrador y le pedirá que ingrese la información de inicio de sesión de administración como se muestra a continuación.
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. Configurar apache para mod_perl
Cambie el nombre del directorio bugzilla. (es decir, elimine el número de versión que contiene)
# cd /var/www/html # mv bugzilla-3.4.6/ bugzilla
Agregue las siguientes dos líneas a 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
Verifique que el grupo en httpd.conf coincida con el grupo de servidores web en localconfig
# cd /var/www/html/bugzilla/ # grep webservergroup localconfig $webservergroup = 'apache'; # grep Group /etc/httpd/conf/httpd.conf Group apache
16. Ejecución final de checksetup.pl
Ejecute checksetup.pl nuevamente.
# ./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. Inicie sesión en bugzilla y complete la configuración única.
Inicie apache, vaya a http://{su-dirección-ip}/bugzilla e inicie sesión con la cuenta de administrador que creó anteriormente.
Desde la interfaz de usuario de bugzilla, en el pie de página -> Administración -> Parámetros -> ' Sección de configuración requerida -> Complete la siguiente información:
mantenedor:[email protected]
urlbase:http://{your-ip-address}/
Nota:Dependiendo de su configuración, vaya a -> Autenticación de usuario -> y es posible que desee cambiar el inicio de sesión requerido y el parámetro emailregexp.
Resolución de problemas de instalación de Bugzilla
Problema 1:el módulo DBD::mysql falló
El módulo DBD:mysql perl falló con el mensaje de error "mysql.h:No such file or directory" como se muestra a continuación.
# /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â
Solución 1:instalar mysql-devel
El mensaje de error "mysql.h:no existe tal archivo o directorio" se debe a que faltaba el paquete mysql-devel, como se muestra a continuación.
# 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
Instale el paquete mysql-devel como se muestra a continuación.
# yum install mysql-devel # rpm -qa | grep -i "mysql-devel" mysql-devel-5.0.77-4.el5_4.2
La instalación de DBD::mysql se llevará a cabo sin problemas ahora.
# /usr/bin/perl install-module.pl DBD::mysql
Problema 2:GD falló porque faltaba gdlib-config / libgd
La instalación del módulo GD falló con el siguiente mensaje de error.
# /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
Solución 2:instalar el paquete gd-devel
Instale libgd (es decir, el paquete gd-devel) como se muestra a continuación para solucionar el problema del módulo 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 instaló sin problemas después de instalar el paquete gd-devel.
# /usr/bin/perl install-module.pl GD
Problema 3:Twig falló con el error expat.h
El módulo Twig no se pudo instalar con el mensaje de error "expat.h:No such file or directory" como se muestra a continuación.
# /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
Solución 3:instalar expat y expat-devel para Twig
Instale el paquete expat y expat-devel como se muestra a continuación.
# yum install expat # yum install expat-devel
Ahora instala Twig sin ningún problema.
# /usr/bin/perl install-module.pl XML::Twig
Problema 4:Imagen::Magick no se pudo instalar
Imagen::La instalación de Magick falló con el mensaje de error "magick/MagickCore.h:No such file or directory" como se muestra a continuación.
# /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
Solución 4:Imagen::Magick no se pudo instalar
Asegúrese de que estén presentes los siguientes paquetes relacionados con 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
En mi caso, faltaba ImageMagic-devel. Por lo tanto, instálelo como se muestra a continuación. Después de eso, Image::Magick perl module se instaló correctamente.
# yum install ImageMagick-devel # /usr/bin/perl install-module.pl Image::Magick
Problema 5:SOAP::Lite no se pudo instalar
El módulo SOAP::Lite no se pudo instalar con el mensaje "No se puede ubicar version.pm en @INC" como se muestra a continuación.
#/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
Solución 5:se requiere instalar version.pm para SOAP::Lite
Version.pm instalada como se muestra a continuación. Después de esto, SOAP::Lite se instaló sin ningún problema.
# perl -MCPAN -e 'install version' # /usr/bin/perl install-module.pl SOAP::Lite
Problema 6 (y solución 6):faltaba mod_perl
No instale mod_perl usando /usr/bin/perl install-module.pl mod_perl2. Insetad, use yum para instalar mod_perl como se muestra a continuación.
# yum install mod_perl
Problema 7:Falló el inicio de Apache
No se pudo iniciar apache con el mensaje de error "No se puede localizar Plantilla/Config.pm en @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
Solución 7:instale el kit de herramientas de plantilla como se muestra a continuación
Instale el kit Template-Tool para corregir el mensaje de error de apache anterior
# 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
Problema 8:el inicio de Apache falló nuevamente
No se pudo iniciar apache con el mensaje de error "No se puede ubicar DateTime/Locale.pm en @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
Solución 8:Instale DateTime/Locale.pm como se muestra a continuación
Instale DateTime/Locale.pm para corregir el mensaje de error de Apache anterior
# cpan cpan> install DateTime:Locale
Además, en su apache error_log si ve el problema Digest/SHA.pm, debe instalarlo como se muestra a continuación.
# tail -f /etc/httpd/logs/error_log Can't locate Digest/SHA.pm in @INC (@INC contains: # cpan cpan> install Digest::SHA