標籤:

Mantis 搭建及自定義心得

Mantis 搭建及自定義心得

安裝環境:

Windows Server 2003

Apache2.2.22+PHP5.4.39+MySQL5.5.28 可以下一個easyphp或xampp,集成有這三個工具(Apache2.2.22+PHP5.4.39+MySQL5.5.28)

一、簡介

MantisBT是用PHP開發的、基於WEB的缺陷跟蹤系統,並採用開源資料庫MySQL,構成一個完整的開源解決方案,如下圖1所示。MantisBT的主要功能可以分為3個部分:管理、缺陷報告和統計分析。每個部分又有一些子功能,子功能下面還有一些具體的功能,其功能結構,可以用圖2來描述。

圖1

MantisBT的功能特點:

  1. 支持多項目、多語言。

  2. 許可權設置靈活,不同角色有不同許可權,還支持自定義角色。

  3. 可以建立缺陷之間的關聯或依賴關係,從而更有效地管理項目。

  4. 缺陷統計分析功能比較強,有多種直方圖和圓餅圖,並能導出CSV文件供Excel作進一步分析。

  5. 有自定義欄位功能,可以滿足企業的一些特殊要求。

  6. 缺陷可以在不同項目間移動。

  7. 主頁可發布公告、項目相關新聞,方便信息傳播。

  8. 個人可定製Email通知功能,每個用戶可根據自身的工作特點訂閱相關的缺陷狀態郵件。

  9. 可以定製軟體公司特定的缺陷處理流程

與Bugzilla相比,Mantis有如下優點:

第一、Mantis相對Bugzilla有更好的操作界面。

第二、安裝和使用都相對簡單一點。對於一般的項目, Mantis作缺陷跟蹤,已經綽綽有餘。

二、下載安裝

由於Mantis是建立在PHP、MySQL環境之上的,所以Mantis安裝分為兩部分,既要安裝PHP、MySQL等支撐平台,還要完成自身的安裝。支撐平台的安裝可以參照Windows搭建Apache+MySQL+PHP環境,如果使用easyphp,xampp就更簡單了。以下詳細介紹mantis自身的安裝。

首先,Mantis官方下載地址為 mantisbt.org/download.p,下載版本:mantisbt-1.2.19.zip 【可以下載更新的版本,但是要按官方要求匹配相應的Apache+MySQL+PHP環境】

其次,PHPMyAdmin官方下載地址為sourceforge.net/project ,下載版本:phpMyAdmin-4.4.4-all-languages.zip 【如果是easyphp,xampp就不用安裝了】

1、安裝

(1)將下載的mantisbt-1.2.19.zip壓縮包進行解壓,放在D:php目錄中,並將文件夾更名為:mantisbt

(2)將下載的phpMyAdmin-4.4.4-all-languages.zip壓縮包進行解壓,放在D:php目錄中,並將文件夾更名為:phpMyAdmin

2、配置

(1) 確認apahce和mysql服務已經啟動

(2) 打開瀏覽器,輸入localhost/phpMyAdmin,輸入MySQL的登錄用戶名與密碼(root/123456),在「SQL」中執行創建資料庫腳本:create database mantisdb;或者在「資料庫」中:填寫「mantisdb」、「utf8_general_ci」,點擊「創建」,創建成功.

圖2

(3) 打開瀏覽器,輸入localhost/mantisbt/admi進入相關配置

圖3

依次輸入:

  mysql (資料庫類型)

  localhost (伺服器名)

  root (mantis資料庫擁有者的用戶名)

  123456 (mantis資料庫擁有者的密碼)

  mantisdb (mantis資料庫名)

  root (mysql資料庫管理員用戶)

  123456 (mysql資料庫管理員密碼)

最後點擊「Install/Upgrade Database」這個按鈕,安裝開始,其實就是在MySQL中創建相關的表和初始化一些數據的過程,在我的電腦上花了大約七八秒鐘,然後就顯示完成信息了。如果各個條目的右邊都顯示綠色的「GOOD」字樣的話,那就恭喜你,你已經成功安裝了MantisBT,如果有些條目顯示的不是「GOOD」,那就要回頭檢查一下,多半是資料庫許可權不夠的問題,比較省事的辦法就是我上面的做法,直接給MantisBT使用root賬號,就不會有許可權的問題了。

圖4

