GNU/Linux >> Tutoriales Linux >  >> Linux

Guía de instalación paso a paso de Bugzilla para Linux

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

Linux
  1. ¿Qué es Linux? Una guía para usuarios no técnicos

  2. Cómo instalar RHEL 8:una guía paso a paso completa

  3. Cómo instalar Arch Linux:Guía de instalación paso a paso para principiantes

  4. Cómo instalar Void Linux:una guía completa paso a paso

  5. Guía completa para usar AsciiDoc en Linux

20 pasos para preparar tu PC para la instalación de Linux

Guía de inicio rápido de Ansible para administradores de sistemas Linux

Guía para configurar el servidor SFTP en Linux

Guía fácil paso a paso de variables de entorno de Linux

Crear una partición en Linux:una guía paso a paso

Instalar Golang en Linux – Guía paso a paso