標籤:style blog http io ar color os 使用 sp
頭在忙著他的技術研究,對團隊建設、測試管理、流程規範都不怎麼理會,眼見著產品進入後期整合階段,在測試過錯中出現很多Bug,單靠著我一個人用txt來收集整理bug需求,然後整理成word,放在svn上面去,然後郵件通知各模組負責人去修正,效率太慢了。拿著工程師的錢,乾著專案經理的事情,哎。
抱怨完了,該幹活的開始幹活。
Bugzilla是一開源Bug Tracking System,是專門為Unix定製開發的。但是在windows平台下依然可以成功安裝使用.
Testopia是一款和Bugzilla整合到一起的test case management系統.
它的強大功能表現在以下幾個方面:
1. 強大的檢索功能
2. 使用者可配置的通過Email公布Bug變更
3. 曆史變更記錄
4. 通過跟蹤和描述處理Bug
5. 附件管理
6. 完備的產品分類方案和細緻的安全性原則
7. 安全的審核機制
8. 強大的後端資料庫支援
9. Web,Xml,Email和控制介面
10. 友好的網路使用者介面
11. 豐富多樣的配置設定
12. 版本間向下相容
安裝部署 1. 下載安裝檔案
先從官網上面下載Bugzilla安裝包,看一些ReadMe,它是基於Perl寫的,資料庫使用的是MySql,
Perl點此。MySql點此。Web伺服器就用系統內建的IIS。Bugzilla點此。
Bugzilla的漢化包點此。
將Bugzilla解壓到D盤,放在Bugzilla目錄下,安裝Bugzilla需要Perl相關組件,此處先放一放。
2. 安裝MySql資料庫
我下載的是zip安裝包,這和網上一些教程介紹的安裝包安裝方法不一樣,一路next下去就好了。MySql提供兩種安裝方式,
一種是msi格式,另一種是zip格式,各有各的好處,zip格式的MySql安裝教程點此。
安裝好MySql後,需要建立一個Bug資料庫和一個訪問Bug資料庫的MySql賬戶。
先將MySql的Bin目錄添加到系統的環境變數中去,後續的Perl也是一樣,需要將可執行檔的路徑添加到系統內容變數中去。
以root使用者登入進MySql,使用方法如下:
設定資料庫。
上述就是MySql伺服器的簡單配置。
3. 安裝Perl
按照安裝包一步一步走下去,最後,將安裝包中bin目錄添加到系統內容變數中,如果在命令列中顯示出如下變數,則表示安裝成功。
Bugzilla需要Perl的一系列外掛程式,直接在命令列中輸入ppm upgrade –install 就可以安裝所有Perl的外掛程式
(其實,只要安裝Bugzilla需要的就可以了,手賤點快,幸好網速快,下載過程蠻順利)
和Ubuntu的apt更新源類似,peri也是從源上擷取更新外掛程式包,為了加快perl下載速度,可以添加perl源到ppm管理器中。
出現其他perl下載的問題,可以點此嘗試解決。
4. 配置Bugzilla
進入Bugzilla目錄,手動執行checksetup.pl,該指令碼會檢查所有必需的perl模組是否安裝,缺啥安裝啥。等到所有的都安裝好之後,再次執行checksetup.pl,會在目前的目錄下產生localconfig檔案。
有如下的關鍵幾項需要我們來配置:
改成和MySql中配置的一樣就可以,配置完後,再次執行checksetup.pl,經過耐心的等待,輸入SMTP伺服器位址、Bugzilla管理員名稱和密碼就可以了。
5. 配置IIS
我是用Win7內建的IIS來作為Web伺服器的。Win7旗艦版預設沒有開啟這個服務。因此,需要先開啟這些服務。
WIn+R,輸入OptionalFeatures,開啟Windows功能,選上如下的功能。
繼續Win+R,輸入inetmgr,開啟Windows IIS組態管理工具。
基本的建立建立應用程式等一些基本設定,點此進入瞭解。下面介紹遇到的各種坑。
第一個坑:
在配置IIS的時候,訪問目錄無許可權
解決方案:點擊基本設定->串連為,預設選中的是“應用程式使用者”,選擇上面的特定使用者,輸入登陸電腦的使用者名稱和密碼。
第二個坑:
在添加指令碼映射時,出現如下錯誤:
原因是沒有包含CGI ASP功能
解決方案:選上下述功能就可以了,
同類問題解決方案,點此瞭解。
第四個坑:設定指令碼映射出錯
解決方案:在Default Web Site目錄下設定處理常式映射
第五個坑:
添加應用程式賬戶後,在瀏覽器中輸入http://localhost時,出現如下錯誤:
或者
解決方案:
添加指令碼映射,請求直接選取*.pl,可執行檔根據實際情況,選擇perl.exe –T %s %s,名稱選擇 Perl Script Map.還需要添加一個指令碼映射,處理*.cgi的指令碼。在這裡,看到網上有很多人修改了Bugzilla目錄下面所有cgi指令碼的標頭檔解釋路徑,將#!/usr/bin/perl -wT替換為#!/usr/bin/perl -w,不修改,也是可以安裝成功的。
這裡的話,-T的參數一定要加上,彈出的提示框中,一定要點是。之前,我被網上的Installing under IIS 7.5給誤導了。點了否,結果,怎麼折騰都折騰不出來,氣死人,後來點是,就可以了。此時,我深深的瞭解到,實踐才是檢驗真理的唯一標準。
上述大概就是在折騰IIS中遇到的各種坑。
6.配置Bugzilla
在註冊賬戶的時候,發送郵件時出現下面的錯誤,
懷疑是Bugzilla的SMTP沒有配置好。根據 網上的Bugzilla使用手冊及解決方案,需要確認在data/目錄下的param檔案,參數配置是否正確。第二是,查看SMTP認證外掛程式和伺服器的郵件伺服器開啟沒有。
下面是配置例子:
maintainer : [email protected]
mail_delivery_method : SMTP
mailfrom : [email protected]
sendmailnow: on
smtpserver : smtp.163.com
smtp_username: [email protected]
smtp_password : **********
這裡需要注意的是: maintainer、mailfrom必須相同,SMTP_username郵箱必須是真實存在的郵箱,smtp_password是真實郵箱對於的密碼。
經過上述的配置,郵件已經發送成功。
提示:如果忘記了Bugzilla管理員的密碼,可以 ./checksetup.pl --reset-password=管理員郵箱,就可以修改密碼了。
基本的Bugzilla配置
urlbase : 指向你安裝路徑的URL,該URL會在新使用者註冊郵件中使用,用於註冊登陸以及內網使用者訪問。
設定為Bugzilla所在的伺服器IP即可。假設IP為192.168.1.100,則需要設定為http://192.168.1.100/
特別備忘:當設定完此項設定後,之後的登陸就不能用localhost來登陸了,而是需要用設定的urlbase來登陸才行,我在這裡卡主了一個多小時,設定了這個參數之後,在localhost裡面登出再次登陸時,怎麼就登陸不上去了,在地址欄中輸入urlbase的地址後,才登陸成功了。
能夠犯的錯誤都犯一次,下次就不會再犯錯誤了。看到網上一些教程,一切都很順利的樣子,我在這兩天的搭建中,幾乎是不可能這樣順利的,犯錯,反思,搜尋,總結記錄,再犯錯,再反思,再搜尋總結和記錄,這樣才能更加深入的理解。
cookiepath:協助瀏覽器正確的管理cookie。
maintainer : Bugzilla的主維護人
requirelogin: 登陸驗證,防止匿名使用者登入。
createemailregexp: 註冊帳號名稱限制,如果設定為”.*”,任何人都可以建立他的賬戶。
如果設定為“@mycompany.com$”,只允許擁有myconpany賬戶的使用者註冊申請。
如果設定為空白,僅僅管理員可以建立新賬戶,普通使用者不允許申請賬戶。
allow_attachment_display: 是否允許瀏覽器視窗開啟附件,預設為Off,這是為了防止附件中隱藏的惡意行為
如果要開啟此項設定,需要指明附件所在地址,屬性名稱為attachment_base.例如:配置為http://www/Bugzilla.com/,則附件的為:http://www/Bugzilla.com/attachment.cgi?id=6
預設單次上傳附件最大為1MB,我現在把它改為20M。
1. 配置maxattachmentsize 改為20000
2. 配置MySql的max_allowed_packet參數。進入MySql,
設定了cookie相關後,在重新登陸後,出現如下錯誤:
經過這個部落格給出的解決方案,部落格地址為Bugzilla的Cookie問題,不能解決這個問題。在重新設定Bugzilla,每執行完一個設定後,重新開一個網頁登陸嘗試,看看有沒有 重新整理後需要重新登陸的問題。最後定位到一個參數的配置
shutdownhtml,特別加紅,以示警戒。最後,如果這個屬性設定了值,不管是什麼數值,都會導致上述的原因,解決的方法是不設定這個參數。至於更深層次的原因,不是很瞭解。在google上面找到這個Bug,點此進入。
Bugzilla上傳附件失敗,彈出如下提示:
問題原因:用於上傳附件的lib/CGI.pm程式中使用了預設的臨時檔案夾/usr/temp,而在windows系統中沒有此檔案夾,因此,可以在lig/CGI.pm中修改臨時檔案夾地址,修改如下:
7. 漢化Bugzilla
字型漢化:將前面下載的漢化包,解壓,將最上層資料夾改名為cn,拷貝到template目錄下就可以了。
協助檔案:將doc目錄下的en檔案夾整個複製一份出來,該名為cn,這樣就確保了在中文環境下,顯示協助檔案不正常的問題。
8. 總結
經過兩天的部署學習,MySql+ActivePerl+IIS+Bugzilla終於取得成功,心中積累的鬱悶一掃而空,這幾天我所犯下的錯誤和遇到的問題,都總結出來並且嘗試著找到解決方案去解決,網路的力量很強大,利用好google,(如果有人想上google,可以給我發郵件,我有上google的好寶貝,嘿嘿)。
希望這篇文章可以協助更多在安裝Bugzilla路上迷惑的人。
---------------------------分割線-----------------------------------------------
可惡的房東要收回房子,給他兒子娶媳婦用,11月底又要搬家了,希望一切平穩過渡。
下個星期,倒騰一下Testopia和hMailserver,看看好不夠好用。
Bugzilla+MySql+IIS+ActivePerl搭建指南