這裡,我們将展示如何在一台Ubuntu 14.04或CentOS 6.5/7上安裝Bugzilla。Bugzilla是一款基于web,用來記錄跟蹤缺陷資料庫的bug跟蹤軟體,它同時是一款免費及開源軟體(FOSS),它的bug跟蹤系統允許個人和開發團體有效地記錄下他們産品的一些突出問題。盡管是”免費”的,Bugzilla依然有很多其它同類産品所沒有的“珍貴”特性。是以,Bugzilla很快就變成了全球範圍内數以千計的組織最喜歡的bug管理工具。
Bugzilla對于不同使用場景的适應能力非常強。如今它們應用在各個不同的IT領域,如系統管理中的部署管理、晶片設計及部署的問題跟蹤(制造前期和後期),還有為那些諸如Redhat,NASA,Linux-Mandrake和VA Systems這些著名公司提供軟硬體bug跟蹤。
- 安裝依賴程式
安裝Bugzilla相當簡單。這篇文章特别針對Ubuntu 14.04和CentOS 6.5兩個版本(不過也适用于更老的版本)。
為了擷取并能在Ubuntu或CentOS系統中運作Bugzilla,我們要安裝Apache網絡伺服器(啟用SSL),MySQL資料庫伺服器和一些需要來安裝并配置Bugzilla的工具。
要在你的伺服器上安裝使用Bugzilla,你需要安裝好以下程式:
Perl(5.8.1 或以上)
MySQL
Apache2
Bugzilla
Perl子產品
使用apache的Bugzilla
正如我們所提到的本文會闡述Ubuntu 14.04和CentOS 6.5/7兩種發行版的安裝過程,為此我們會分成兩部分來表示。
以下就是在你的Ubuntu 14.04 LTS和CentOS 7機器安裝Bugzilla的步驟:
準備所需的依賴包:
你需要運作以下指令來安裝些必要的包:
Ubuntu版本:
$ sudo apt-get install apache2 mysql-server libapache2-mod-perl2 libapache2-mod-perl2-dev libapache2-mod-perl2-doc perl postfix make gcc g++
CentOS版本:
$ sudo yum install httpd mod_ssl mysql-server mysql php-mysql gcc perl* mod_perl-devel
注意:請在shell或者終端下運作所有的指令并且確定你用root使用者(sudo)操作機器。
2. 啟動Apache服務
你已經按照以上步驟安裝好了apache服務,那麼我們現在需要配置apache服務并運作它。我們需要用sodo或root來敲指令去完成它,我們先切換到root連接配接。
$ sudo -s
我們需要在防火牆中打開80端口并儲存改動。
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# service iptables save
現在,我們需要啟動服務:
CentOS版本:
# service httpd start
我們來確定Apache會在每次你重新開機機器的時候一并啟動起來:
# /sbin/chkconfig httpd on
Ubuntu版本:
# service apache2 start
現在,由于我們已經啟動了我們apache的http服務,我們就能在預設的127.0.0.1位址下打開apache服務了。
3. 配置MySQL伺服器
現在我們需要啟動我們的MySQL服務:
CentOS版本:
# chkconfig mysqld on
# service start mysqld
Ubuntu版本:
# service mysql-server start
mysql
用root使用者登入連接配接MySQL并給Bugzilla建立一個資料庫,把你的mysql密碼更改成你想要的,稍後配置Bugzilla的時候會用到它。
CentOS 6.5和Ubuntu 14.04 Trusty兩個版本:
# mysql -u root -p
# password: (You'll need to enter your password)
# mysql > create database bugs;
# mysql > grant all on bugs.* to [email protected] identified by "mypassword";
#mysql > quit
注意:請記住資料庫名和mysql的密碼,我們稍後會用到它們。
4. 安裝并配置Bugzilla
現在,我們所有需要的包已經設定完畢并運作起來了,我們就要配置我們的Bugzilla。
那麼,首先我們要下載下傳最新版的Bugzilla包,這裡我下載下傳的是4.5.2版本。
使用wget工具在shell或終端上下載下傳:
wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.1.tar.gz
你也可以從官方網站進行下載下傳。http://www.bugzilla.org/download/
從下載下傳下來的bugzilla壓縮包中提取檔案并重命名:
# tar zxvf bugzilla-5.0.1.tar.gz -C /var/www/html/
# cd /var/www/html/
# mv -v bugzilla-5.0.1.tar.gz bugzilla
注意:這裡,/var/www/html/bugzilla/就是Bugzilla主目錄.
現在,我們來配置buzilla:
# cd /var/www/html/bugzilla/
./checksetup.pl --check-modules 檢查缺少了哪些元件
perl install-module.pl --all 安裝其餘的元件
這一步會花掉一點時間去下載下傳安裝所有依賴程式,然後再次運作checksetup.pl –check-modules指令來驗證有沒有漏裝什麼。
現在我們需要運作以下這條指令,它會在/var/www/html/bugzilla路徑下自動生成一個名為localconfig的檔案。
# ./checksetup.pl
确認一下你剛才在localconfig檔案中所輸入的資料庫名、使用者和密碼是否正确。
checksetup.pl
如果一切正常,checksetup.pl現在應該就成功地配置Bugzilla了。
現在我們需要添加Bugzilla至我們的Apache配置檔案中。那麼,我們需要用文本編輯器打開 /etc/httpd/conf/httpd.conf 檔案(CentOS版本)或者 /etc/apache2/apache2.conf 檔案(Ubuntu版本):
CentOS版本:
# nano /etc/httpd/conf/httpd.conf
Ubuntu版本:
# nano etc/apache2/apache2.conf
現在,我們需要配置Apache伺服器,我們要把以下配置添加到配置檔案裡:
<VirtualHost *:80>
DocumentRoot /var/www/html/bugzilla/
</VirtualHost>
<Directory /var/www/html/bugzilla>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit FileInfo Indexes
</Directory>
接着,我們需要編輯 .htaccess 檔案并用“#”注釋掉頂部“Options -Indexes”這一行。
讓我們重新開機我們的apache服務并測試下我們的安裝情況。
CentOS版本:
# service httpd restart
Ubuntu版本:
# service apache2 restart
通路http://localhost/bugzilla/index.cgi是遇到 500 internal server error的問題
解決方法是,檢視 bugzilla官網安裝介紹 2.2.4.1.1. Apache httpd? with mod_cgi 發現指定的bugzilla路徑的配置與自己有不一樣
<Directory /var/www/html/bugzilla>
AddHandler cgi-script .cgi
Options +ExecCGI
DirectoryIndex index.cgi index.html
AllowOverride Limit FileInfo Indexes Options
</Directory>
配置改下列資訊後,就能通路http://localhost/bugzilla/index.cgi