常用的bug工具

JIRA,mantis,bugzilla,bugfree (禅道)

​Bug管理工具之Mantis​



配置环境: CentOS6.5(所有操作在root用户下面操作)

 

1. 关闭防火墙, service iptables stop(防止防火墙捣乱,或者还得手动添加端口号的麻烦)

 

2. Disable SELinux:  

# vi /etc/sysconfig/selinux

change the enforcing status to disables, as below:

SELINUX=disabled

保存然后退出

 

3. 通过yum来安装必要的安装包(包括php,mysql,Apache)

# yum install httpd php php-pdo php-mysql php-gd php-mbstring mysql mysql-server

 

4. 提前设置好时区(防止以后在访问页面的时候提醒用户时区问题,默认情况下时区是UTC,当检查到系统时区和页面不再同一个时区时就会有warning)

# vi /etc/php.ini  

vi的情况下(从上往下: 在查看的模式下,直接输入"/"+ "查询字段" 从下往上: 在查看模式下,直接输入"?" + "查询字段")

date.timezone = Asia/Shanghai

保存退出

 

5. 开启数据库

# service mysqld start

# mysql -uroot -p (进入数据库)

默认情况下,MySQL root用户的初始密码为空,不需要输入直接进入就OK,然后现在可一给root设置一个密码:

#mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpasswd');

创建一个数据库,Mantis的默认数据库名是"bugtracker",我们可以直接先在mysql中创建,然后分配相对应的权限(user指的是登陆mysql的用户名,password指的是该用户名的密码)

> create database DBName;

> GRANT ALL ON DBName.* to user@localhost IDENTIFIED BY 'password';

> flush privileges;

> quit

 

6. 下载最新的Mantis的安装包,http://www.mantisbt.org/download.php

可以通过ftp工具将安装包上传到CentOS系统中去,或者直接通过

#wget ​​http://124.202.164.5/files/21390000060570D2/downloads.sourceforge.net/project/mantisbt/mantis-stable/1.2.19/mantisbt-1.2.19.zip​

解压下载好的安装包,

unzip -o ​​mantisbt-1.2.19.zip​

然后将下载好的Mantis安装包移动到 /var/www/html/mantis

#mv  ​​mantisbt-1.2.19​​  /var/www/html/mantis

 

7. 改变mantis文件夹用户的权限:

1. # chown -R apache.root mantis

2. # chown -R apache:apache mantis

3. # setenforce 0

(不加2,3这两项可能在访问页面的时候出现403无权限访问的错误)

 

 

8. Enable index.php在Apache

# vim /etc/httpd/conf/httpd.conf

添加: DirectoryIndex index.php index.html

保存退出

 

9. 启动Apache

#service httpd start

 

10. 接下来你可以通过浏览器访问Mantis页面: ​​http://ip-address/mantis​

如果报错可以直接访问http://ip-address,看是否出现Apache的测试界面来检查是否是Apache出现问题

 

11. 用sample file替换config_inc.php(可以参考下面的配置文件解释)

# cd /var/www/html/mantisbt

# mv config_inc.php config_inc.php.bak

# mv config_inc.php.sample config_inc.php

记得更新数据库的链接信息

然后重启httpd:#service httpd restart

 

 

更改Mantis到中文版本(默认情况是英文版):

到 /var/www/html/mantis 目录下面更改

# vi config_defaults_inc.php 

$g_default_language             = 'chinese_simplified';

 

配置文件解释:

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,这里对每个参数都有详细的解释;Sample中给出的一些设置是一定需要修改的,比如MySQL数据库的连接参数,管理员的邮箱的;其他的要根据你的实际情况进行修改。



————————————————————————————————

WHOOOOSHHHHHHHHHHHH…………

Blimey what was that?

That was your life mate

Oh, I was not quite ready. Can I have another go?

Sorry mate, only one per person.


 



角色

管理员、经理、开发人员、修改人员、报告人员、查看人员,权限从大到小递减。

分配:

My View Settings

'assigned' => '1',

'unassigned' => '2',

'reported' => '3',

'resolved' => '4',

'recent_mod' => '5',

'monitored' => '6',

'feedback' => '0',

'verify' => '0'

中文显示

查找:

$g_default_language //新增用户默认语言设置;

$g_fallback_language

都修改为 = 'chinese_simplified';

统计报表--打印报告

查找:

<?php html_page_top1( ) ?>

<?php html_head_end( ) ?>

<?php html_body_begin( ) ?>

修改为:

<?php html_page_top1( ) ?>

<?php html_page_top2( ) ?>

<?php html_head_end( ) ?>

<?php html_body_begin( ) ?>

<?php print_summary_menu('print_all_bug_page.php') ?>

邮件发送

No1 修改config_defaults_inc.php

$g_enable_email_notification=’on’; //默认为on,放这里是为了说明如何禁止邮件提醒,禁止邮件提醒后,用户不能注册,新建用户为空密码;

$g_phpMailer_method=2; //选择发送方式,0 – mail(), 1 – sendmail 2 – SMTP. Default is 0;

$g_smtp_host = 'smtp.sina.com';//smtp服务器地址 ,163的免费邮箱已经在2007年不使用smtp了

$g_smtp_username = ‘用户名’; //邮箱的用户名

$g_smtp_password = ‘密码’; //邮箱的密码

$g_from_email ='kk_ls@sina.com';//‘发送邮件方’;

$g_return_path_email= 'kk_ls@sina.com';//’回复邮件方’;

$g_from_name=’发送邮件者名称’; //我使用默认

