在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