這裡介紹如何在 Ubuntu Linux 中安裝 Bugzilla 這個 bug 追蹤與管理系統。
Bugzilla 是一套由 Mozilla 所開發的軟體缺陷追蹤的網路應用程式,它可以幫助軟體開發團隊搜集 bugs 的回報資料,並且提供一個整合性的追蹤與管理系統。
以下介紹在 Ubuntu Linux 中如何安裝 Bugzilla,安裝方式有兩種,一種是使用 apt 的方式,另外一種是手動安裝。
如果是 Debian 系列的 Linux(如 Ubuntu),可以使用 apt 安裝,但是缺點是官方的套件庫只有舊版的 Bugzilla 套件,若要安裝最新版的,就要自己手動安裝。
以下是以 apt 安裝 Bugzilla 的過程,首先執行:
apt-get install bugzilla3
安裝過程還需要一些簡單的設定:
是否要進行設定 |
輸入資料庫的管理者密碼 |
輸入 Bugzilla 管理者的電子郵件位址 |
輸入 Bugzilla 管理者實際名字 |
輸入 Bugzilla 管理者密碼 |
確認 Bugzilla 管理者密碼 |
安裝完成後,開啟 http://YOUR-IP-ADDR/bugzilla3/
,就可以開始使用了。
若要移除 bugzilla3
,則執行:
apt-get remove bugzilla3
使用 apt 安裝雖然方便,但缺點就是版本太舊,如果想要安裝新版的 Bugzilla,就要手動安裝。
檢查 Perl 版本:
perl -v
版本至少要 5.8.1 以上,如果你的 Perl 版本太舊,請先升級再繼續。
Bugzilla 支援 MySQL、PostgreSQL 與 Oracle,這裡我們選擇 MySQL。
檢查 MySQL 版本:
mysql --version
版本至少要 5.0.15 以上,如果你的 MySQL 版本太舊,請先升級再繼續。
如果系統沒有安裝 MySQL,可用 apt 安裝:
sudo apt-get install mysql-server mysql-admin mysql-client
安裝好 MySQL 後,新增一個 MySQL 帳號:
mysql -u root -p
執行下面這段 SQL 指令,新增一個 bugzilla@localhost
帳號:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugzilla.* TO bugzilla@localhost IDENTIFIED BY 'DB_PASSWORD'; mysql> FLUSH PRIVILEGES;
其中 DB_PASSWORD
是自己設定的密碼。
網頁伺服器就沒有什麼限制,只要可以執行 CGI 指令稿的伺服器就可以,最常見的就是 Apache(1.x 或 2.x 版都可以):
sudo apt-get install apache2
下載 Bugzilla 原始碼:
wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.4.2.tar.gz
解壓縮後,放到適合的位置:
tar zxvf bugzilla-4.4.2.tar.gz sudo mv bugzilla-4.4.2 /usr/local/
依照自己擺放的位置,在 Apache 設定檔中加入 alias:
Alias /bugzilla/ /usr/local/bugzilla-4.4.2/ <directory /usr/local/bugzilla-4.4.2> AddHandler cgi-script .cgi Options +ExecCGI DirectoryIndex index.cgi index.html AllowOverride Limit FileInfo Indexes Options </Directory>
檢查 Bugzilla 需要的 Perl 模組:
cd /usr/local/bugzilla-4.4.2/ sudo ./checksetup.pl --check-modules
這裡會列出缺少的 Perl 模組,並不是所有的模組都一定要安裝,以下這些是必要的部分:
其餘的部分可以自己判斷,不需要的就不用裝。
你可以自己使用 apt 安裝缺少的 Perl 模組,例如:
sudo apt-get install libdbd-pg-perl libapache2-mod-perl2
或是直接使用 install-module.pl
一次全部裝:
sudo perl install-module.pl --all
安裝完 Perl 模組之後,接著建立基本的設定檔:
sudo ./checksetup.pl
接著編輯 ./localconfig
這個產生出來的設定檔,依照自己的環境來設定:
$db_host = 'localhost'; # 資料庫主機位址 $db_name = 'bugzilla'; # 資料庫名稱 $db_user = 'bugzilla'; # 資料庫使用者帳號 $db_pass = 'DB_PASSWORD'; # 資料庫使用者密碼 $webservergroup = 'www-data'; # 設定檔案的 group
資料庫這部分的設定要跟上面 MySQL 的設定相同(帳號、密碼等)。
設定好之後,再執行一次 checksetup.pl
sudo ./checksetup.pl
在過程中會需要設定 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 與密碼,這樣就完成了。
接著打開瀏覽器,打開 Apache 的 alias 設定的網址 http://YOUR-IP-ADDR/bugzilla/
,就可以開始使用了。