Cómo instalar Bugzilla Bug Tracker en Debian 11

Bugzilla es un sistema de seguimiento de errores gratuito y de código abierto que nos permite seguir los errores y colaborar con los desarrolladores y otros equipos de nuestra organización. Nos ayuda a realizar un seguimiento de los errores, problemas y otras solicitudes de cambio en sus productos de forma eficaz. Fue adoptado por miles de organizaciones de todo el mundo debido a sus sólidas características. Está escrito en Perl y utiliza MySQL/MariaDB como base de datos.

En este artículo, explicaré cómo instalar Bugzilla en Debian 11.

Requisitos previos

  • Un servidor con Debian 11.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña de root configurada en tu servidor.

Instalar las dependencias necesarias

En primer lugar, actualiza todos los paquetes del sistema a la versión actualizada utilizando el siguiente comando:

apt-get update -y

A continuación, instala todos los módulos Perl necesarios utilizando el siguiente comando:

apt-get install build-essential libdatetime-timezone-perl libappconfig-perl libdate-calc-perl libtemplate-perl libmime-tools-perl libdatetime-perl libemail-sender-perl libemail-mime-perl libemail-mime-perl libdbi-perl libdbd-mysql-perl libcgi-pm-perl libmath-random-isaac-perl libmath-random-isaac-xs-perl libapache2-mod-perl2 libapache2-mod-perl2-dev libchart-perl libxml-perl libxml-twig-perl perlmagick libgd-graph-perl libtemplate-plugin-gd-perl libsoap-lite-perl libhtml-scrubber-perl libjson-rpc-perl libdaemon-generic-perl libtheschwartz-perl libtest-taint-perl libauthen-radius-perl libhtml-formattext-withlinks-perl libgd-dev graphviz sphinx-common rst2pdf libemail-address-perl libemail-reply-perl libfile-slurp-perl libencode-detect-perl libmodule-build-perl libnet-ldap-perl libfile-which-perl libauthen-sasl-perl libfile-mimeinfo-perl -y

Una vez que hayas terminado, puedes pasar al siguiente paso.

Instalar Apache y MariaDB

A continuación, instala el servidor de bases de datos Apache y MariaDB ejecutando el siguiente comando:

apt-get install apache2 mariadb-server mariadb-client -y

Una vez instalados ambos paquetes, inicia el servicio Apache y MariaDB con el siguiente comando:

systemctl start apache2
systemctl start mariadb

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar la base de datos MariaDB

A continuación, tendrás que crear una base de datos y un usuario para Bugzilla.

En primer lugar, inicia sesión en el shell de MariaDB utilizando el comando que se indica a continuación:

mysql

Una vez que hayas entrado, crea una base de datos y un usuario con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE bugzilla;
MariaDB [(none)]> CREATE USER 'buguser'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a la base de datos de Bugzilla con el siguiente comando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON bugzilla.* TO 'buguser'@'localhost';

A continuación, vacía los privilegios y sal del shell de MariaDB utilizando el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

A continuación, edita el archivo de configuración por defecto de MariaDB y modifica algunos ajustes:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Añade las siguientes líneas dentro de [mysqld]:

max_allowed_packet=16M
ft_min_word_len=2

Guarda y cierra el fiel el reiniciar el servicio MariaDB para aplicar los cambios:

systemctl restart mariadb

Instalar y configurar Bugzilla

En primer lugar, descarga la última versión de Bugzilla con el siguiente comando:

wget https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.6.tar.gz

Una vez finalizada la descarga, crea un directorio para Bugzilla y extrae el archivo descargado al directorio de Bugzilla:

mkdir /var/www/html/bugzilla
tar xf bugzilla-5.0.6.tar.gz -C /var/www/html/bugzilla --strip-components=1

A continuación, edita el archivo localconfig dentro del directorio de Bugzilla:

cd /var/www/html/bugzilla
nano localconfig

Realiza los siguientes cambios:

$create_htaccess = 1;
$webservergroup = 'www-data';
$use_suexec = 1;
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugzilla';
$db_user = 'buguser';
$db_pass = 'password';

Guarda y cierra el archivo y luego ejecuta el siguiente comando para configurar Bugzilla:

./checksetup.pl

Enter the e-mail address of the administrator: [email protected]
Enter the real name of the administrator: Hitesh Jethva
Enter a password for the administrator account: 
Please retype the password to verify: 
[email protected] is now set up as an administrator.
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.
checksetup.pl complete.

A continuación, ejecuta el siguiente comando para instalar todos los módulos Perl necesarios:

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

A continuación, cambia la propiedad del directorio Bugzilla a www-data:

chown -R www-data:www-data /var/www/html/bugzilla/

A continuación, verifica la configuración de Bugzilla con el siguiente comando:

./checksetup.pl

Si todo está bien, obtendrás la siguiente salida:

* APACHE MODULES                                                      *
***********************************************************************
* Some Apache modules allow to extend Bugzilla functionalities.       *
* These modules can be enabled in the Apache configuration file       *
* (usually called httpd.conf or apache2.conf).                        *
* - mod_headers, mod_env and mod_expires permit to automatically      *
*   refresh the browser cache of your users when upgrading Bugzilla.  *
* - mod_rewrite permits to write shorter URLs used by the REST API.   *
* - mod_version permits to write rules in .htaccess specific to       *
*   Apache 2.2 or 2.4.                                                *
* The modules you need to enable are:                                 *
*                                                                     *
*    mod_expires, mod_headers, mod_rewrite                            *
*                                                                     *
***********************************************************************
Reading ./localconfig...

OPTIONAL NOTE: If you want to be able to use the 'difference between two
patches' feature of Bugzilla (which requires the PatchReader Perl module
as well), you should install patchutils from:

    
patchutils
Checking for DBD-mysql (v4.001) ok: found v4.050 Checking for MySQL (v5.0.15) ok: found v10.5.12-MariaDB-0+deb11u1 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. checksetup.pl complete.

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar Apache para Bugzilla

A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para Bugzilla.

nano /etc/apache2/sites-available/bugzilla.conf

Añade las siguientes líneas:

<VirtualHost *:80>
ServerName bugzilla.example.com
DocumentRoot /var/www/html/bugzilla/

<Directory /var/www/html/bugzilla/>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit FileInfo Indexes Options AuthConfig
</Directory>

ErrorLog /var/log/apache2/bugzilla.error_log
CustomLog /var/log/apache2/bugzilla.access_log common
</VirtualHost>

Guarda y cierra el archivo y, a continuación, activa el host virtual de Bugzilla y habilita otros módulos necesarios mediante el siguiente comando:

a2ensite bugzilla.conf
a2enmod headers env rewrite expires cgi

A continuación, reinicia el servicio Apache para aplicar los cambios de configuración:

systemctl restart apache2

Puedes comprobar el estado del Apache utilizando el siguiente comando:

systemctl status apache2

Obtendrás la siguiente salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-12-19 08:57:08 UTC; 7s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 43005 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 43011 (apache2)
      Tasks: 56 (limit: 4679)
     Memory: 13.5M
        CPU: 46ms
     CGroup: /system.slice/apache2.service
             ??43011 /usr/sbin/apache2 -k start
             ??43012 /usr/sbin/apache2 -k start
             ??43013 /usr/sbin/apache2 -k start
             ??43014 /usr/sbin/apache2 -k start

Dec 19 08:57:08 taiga systemd[1]: Starting The Apache HTTP Server...

Una vez que hayas terminado, puedes pasar al siguiente paso.

Accede a la interfaz web de Bugzilla

Ahora, abre tu navegador web y accede a la interfaz web de Bugzilla utilizando la URL http://bugzilla.example.com. Deberías ver la siguiente pantalla:

BugZilla

Haz clic en el botón de inicio de sesión. Deberías ver la siguiente pantalla:

Inicio de sesión en BugZilla

Proporciona tu correo electrónico de administrador, tu contraseña y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Bugzilla en la siguiente pantalla:

Panel de control de BugZilla

Conclusión

Enhorabuena! has instalado con éxito Bugzilla con Apache en Debian 11. Ahora puedes implementar Bugzilla en tu entorno de desarrollo para gestionar y seguir tu proyecto. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...