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來描述。
MantisBT的功能特點:
- 支持多項目、多語言。
- 許可權設置靈活,不同角色有不同許可權,還支持自定義角色。
- 可以建立缺陷之間的關聯或依賴關係,從而更有效地管理項目。
- 缺陷統計分析功能比較強,有多種直方圖和圓餅圖,並能導出CSV文件供Excel作進一步分析。
- 有自定義欄位功能,可以滿足企業的一些特殊要求。
- 缺陷可以在不同項目間移動。
- 主頁可發布公告、項目相關新聞,方便信息傳播。
- 個人可定製Email通知功能,每個用戶可根據自身的工作特點訂閱相關的缺陷狀態郵件。
- 可以定製軟體公司特定的缺陷處理流程
與Bugzilla相比,Mantis有如下優點:
第一、Mantis相對Bugzilla有更好的操作界面。
第二、安裝和使用都相對簡單一點。對於一般的項目, Mantis作缺陷跟蹤,已經綽綽有餘。
二、下載安裝
由於Mantis是建立在PHP、MySQL環境之上的,所以Mantis安裝分為兩部分,既要安裝PHP、MySQL等支撐平台,還要完成自身的安裝。支撐平台的安裝可以參照Windows搭建Apache+MySQL+PHP環境,如果使用easyphp,xampp就更簡單了。以下詳細介紹mantis自身的安裝。
首先,Mantis官方下載地址為 http://www.mantisbt.org/download.php,下載版本:mantisbt-1.2.19.zip 【可以下載更新的版本,但是要按官方要求匹配相應的Apache+MySQL+PHP環境】
其次,PHPMyAdmin官方下載地址為http://sourceforge.net/projects/phpmyadmin/ ,下載版本: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) 打開瀏覽器,輸入http://localhost/phpMyAdmin,輸入MySQL的登錄用戶名與密碼(root/123456),在「SQL」中執行創建資料庫腳本:create database mantisdb;或者在「資料庫」中:填寫「mantisdb」、「utf8_general_ci」,點擊「創建」,創建成功.
圖2(3) 打開瀏覽器,輸入http://localhost/mantisbt/admin/install.php進入相關配置
圖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 登錄頁面(http://localhost/mantisbt/login_page.php)
(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設定為有效的郵件伺服器主機名,如』http://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: 這邊示例使用的是公司的郵箱作為郵件伺服器測試成功。
大家經常會遇到,無法發送郵件,而又不知道如何解決的問題,可以通過以下方法進行調試:進入郵件測試界面,在瀏覽器中輸入測試地址,例如:http://localhost/mantisbt/admin/test_email.php ,點擊測試,就可以對發送失敗原因進行檢測。
2、附上較理想的郵件設置
五、用 Administrator 註冊新用戶時設置密碼
為了方便可以由Administrator註冊好賬戶後告知需要的人,這樣便於管理,但是默認是無法修改賬戶密碼的,所以需要修改配置。
在 Mantis 目錄下 config_defaults_inc.php 文件中找到 $g_send_reset_password
修改前:$g_send_reset_password = ON;
修改後: $g_send_reset_password = OFF;
特附上設置前與設置後的圖:
六、配置區域網訪問
通常情況mantisbt 是在局網站使用,那麼區域網中又是使用IP地址訪問,又需要修改配置。
在區域網的任一電腦中輸入:http://ip/mantisbt/login_page.php即可成功訪問。
【為了保證區域網內計算機都能訪問,建議關閉防火牆】
若失敗,可嘗試以下操作:
在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,可以參考官方網站http://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="http://www.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 |