(4) 查看是否可打開 mantis 登錄頁面(localhost/mantisbt/logi

(5) 配置完成的 Mantis 只有一個默認的系統管理員用戶:administrator,密碼: root。

圖5

(6)你會看到登錄界面,登錄界面下面有兩行紅字:

Warning: You should disable the default administrator account or change its password.

Warning: Admin directory should be removed.

都是安全方面的warning,前一個說administrator這個管理員賬號的密碼得改,這個簡單,administrator的默認密碼是「root」,登錄進去,在My Account這個標籤下面修改就可以了,修改密碼的時候還需要你提供真實可用的Email地址。

另外一個warning也不難解決,如它所說,刪除「Admin」目錄,我的是「D:phpmantisbtadmin」這個目錄。

三、漢化

默認情況下,顯示的語言是英文,現在需要將它漢化為中文,設置如下:

修改配置文件: 在 Mantis 目錄下 config_defaults_inc.php

修改前: $g_default_language = english;

修改後: $g_default_language = chinese_simplified;

圖6

四、郵件配置

如果不需要發送郵件功能可以不需設置。

1、修改配置文件: 在 Mantis 目錄下 config_defaults_inc.php中設置「Mantis Email Settings」的相關信息,包括下列內容:

將$g_administrator_email、$g_webmaster_email、$g_from_email、$g_return_path_email等設為有效的郵件地址;

將$g_phpMailer_method值設為2,表示以smtp方式發送郵件;

將$g_smtp_hosty設定為有效的郵件伺服器主機名,如』mail.iflashbuy.com』;

為$g_smtp_username 和$g_smtp_passwordy設定一個登錄郵件伺服器的有效用戶賬號和口令。

//Mantis Email Settings

$g_administrator_email=test@iflashbuy.com;

$g_webmaster_email=test@iflashbuy.com;

$g_from_email=test@iflashbuy.com;

$g_return_path_email= test@iflashbuy.com;

$g_use_phpMailer = ON; # 使用 PHPMailer 發送郵件

$g_phpMailer_method=2; # PHPMailer 以 SMTP 方式發送 Email

$g_smtp_host=mail.iflashbuy.com; # SMTP 伺服器

$g_smtp_username = test@iflashbuy.com; # 郵箱登錄用戶名

$g_smtp_password=密碼; # 郵箱登錄密碼

Note: 這邊示例使用的是公司的郵箱作為郵件伺服器測試成功。

大家經常會遇到,無法發送郵件,而又不知道如何解決的問題,可以通過以下方法進行調試:進入郵件測試界面,在瀏覽器中輸入測試地址,例如:localhost/mantisbt/admi ,點擊測試,就可以對發送失敗原因進行檢測。

2、附上較理想的郵件設置

五、用 Administrator 註冊新用戶時設置密碼

為了方便可以由Administrator註冊好賬戶後告知需要的人,這樣便於管理,但是默認是無法修改賬戶密碼的,所以需要修改配置。

在 Mantis 目錄下 config_defaults_inc.php 文件中找到 $g_send_reset_password

修改前:$g_send_reset_password = ON;

修改後: $g_send_reset_password = OFF;

特附上設置前與設置後的圖:

六、配置區域網訪問

通常情況mantisbt 是在局網站使用,那麼區域網中又是使用IP地址訪問,又需要修改配置。

在區域網的任一電腦中輸入:ip/mantisbt/login_page.即可成功訪問。

【為了保證區域網內計算機都能訪問,建議關閉防火牆】

若失敗,可嘗試以下操作:

在Listen 127.0.0.1:80下一行加入一段代碼Listen 192.168.1.101:80

註:192.168.1.101為Mantis伺服器的IP地址

如果以後郵件系統不希望出現bug的地址為127.0.0.1的,請把Listen 127.0.0.1:80注掉。只留Listen 192.168.1.101:80

七、上傳附件配置

Mantisbt 提交Bug是可以上傳附件的,但是上傳附件大小是有限制的,可以自己根據需求進行配置。

1、在 Mantis 目錄下 config_defaults_inc.php 文件中找到Mantis File Upload Settings

$g_allow_file_upload= ON;

$g_file_upload_method= DISK;            #上傳到硬碟

$g_max_file_size=2097152;           #附件大小限制為2MB

$g_allowed_files= txt,jpg,jepg,gif,bmp,doc; #允許上傳的文件類型

$g_disallowed_files=exe,com; #不允許上傳的附件類型

$g_absolute_path_default_upload_folder=D:phpmantisbtupload; #默認的文件上傳的絕對路徑

$g_preview_attachments_inline_max_size=99999; #直接顯示任何小於這個位元組大小的bmp,png,gif,jpg格式的上傳文件。

2、在MantisBT目錄下新建一個目錄upload

【注意最好不要用中文目錄名,目錄名中間也不要帶空格】

八、解決CSV導出的中文顯示是亂碼

假如保存的文件為administrator.csv,其中中文亂碼解決辦法:

1、重命名administrator.csv為administrator.txt

2、另存時選擇編碼方式為ASCII改名過來,就可以了

九、JpGraph

在進行缺陷分析時,須要繪製柱形圖、餅形圖、趨勢圖等,為了解決這個問題,要安裝JpGraph。如果不安裝這個軟體,也可以將數據拷貝到Excel等,再進行分析。如想了解JpGraph,可以參考官方網站jpgraph.net/上的相關內容。例如,JpGraph2.3.3安裝到D:phpmantisbtlibrary的目錄下,要修改3個地方來完成配置。

1、 Config_default_inc.php為JpGraph進行設置,即在」Mantis JPGRAPH Addon」段中修改下列相關的參數。

$g_use_jpgraph=ON; #將off改為on;

$g_jpgraph_path=』D:phpmantisbtlibraryjpgraph』; #JpGraph所在路徑

$g_graph_font=』simsun』; #定義所用的字體,這裡指定宋體

在文件中的」Signup and Lost Passwod」段中修改下列兩個參數:

$g_system_font_folder=』c:WINDOWSFonts』;

$g_font_per_captcha=』simsun.ttc』;

2、在mantisbtmantisbtpluginsMantisGraphcoregraph_api.php文件中增加中文字體simsun(宋體),其代碼如下:

Function graph_get_font(){

$t_font_map=array(

simsun=>FF_SIMSUM, //增加宋體映射

arial =>FF_ARIAL,

}

3、在mantisbt/library/jpgraph/jpgraph_ttf.inc.php文件中注shi字符集編碼轉換,因為我們已全面採用了UTF-8字符集,其代碼如下:

elseif( $aFF === FF_SIMSUN ) {

// Do Chinese conversion

//if( $this->g2312 == null ) {

// include_once jpgraph_gb2312.php ;

// $this->g2312 = new GB2312toUTF8();

//}

//return $this->g2312->gb2utf8($aTxt);

      return $aTxt;

}

未解決中文問題。。。

後記

1、如果是在windows下裝,要特別注意,文件路徑的「/」,不能使用「」,這在php配置文件中是注釋的含義。尤其要注意一些配置文件中的路徑設置

2、Mantis的設置是這樣保存的:在config_defaults_inc.php中保存這Mantis的默認設置,用戶自己的設置信息保存在 config_inc.php中,如果某個選項在config_inc.php中有設置,則系統使用config_inc.php中的設置,否則使用 config_defaults_inc.php的系統默認設置;config_inc.php.sample則是Mantis給出的一個用戶設置文件例子。

所以我們需要修改config_inc.php文件中的設置,設置很簡單,各個參數的意義可以參見 config_defaults_inc.php,這裡對每個參數都有詳細的解釋,雖然是E文,不過應該都能看懂;Sample中給出的一些設置是一定需要修改的,比如MySQL資料庫的連接參數,管理員的郵箱的;其他的要根據你的實際情況進行修改。

配置文件載入順序:先載入config_defaults_inc.php,後載入config_inc.php。config_inc.php中的值會覆蓋config_defaults_inc.php

如果要修改,建議拷到config_inc.php中修改

3、怎麼去掉mantis登陸界面右下角的圖片?還有logo的鏈接地址?

1 準備好自己的logo,例如準備的logo為zhaoxiyu.gif、zxy.gif

2 把上面的兩個logo存放到C:/mantis-1.0.0a3/images

3 打開C:/mantis-1.0.0a3/core中的html_api.php文件

4 查找function html_top_banner() 在這個函數中更 改echo <a href="aomeitech.com/" title="Hello AOMEI"> <img border="0" width_="270" height="55" alt="HELLO AOMEI" src="images/aoemi.gif" /></a>;

這個需要根據實際情況更改例如

width_="270" height="55

主要更改了頁面中最大的那個logo

5 查找if ( ON == config_get( show_queries_list ) ) 在下面更改

echo <a href="AOMEI Technology"

title="AOMEI"><img src="images/am.gif" width_="81" height="48" alt="Make your data never lost" border="0" /></a>; 主要更改了頁面中右下角的那個logo

mantis左下角的文字信息的清除

1 打開C:/mantis-1.0.0a3/core中的html_api.php文件

2 查找到echo "/t", $t_unique_queries . unique queries executed.<br />, "/n";在前面添加個#號

3 查找到echo "/t", $t_count, total queries executed.<br />, "/n";在前面添加個#號

4 查找到echo "/t", <address><a href="mailto:, config_get( webmaster_email ),

">, config_get( webmaster_email ), </a></address>, "/n";在前面添加個#號

5 查找到echo "/t", <span class="timer"><a href="AOMEI Technology">Mantis, configet(mantis_version ), </a>在前面添加個#號

6 把上一步驟緊接著的文字更改為

echo "/t", <address> </address>, "/n";

或注釋掉

還有很多可以自定義修改的地方,慢慢看代碼吧。。。。。。。。。。。


推薦閱讀:

如何看待能自動修復bug的CodePhage?
Android 6.0 sdcard不同視圖unlink()卡住問題
DexException: Multiple dex files define Lcom/squareup/leakcanary/watcher/R;
學習編程的你,遇到了Bug該怎麼辦?
玩一些遊戲切換出去之後就無法再次運行的原因是什麼?

TAG:Bug |