在Ubuntu 20.04上安装Bugzilla Bug Tracker

欢迎来到我们的教程,了解如何在Ubuntu 20.04上安装Bugzilla错误跟踪器。根据 关于Bugzilla页面,Bugzilla是一个健壮,功能强大且成熟的缺陷跟踪系统或错误跟踪系统。缺陷跟踪系统使开发人员团队可以有效地跟踪产品中未解决的错误,问题,问题,增强功能和其他更改请求。

Bugzilla的功能

Bugzilla具有特色。您可以在Bugzilla功能页面上了解其功能。

Bugzilla功能

在Ubuntu 20.04上安装Bugzilla Bug Tracker

先决条件

为了在Ubuntu 20.04上安装Bugzilla Bug跟踪器,您可能需要考虑一些系统因素。其中包括系统操作系统,硬件和软件要求,如 Bugzilla要求页面

在Ubuntu 20.04上安装Bugzilla Bug Tracker

好了,一旦按照所需的要求设置了服务器,就可以继续安装Bugzilla。

在Ubuntu 20.04上安装Perl

Perl是安装和运行Bugzilla的核心要求。 Bugzilla 5.0和更高版本需要Perl 5.10.1。但是,如果可能,应安装Perl 5.12或更高版本,因为这些较新版本进行了一些有用的改进,将使您的生活更轻松。

运行系统更新;

apt update

在Ubuntu 20.04和其他必需的(包括一些可选的)软件包依赖项上安装Perl。

apt install libappconfig-perl libdate-calc-perl libtemplate-perl libmime-tools-perl build-essential libdatetime-timezone-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 libfile-slurp-perl libencode-detect-perl libmodule-build-perl libnet-ldap-perl libfile-which-perl libauthen-sasl-perl libfile-mimeinfo-perl libhtml-formattext-withlinks-perl libgd-dev libmysqlclient-dev graphviz sphinx-common rst2pdf libemail-address-perl libemail-reply-perl

然后,您可以使用以下命令验证在Ubuntu 20.04上已安装的Perl的版本;

perl -v
This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-linux-gnu-thread-multi
(with 50 registered patches, see perl -V for more detail)

Copyright 1987-2019, Larry Wall

安装Apache Web服务器

您可以使用您喜欢的任何其他Web服务器,但是本指南使用Apache。因此,您可以通过运行以下命令在Ubuntu 20.04上安装Apache。

apt install apache2

启动并启用Apache服务以在系统启动时运行;

systemctl enable --now apache2

在Ubuntu 20.04上安装和配置Bugzilla数据库在Ubuntu 20.04上安装MariaDB数据库

同样,对于数据库,可以改用PostgreSQL。但是本指南使用的是MariaDB。检查我们是否安装了上面的MySQL perl模块。因此,要在Ubuntu 20.04上安装MariaDB,请运行以下命令;

apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal main'
apt install mariadb-server mariadb-client

启动并启用MariaDB在系统启动时运行;

systemctl enable --now mariadb

运行MariaDB初始安全脚本以禁用远程root登录,删除匿名用户,测试数据库。

mysql_secure_installation

创建Bugzilla数据库和数据库用户

登录到MariaDB并创建具有所有授予的特权的数据库和数据库用户。 请确保相应地替换数据库名称,用户和密码。

mysql
create database bugzilla;
grant all on bugzilla.* to [email protected] identified by 'changeme';

重新加载特权表并退出数据库;

flush privileges;
quit

接下来,将以下行插入 /etc/my.cnf.d/server.cnf 文件。

sed -i.bak '/^[mysqld]/a max_allowed_packet=16Mnft_min_word_len=2' /etc/mysql/mariadb.conf.d/50-server.cnf

重新启动MariaDB;

systemctl restart mariadb

在Ubuntu 20.04上安装Bugzilla Bug Tracker

接下来,您可以在Ubuntu 20.04上安装Bugzilla错误跟踪器,只需从以下网址下载Bugzilla源代码的最新稳定发行版: 下载页面 并将其放在您的Web根文档文件夹下。

 wget https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.6.tar.gz
mkdir /var/www/html/bugzilla
tar xf bugzilla-5.0.6.tar.gz -C /var/www/html/bugzilla --strip-components=1

将Bugzilla源代码放置在Web根目录下之后,现在可以通过执行以下命令来检查是否缺少所需的perl模块;

sed -i 's/^.*$var =~ tr/#&/' /var/www/html/bugzilla/Bugzilla/Util.pm
cd /var/www/html/bugzilla/
./checksetup.pl
* This is Bugzilla 5.0.6 on perl 5.30.0
* Running on Linux 5.4.0-53-generic #59-Ubuntu SMP Wed Oct 21 09:38:44 UTC 2020

Checking perl modules...
Checking for               CGI.pm (v3.51)     ok: found v4.46 
Checking for           Digest-SHA (any)       ok: found v6.02 
Checking for             TimeDate (v2.23)     ok: found v2.24 
Checking for             DateTime (v0.75)     ok: found v1.51 
Checking for    DateTime-TimeZone (v1.64)     ok: found v2.38 
Checking for                  DBI (v1.614)    ok: found v1.643 
Checking for     Template-Toolkit (v2.24)     ok: found v2.27 
Checking for         Email-Sender (v1.300011) ok: found v1.300034 
Checking for           Email-MIME (v1.904)    ok: found v1.946 
Checking for                  URI (v1.55)     ok: found v1.76 
Checking for       List-MoreUtils (v0.32)     ok: found v0.416 
Checking for    Math-Random-ISAAC (v1.0.1)    ok: found v1.004 
Checking for              JSON-XS (v2.01)     ok: found v4.02 

