常用的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系统中去,或者直接通过
解压下载好的安装包,
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( ">", ">", $t_value );改为$t_ret = str_replace( ">", ">", $t_value );
然后将$t_ret .= utf8_encode( $t_value );这句删除或者注释掉。
Excel部分我没找到对应函数,所以没有去动.但是尊重原文也复制了过来.
重新启动Apache服务器即可生效。
————————————————