安装环境:
WindowsXP 32
Apache2.2.22+PHP5.4.39+MySQL5.5.28
一、简介
MantisBT是由PHP开发的、基于WEB的缺陷跟踪系统,并采用开源数据库MySQL,构成一个完整的开源解决方案,如下图1所示。MantisBT的主要功能可以分为3个部分:管理、缺陷报告和统计分析。每个部分又有一些子功能,子功能下面还有一些具体的功能,其功能结构,可以用图2来描述。
图1
图2
MantisBT的功能特点:
(1)支持多项目、多语言。
(1)权限设置灵活,不同角色有不同权限,还支持自定义角色。
(1) 可以建立缺陷之间的关联或依赖关系,从而更有效地管理项目。
(1)缺陷统计分析功能比较强,有多种直方图和圆饼图,并能导出CSV文件供Excel作进一步分析。
(1) 有自定义字段功能,可以满足企业的一些特殊要求。
(1) 缺陷可以在不同项目间移动。
(1) 主页可发布公告、项目相关新闻,方便信息传播。
(1) 个人可定制Email通知功能,每个用户可根据自身的工作特点订阅相关的缺陷状态邮件。
(1) 可以定制软件公司特定的缺陷处理流程。
与Bugzilla相比,Mantis有如下优点:
第一、Mantis相对Bugzilla有更好的操作界面。
第二、安装和使用都相对简单一点。对于一般的项目, Mantis作缺陷跟踪,已经绰绰有余。
二、下载安装
由于Mantis是建立在PHP、MySQL环境之上的,所以Mantis安装分为两部分,既要安装PHP、MySQL等支撑平台,还要完成自身的安装。支撑平台的安装可以参照Windows搭建Apache+MySQL+PHP环境。以下详细介绍mantis自身的安装。
首先,Mantis官方下载地址为 http://www.mantisbt.org/download.php,下载版本:mantisbt-1.2.19.zip
其次,PHPMyAdmin官方下载地址为http://sourceforge.net/projects/phpmyadmin/ ,下载版本:phpMyAdmin-4.4.4-all-languages.zip
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”,点击“创建”,创建成功.
(3) 打开浏览器,输入http://localhost/mantisbt/admin/install.php进入相关配置
依次输入:
mysql (数据库类型)
localhost (服务器名)
root (mantis数据库拥有者的用户名)
123456 (mantis数据库拥有者的密码)
mantisdb (mantis数据库名)
root (mysql数据库管理员用户)
123456 (mysql数据库管理员密码)
最后点击“Install/Upgrade Database”这个按钮,安装开始,其实就是在MySQL中创建相关的表和初始化一些数据的过程,在我的电脑上花了大约七八秒钟,然后就显示完成信息了。如果各个条目的右边都显示绿色的“GOOD”字样的话,那就恭喜你,你已经成功安装了MantisBT,如果有些条目显示的不是“GOOD”,那就要回头检查一下,多半是数据库权限不够的问题,比较省事的办法就是我上面的做法,直接给MantisBT使用root账号,就不会有权限的问题了。
(4) 查看是否可打开 mantis 登录页面(http://localhost/mantisbt/login_page.php)
(5) 配置完成的 Mantis 只有一个默认的系统管理员用户:administrator,密码: root。
(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';
四、邮件配置
1、修改配置文件: 在 Mantis 目录下 config_defaults_inc.php中设置“Mantis Email Settings”的相关信息,包括下列内容:
(1) 将$g_administrator_email、$g_webmaster_email、$g_from_email、$g_return_path_email等设为有效的邮件地址;
(2) 将$g_phpMailer_method值设为2,表示以smtp方式发送邮件;
(3)将$g_smtp_hosty设定为有效的邮件服务器主机名,如’mail.iflashbuy.com’;
(4)为$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 注册新用户时设置密码
在 Mantis 目录下 config_defaults_inc.php 文件中找到 $g_send_reset_password
修改前:$g_send_reset_password = ON;
修改后: $g_send_reset_password = OFF;
特附上设置前与设置后的图:
六、配置局域网访问
关闭防火墙,在局域网的任一电脑中输入: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
七、上传附件配置
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中修改。