Bugzilla 是一個由 Mozilla 於 1998 年推出的一套 bug 追蹤管理平台。它可以幫助開發團隊搜集 bugs 的回報資訊,並且提供一個高度整合性的追蹤管理平台。本文將會解說在 Ubuntu 16.04.6 LTS 中安裝 Bugzilla 的具體步驟,資料庫部分選擇使用 MySQL。
環境資訊:
- OS:Ubuntu 16.04.6 LTS
- Perl 版本: v5.22.1 (OS 預設)
- MySQL 版本: Ver 14.14 Distrib 5.7.30
- 預計安裝的 Bugzilla 版本:5.0.6
步驟摘要
- 安裝 Apache2
- 安裝及設定 MySQL
- 安裝 Bugzilla 所需之相依套件
- 下載 Bugzilla 並解壓縮
- 編輯 Bugzilla 的 localconfig 使其加上 MySQL 連線資訊以及 Apache2 資料夾資訊
- 安裝 Bugzilla 並進行模組檢查、開通管理者帳號
- 設定 Apache2 Config
- 添加 cgi.load 到 Apache2 的 mods-enabled
- 重啟 Apache2
第 1 步:安裝 Apache2
於終端機中輸入下列指令:
sudo apt-get install apache2
第 2 步:安裝及設定 MySQL
於終端機中輸入下列指令:
sudo apt-get install mysql-server mysql-client
接著創建資料表並賦予權限
[email protected]:/ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 79
Server version: 5.7.30-0ubuntu0.16.04.1 (Ubuntu)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database bugs;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on bugs.* to [email protected] identified by "123456";
Query OK, 0 rows affected (0.01 sec)
第 3 步:安裝 Bugzilla 所需之相依套件
於終端機中輸入下列指令:
sudo apt-get install gcc make
若與筆者一樣使用 MySQL 作為資料庫的話,還需安裝下列套件:
sudo apt-get install libmysqld-dev libmysqlclient-dev
第 4 步:下載 Bugzilla 並解壓縮
可至 Bugzilla 官網複製您要安裝的版本,或者直下使用以下資訊:
5.0.6:https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.6.tar.gz
請先自行創建 /var/www/html/
目錄,並且依照下列指令切換至該目錄:
cd /var/www/html/
接著透過上述連結從 Bugzilla 下載壓縮黨,並解壓到當前目錄中:
wget https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.6.tar.gz
tar zxvf bugzilla-4.5.2.tar.gz
接者將目錄更名為 bugzilla 以方便後續設定路徑:
mv bugzilla-5.0.6 bugzilla
進入 Bugzilla 目錄,並安裝所有未安裝的模組:
cd bugzilla/
/usr/bin/perl install-module.pl --all
預跑一次檢查程序,目的是使生成 localconfig,異常結尾是正常的。
sudo perl checksetup.pl
第 5 步:編輯 Bugzilla 的 localconfig 使其加上 MySQL 連線資訊以及 Apache2 資料夾資訊
使用 vim 或 vi 指令編輯 localconfig:
sudo vim localconfig
請編輯並確認下列資訊:
$webservergroup = 'www-data';
$db_driver = 'mysql';
$db_name = 'bugs';
$db_user = 'root';
$db_pass = '123456';
$db_port = 3306;
第 6 步:安裝 Bugzilla 並開通管理者帳號
接著再次執行 checksetup.pl
,可以看到需要的模組列表以及相關訊息,若一切成功請依照說明創建管理者帳號。
sudo perl checksetup.pl
基本上只要必要模組以及所需資料庫模組有安裝成功即可,若有需安裝其他選擇性模組可使用下列指令完成:
/usr/bin/perl install-module.pl 模組名
若看到下圖,則表示設定成功:
第 7 步:設定 Apache2 Config
接著請使用 vim 或 vi 編輯 apache2.conf 資訊
sudo vim /etc/apache2/apache2.conf
請找到相應段落中加入的 bugzilla 、ServerName、DirectoryIndex的 資訊:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
# 請依先前設定加入下方資訊
<Directory /var/www/html/bugzilla>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride all
Require all granted
</Directory>
ServerName localhost
DirectoryIndex index.html index.htm index.php index.cgi
第 8 步:添加 cgi.load 到 Apache2 的 mods-enabled
於終端機中輸入下列指令:
cd /etc/apache2/mods-enabled
sudo ln -sT ../mods-available/cgi.load cgi.load
第 9 步:重啟 Apache2
於終端機中輸入下列指令:
sudo /etc/init.d/apache2 restart
若出現 OK 則代表重啟成功。
完成
若一切順利,當你打開 http://127.0.0.1/bugzilla/
時,即可看見以下畫面: