搭建Mantis 缺陷管理系統
By Snooper
錯誤必有!歡迎指正!
什麼是Mantis
MantisBT is a free popular web-based bugtracking system (feature list). It is written in the PHP scripting language and works with MySQL, MS SQL, and PostgreSQL databases and a webserver. MantisBT has been installed on Windows, Linux, Mac OS, OS/2, and others.
Almost any web browser should be able to function as a client. It is released under the terms of the GNU General Public License (GPL).
Mantis是一個BUG管理系統。主要特點如下:
1、 用php寫的系統,安裝方便,不用像 bugzilla 那樣安裝那麼多perl支持;
2、 系統相對簡單輕磅,使用簡單;
3、 出色的多語支持,對於對日開發等公司非常合適;
界面圖示:
在線演示地址:http://www.futureware.biz/mantisdemo
環境搭建及Mantis安裝、配置
由於Mantis是用php寫的系統,而要調試php程序當然要用到apache+php+mysql,而apache+php+mysql配置起來卻又是很麻煩的事,這還不包括環境衝突、、、等等,這些又或者是那些導致配置失敗的問題。但剛巧有這麼一個套件可以省去這些以前是需要解決的問題,這個套件就是EasyPHP了。EasyPHP集成了:Apache、PHP、MySQL、PhpMyAdmin。
以上軟件可參考文章最後的參考資料。
適用範圍
本文介紹基於Windows下的Mantis BUG管理系統的搭建。
軟件下載
Mantis下載地址:http://www.mantisbt.org/
EasyPHP下載地址:http://www.easyphp.org/
本文以mantis-1.1.0a4+ EasyPHP-3.1爲演示版本,並測試通過。
安裝EasyPHP
安裝EasyPHP很簡單,雙擊下載到的EasyPHP-3.1.exe,然後一直默認點擊Next即可安裝完成。當然啦,在License Agreement頁面是必須選擇I Access The Agreement……
軟件默認目錄:C:"Program Files"EasyPHP3.1
安裝進度…
Installing…
Completing!
EasyHPH成功安裝!勾選上“Open Help”、“Launch EasyPHP”,點擊“Finish”。可看到如下頁面:
若成功運行時,雙擊在Windows托盤的 圖標,可看到如下圖所示,Apache、MySQL的右邊都是顯示“Started”並亮綠燈的。
已知問題:
1、 若Apache沒有正常運行,可能是因爲Apache的默認使用的80端口被佔用(Apache端口修改方法請繼續往下閱讀…);
2、 若找不到原因,請重新啓動電腦,據說重新啓動電腦可以解決80%的問題,希望你遇到的不是餘下的20%中的…
安裝Mantis
1、 將下載到的mantis-1.1.0a4.rar解壓到mantis文件夾;
2、 EasyPHP安裝目錄,打開C:"Program Files"EasyPHP3.1"www"
3、 將mantis文件夾複製到C:"Program Files"EasyPHP3.1"www"下;
安裝Phpmyadmin
1、 打開C:"Program Files"EasyPHP3.1
2、 將phpmyadmin文件夾剪切到C:"Program Files"EasyPHP3.1"www"
建立Bug數據庫
1、 右鍵Windows托盤的 圖標,選擇“Local Web”,(或者在IE地址中輸入“http://127.0.0.1/”)可看到如下頁面:
2、 點擊選擇“mantis”,進入頁面:
3、 不用修改/填寫任何值,直接點擊頁面最下方的“Install/Upgrade Database”按鈕
4、 成功後可看到如下頁面:
² OK,到此爲止,Mantis系統已經搭建成功了。下面立刻驗證一下是否已配置成功!
1、 再次右鍵Windows托盤的 圖標,選擇“Local
Web”,(或者在IE地址中輸入“http://127.0.0.1/”)可看到如下頁面:
2、 點擊選擇“mantis”(或可省略步驟,直接在IE地址中輸入“http://127.0.0.1/mantis/login_page.php”),進入頁面:
配置完成的Mantis的只有一個默認的系統管理員用戶:
賬號:administrator
密碼:root
就這麼簡單,一個Bug管理系統就配置完成了,Mantis已經可以投入使用啦!但——實際使用中還是會有問題產生,如:Mantis配置完成後,默認配置完成的系統是English版本的,且只支持English,不支持Chinese,具體表現在:若在任何一個字段中輸入中文成功保存後,再顯示出來就是亂碼(而解決中文顯示亂碼的問題很是棘手,且根據情況的不同解決的方法也不同,在網上搜索一下就有一大堆。。。),具體解決方法請繼續往下Look……
中文版配置
配置完成時,Mantis默認爲English系統,而要使用中文版Mantis則需要修改配置文件。
² 配置方法:
打開Mantis目錄(C:"Program Files"EasyPHP3.1"www"mantis"),用記事本打開config_defaults_inc.php 文件,找到如下代碼片段:
。。。。。。
# --- language settings -----------
# If the language is set to 'auto', the actual
# language is determined by the user agent (web browser)
# language preference.
$g_default_language = 'english';
。。。。。。
將english 改爲chinese_simplified
修改完成後的代碼片段如下所示:
……
# --- language settings -----------
# If the language is set to 'auto', the actual
# language is determined by the user agent (web browser)
# language preference.
$g_default_language = 'chinese_simplified';
……
² 驗證配置是否成功:
再次在IE中登錄Mantis系統“http://127.0.0.1/mantis/login_page.php”),進入頁面:
OK,成功了。登錄後,也一樣是全中文的界面:
局域網訪問
配置完成時,Mantis默認爲只能夠本機訪問,若要在局域網內訪問則需要修改Apache的配置文件。
² 配置方法:
打開apache目錄(C:"Program Files"EasyPHP3.1"apache"conf"),用記事本打開httpd.conf 文件,找到如下代碼片段:
。。。。。。
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 127.0.0.1:80
。。。。。。
在Listen 127.0.0.1:80下一行加入一段代碼 Listen 192.168.1.101:80
注:192.168.1.101爲Mantis服務器的IP地址
修改完成後的代碼片段如下所示:
……
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 127.0.0.1:80
Listen 192.168.1.101:80
……
² 驗證配置是否成功:
在局域網任一電腦中通過IE登錄Mantis系統
http:// 192.168.1.101/mantis/login_page.php即可正常訪問。
端口被佔用
Mantis配置完成時,訪問Mantis系統可能會出現端口被佔用的問題,常見的原因是IIS默認端口爲80,而Mantis配置完成時,默認的端口也是80。因此需要修改Mantis的端口或者是IIS的端口才可正常訪問Mantis。
² 配置方法:
打開apache目錄(C:"Program Files"EasyPHP3.1"apache"conf"),用記事本打開httpd.conf 文件,找到如下代碼片段:
……
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 127.0.0.1:80
Listen 192.168.1.101:80
……
將Listen 192.168.1.101:80修改爲 Listen 192.168.1.101:8001
修改完成後的代碼片段如下所示:
……
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 127.0.0.1:80
Listen 192.168.1.101:8001
……
² 驗證配置是否成功:
在局域網任一電腦中通過IE登錄Mantis系統
http:// 192.168.1.101:8001/mantis/login_page.php即可正常訪問。
中文顯示亂碼的解決方法
² 中文顯示亂碼具體表現:
1、 使用administrator登錄後,依次選擇“管理→項目管理→點擊[創建新項目]”
數據填寫如下:
*項目名稱:Public Project
狀態:
查看狀態:
上傳文件存放路徑:
說明:說明…
2、 點擊【添加項目】,添加成功,返回列表頁面,中文會顯示爲亂碼:
解決中文顯示亂碼方法:
² 前提條件:
1) 已成功安裝EasyPHP(具體請閱讀“安裝EasyPHP”)
2) 已經安裝Phpmyadmin(具體請閱讀“安裝Phpmyadmin”)
² 解決思路
可能是MySQL數據庫默認編碼而造成的,因此重建數據庫即可解決。
因此,具體步驟可分爲兩部分:
a) 刪除數據庫;
b) 重建數據庫;
² 步驟:
(一) 刪除數據庫
1、 再次右鍵Windows托盤的 圖標,選擇“Local Web”,(或者在IE地址中輸入“http://127.0.0.1/”)可看到如下頁面:
2、 點擊選擇“Phpmyadmi”(或可省略步驟,直接在IE地址中輸入“http://127.0.0.1/ Phpmyadmi”),進入頁面:
3、 選擇菜單“數據庫”,並勾選上數據庫“bugtracker”:
4、 點擊 圖標,進入刪除數據庫頁面:
系統會詢問“你將要刪除一個完整的數據庫!你真的要:DROP DATABASE ‘bugtracker’;”5、 點擊“是”,刪除成功:
(二) 重建數據庫
1、 點擊菜單“數據庫”打開數據庫列表頁面:
2、 創建新數據庫,填寫如上圖“bugtracker”、“utf8_general_ci”,點擊“創建”,創建成功:
3、 打開Mantis目錄(C:"Program Files"EasyPHP3.1"www"mantis"),刪除config_inc.php文件;
4、 右鍵Windows托盤的 圖標,選擇“Local Web”,(或者在IE地址中輸入“http://127.0.0.1/”)可看到如下頁面:
5、 點擊選擇“mantis”,進入頁面:
6、 不用修改/填寫任何值,直接點擊頁面最下方的“Install/Upgrade Database”按鈕
7、 成功後可看到如下頁面:
² 驗證是否成功解決亂碼問題:
再次新建一個項目,在任意字段中包含有中文字符……再次打開項目列表時,中文亂碼問題已經解決,可正常顯示:
使用Mantis
Mantis的使用較爲簡單,大略可分以下幾個步驟:
1) 建立一個項目(菜單:管理→項目管理→創建新建項目);
2) 打開成功建立的項目,進入項目編輯頁面,爲該項目添加“分類”、“版本”(如下圖所示);
3) 提Bug(菜單:報告問題…):
4) 查看報表…
5) 當然,還有權限配置,流程配置、、、等功能,詳細可登錄http://www.mantisbt.org/瞭解。
系統管理員
配置完成的Mantis的只有一個默認的系統管理員用戶:
賬號:administrator
密碼:root
1、 打開http://127.0.0.1/mantis/login_page.php 進入頁面:
2、 登錄成功後可看到如下頁面:
參考資料:
以下資料來源:網上收集
EasyPHP
EasyPHP 是一個完美的 APM (Apache/PHP/MySQL)組合。雖然它包含的Apache/PHP/MySQL都不是最新的版本,但是卻是最穩定的版本,而且也可以保證一般的 PHP web 應用的正常運行。並且安裝完成之後不需要自己再做任何配置,只需要把準備發佈的 PHP 應用copy 到 WWW 目錄就可以了。
EasyPHP集成了: Apache, PHP, MySQL, PhpMyAdmin。
該軟件幫助你使用PHP管理數據、開發站點和應用程序。它是調試PHP程序的好東西。
MySQL
MySQL是一個開放源碼的小型關係型數據庫管理系統,開發者爲瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站爲了降低網站總體擁有成本而選擇了MySQL作爲網站數據庫。
phpMyAdmin
phpMyAdmin 是 MySQL 數據庫管理工具, 它能夠讓用戶直接和 MySQL 數據庫進行交互的 PHP 腳本程序。
phpMyAdmin 程序是用來維護數據表,備份信息,和在 WordPress 不工作的情況下直接編輯數據庫。 其實 phpMyAdmin 最大的好處就是可以直接用來進行 SQL 查詢,這比直接使用 MySQL 的命令行方便了很多。一般在主機的控制面板,都已經預裝了phpMyAdmin。
Apache Server
Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上。
Apache源於NCSAhttpd服務器,經過多次修改,成爲世界上最流行的Web服務器軟件之一。Apache取自“a patchy server”的讀音,意思是充滿補丁的服務器,因爲它是自由軟件,所以不斷有人來爲它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩定,並可做代理服務器來使用。
本來它只用於小型或試驗Internet網絡,後來逐步擴充到各種Unix系統中,尤其對Linux的支持相當完美。Apache有多種產品,可以支持SSL技術,支持多個虛擬主機。Apache是以進程爲基礎的結構,進程要比線程消耗更多的系統開支,不太適合於多處理器環境,因此,在一個Apache Web站點擴容時,通常是增加服務器或擴充羣集節點而不是增加處理器。到目前爲止Apache仍然是世界上用的最多的Web服務器,市場佔有率達60%左右。世界上很多著名的網站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的產物,它的成功之處主要在於它的源代碼開放、有一支開放的開發隊伍、支持跨平臺的應用(可以運行在幾乎所有的Unix、Windows、Linux系統平臺上)以及它的可移植性等方面。
Apache的誕生極富有戲劇性。當NCSA WWW服務器項目停頓後,那些使用NCSA WWW服務器的人們開始交換他們用於該服務器的補丁程序,他們也很快認識到成立管理這些補丁程序的論壇是必要的。就這樣,誕生了Apache Group,後來這個團體在NCSA的基礎上創建了Apache。
Apache web服務器軟件擁有以下特性:
支持最新的HTTP/1.1通信協議
擁有簡單而強有力的基於文件的配置過程
支持通用網關接口
支持基於IP和基於域名的虛擬主機
支持多種方式的HTTP認證
集成Perl處理模塊
集成代理服務器模塊
支持實時監視服務器狀態和定製服務器日誌
支持服務器端包含指令(SSI)
支持安全Socket層(SSL)
提供用戶會話過程的跟蹤
支持FastCGI
通過第三方模塊可以支持Java Servlets
如果你準備選擇Web服務器,毫無疑問Apache是你的最佳選擇。
PHP
PHP 是一種易於學習和使用的服務器端腳本語言。只需要很少的編程知識你就能使用PHP 建立一個真正交互的WEB 站點。
apache和php是如何一起工作的?
當輸入一個url到瀏覽器,瀏覽器會解析這個url,找到對應的主機,發出http請求給apache服務器,apache服務器會找到相應的php文件,這個php文件通過php引擎解釋,轉化成html文件,然後apache會把這個html文件發送回來給你的瀏覽器。
apache作用是接受請求,發送請求結果。
php引擎的作用是解釋php文件,轉化成瀏覽器識別的html文件。