$g_email_padding_length = 1; //具体不知道干嘛,有文章说系统竟然连续发送N封邮件,改小了就好了,但是我没遇到,还是默认的28;


No2 修改apache的httpd.conf

Listen 10.0.2.15:8080//加入ip,使得发邮件时可以直接访问到这个mantis的地址。不加,默认是localhost:8080显示的


No3 其他修改

$g_administrator_email = 'kk_ls@sina.com';

$g_webmaster_email = 'kk_ls@sina.com';//左下角邮箱地址的更改

$g_window_title = '流柯_BLOG-Bug跟踪系统';//标题栏显示

$g_show_realname = ON;//显示真实姓名,只有在页面左上方,默认OFF

$g_allowed_files ='txt,jpg,jepg,gif,bmp,doc';#设置允许上传的附件类型,默认空,我改了

Mantis Sponsorship Settings 是进行广告赞助的设置,一般不用改

系统时间

安装好的Mantis会跟服务器差8个小时,可进行修改:

在config_ini.php中加一句:

putenv("TZ=Asia/Shanghai");

如果方法不可以的话,修改php.ini的date.timezone = PRC

 

上传文件

在mantis目录下增加一个文件夹upload,用来保存上传的文件。修改config_defaults_inc.php

$g_file_upload_method    =DISK;//默认是DATABASE,保存在数据库中,现在改为磁盘上

$g_absolute_path_default_upload_folder = 'C:\Program Files\mantisbt-1.1.8\upload';//将upload的位置给出,

如果是Unix/Linux类型的服务器上,uploads后面一定要有"/",还要注意这个目录权限一定要是777.

$g_show_attachment_indicator = ON;                      //在页面显示上传文件的标识,在看buglist的时候就可以看到

$g_max_file_size                = 5000000;          //上传文件大小限制,决定这个的还有服务器php.ini里面的设置.

$g_disallowed_files = 'php,php3,phtml,html,class,java,exe'; //filetype NOT allowed,默认是空的

注册时的认证码

申请注册新用户的时候会在右边有一个验证码,就是防垃圾程序注册用的.一般都在内网架设的时候显然这个是多余的.于是可以去掉这个验证码.同样,在config_inc.php加入.

$g_signup_use_captcha   = OFF;//默认是ON

JPGraph

默认情况下,Mantis的图形报表是关闭的,需要安装JPGraph模块。

JPGraph 1.x 版本是针对php4,2.x 是针对php5的。

mantisbt-1.1.8已经自带了graphs文件夹,但是缺少很多的文件,因此,我下载了jpgraph-2.3.4,从中拷贝了相关的缺失文件。

No1  修改config_inc.php

查找:

$g_use_jpgraph            = OFF;

 #$g_jpgraph_path            = '.' . DIRECTORY_SEPARATOR . 'jpgraph' . DIRECTORY_SEPARATOR;   # dont forget the ending slash!

修改为:

$g_use_jpgraph = ON;

$g_jpgraph_path            = '.' . DIRECTORY_SEPARATOR . 'graphs' . DIRECTORY_SEPARATOR;   # dont forget the ending slash!

'jpgraph'--> 'graphs' ,是使之与文件夹名相同

No2  修改php.ini

查找“;extension=php_gd2.dll” 将前面的分号删除,这个模块是JPGraph在显示图表和进行汉字编码转换是所必须的。

No3  JPGraph的中文显示

打开$mantis\core\graph_api.php,查找:graph_get_font(),在其中添加一行:'chinese_gbk' => FF_SIMSUN

 在config_inc.php文件中添加:$g_graph_font           = 'chinese_gbk';

打开$JPGraph\src\jpg-config.inc.php,查找DEFINE('CHINESE_TTF_FONT','bkai00mp.ttf');

改为 DEFINE('CHINESE_TTF_FONT','simsun.ttc');

发现报表显示还是乱码!!

修改\graphs\jpgraph_ttf.inc.php,查找:

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);

}

改为:

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;

}

这样改实际是有些问题,如果mantis中有部分用户的语言选择为chinese_simplified,另一部分选择为chinese_simplified_utf8就不行了,总会有部分人报表出现乱码。所以小组一定要统一。

中文导出的乱码(未尝试)

.(这里借鉴http://micki.blogbus.com/logs/38993106.html),但是有部分更改以适应新版函数变化.

在安装MySql和Mantis时,如果所有编码都采用UTF8,并且在登入Mantis后将个人语言修改为简体中文后,然后查看问题,在做CSV和Excel导出时,可能你会发现导出文件内容显示为乱码。

 

No1 解决CVS导出乱码:

找到Mantis根目录下csv_export.php,进行修改:

添加函数:

function expChangeCode($str)

{

return  mb_convert_encoding($str,"CP936","UTF-8");

}

然后修改:

将echo $t_header 改成 echo expChangeCode($t_header);

将echo  csv_escape_string($t_value);  改成 echo expChangeCode(csv_escape_string($t_value));

将echo $t_function( $t_row->$t_column ); 改成echo expChangeCode($t_function( $t_row->$t_column ));

No2  解决Excel导出乱码

找到Mantis根目录下core/excel_api.php,进行修改:

将$t_ret .= utf8_encode( $t_value );改成$t_ret .=  $t_value;

也就是将utf8_encode函数去掉,也可以这样改:

将$t_value = str_replace( ">", "&gt;", $t_value );改为$t_ret = str_replace( ">", "&gt;", $t_value );

然后将$t_ret .= utf8_encode( $t_value );这句删除或者注释掉。

Excel部分我没找到对应函数,所以没有去动.但是尊重原文也复制了过来.

重新启动Apache服务器即可生效。

————————————————