[Bugzilla] 架設 Bugzilla 於 Ubuntu 16.04.6

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
步驟摘要
  1. 安裝 Apache2
  2. 安裝及設定 MySQL
  3. 安裝 Bugzilla 所需之相依套件
  4. 下載 Bugzilla 並解壓縮
  5. 編輯 Bugzilla 的 localconfig 使其加上 MySQL 連線資訊以及 Apache2 資料夾資訊
  6. 安裝 Bugzilla 並進行模組檢查、開通管理者帳號
  7. 設定 Apache2 Config
  8. 添加 cgi.load 到 Apache2 的 mods-enabled
  9. 重啟 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/ 時,即可看見以下畫面:

ALL RIGHTS RESERVED. COPYRIGHT © 2018. Designed and Coded by Makee.io