Checking available perl DBD modules...
Checking for               DBD-Pg (v2.7.0)    not found 
Checking for           DBD-SQLite (v1.29)     not found 
Checking for           DBD-Oracle (v1.19)     not found 
Checking for            DBD-mysql (v4.001)    ok: found v4.050
...
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
This version of Bugzilla contains some variables that you may want to change and adapt to your local settings. The following variables are new to ./localconfig since you last ran checksetup.pl: create_htaccess, webservergroup, use_suexec, db_driver, db_host, db_name, db_user, db_pass, db_port, db_sock, db_check, db_mysql_ssl_ca_file, db_mysql_ssl_ca_path, db_mysql_ssl_client_cert, db_mysql_ssl_client_key, index_html, interdiffbin, diffpath, site_wide_secret Please edit the file ./localconfig and then re-run checksetup.pl to complete your installation.

要使用一个命令尝试自动安装每个必需和可选模块,请执行以下操作:

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

配置Bugzilla数据库连接

创建Bugzilla MySQL / MariaDB数据库并将其安装到Web根目录后,请配置数据库连接详细信息。打开/ var / www / html / bugzilla / localconfig配置文件,并更新上面创建的数据库连接详细信息。

vim /var/www/html/bugzilla/localconfig
...
# The name of the group that your web server runs as. On Red Hat
# distributions, this is usually "apache". On Debian/Ubuntu, it is 
# usually "www-data".
$webservergroup = 'www-data';
...
# What SQL database to use.
$db_driver="mysql";

# The DNS name or IP address of the host that the database server runs on.
$db_host="localhost";

# The name of the database.
#$db_name="bugs";
$db_name="bugzilla";

# Who we connect to the database as.
#$db_user="bugs";
$db_user="bugadmin";

# Enter your database password here.
$db_pass="changeme";
...
# port for my database server."
$db_port = 0;
...

保存并退出文件。

重新运行checksetup.pl脚本以验证数据库连接并初始化一些Bugzilla数据库模式并创建所需的数据库表和其他配置设置。

/var/www/html/bugzilla/checksetup.pl
...
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 v5.5.5-10.5.8-MariaDB-1:10.5.8+maria~focal Adding new table bz_schema... Initializing bz_schema... Creating tables... Converting attach_data maximum size to 100G... Setting up choices for standard drop-down fields: priority bug_severity rep_platform op_sys resolution bug_status Creating ./data directory... Creating ./data/assets directory... Creating ./data/attachments directory... Creating ./data/db directory... ...

Bugzilla完成后,将要求您设置Bugzilla管理员电子邮件以及名称和密码。

...
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: GenToo
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.

创建Bugzilla Apache站点配置文件

为了能够访问Bugzilla Web界面,您需要创建其Apache站点配置文件。

vim /etc/apache2/sites-available/bugzilla.conf
<VirtualHost *:80>
ServerName bugzilla.kifarunix-demo.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>

保存并退出配置文件。 ]

启用Bugzilla网站;

a2ensite bugzilla.conf

启用所需的模块;

a2enmod headers env rewrite expires cgi

将Bugzilla文档根目录的所有权设置为Apache用户;

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

检查Apache语法;

apachectl -t

如果没有错误,请重新启动它。

systemctl restart apache2

测试Bugzilla安装

在Ubuntu 20.04上完成Bugzilla的安装和设置后,就可以运行testserver.pl脚本来验证安装和测试。

/var/www/html/bugzilla/testserver.pl <URL to this Bugzilla installation>

例如,测试我们的设置;

/var/www/html/bugzilla/testserver.pl http://bugzilla.kifarunix-demo.com
TEST-OK Webserver is running under group id in $webservergroup.
TEST-OK Got padlock picture.
TEST-OK Webserver is executing CGIs via mod_cgi.
TEST-OK Webserver is preventing fetch of http://bugzilla.kifarunix-demo.com/localconfig.
...

访问Bugzilla Web界面

确认一切正常后,您就可以通过网址访问Bugzilla网络界面, http://bugzilla.kifarunix-demo.com,当然按照此设置。

如果UFW正在运行,请根据使用的是HTTP还是HTTPS打开端口80或443;否则,请打开端口80。

ufw allow 80/tcp

然后,您可以浏览到浏览器上的Bugzilla URL。这样的界面欢迎您。

然后,您可以使用上面创建的管理员电子邮件和密码登录。您也可以创建新帐户。

在Ubuntu 20.04上安装Bugzilla Bug Tracker

浏览Bugzilla并管理您的应用程序错误。这使我们结束了有关如何在Ubuntu 20.04上安装Bugzilla错误跟踪器的教程的结尾。

进一步阅读

Bugzilla文档

其他教程

在CentOS 8上安装Bugzilla Bug Tracker

在Ubuntu 20.04上使用SSL / TLS证书安装Gitlab

将Postfix配置为在CentOS 8上使用Gmail SMTP

使用ElastAlert配置ELK堆栈警报

使用Prometheus和Grafana监控Gitlab指标

在Ubuntu 20.04上安装Cheat Command

Sidebar