早在去年年底的时候就准备写这篇文章了,CTO张也建议过我好几次,希望我能将这篇文章分享出来。然而,由于个人和工作的原因,直到今天才有时间坐在这里 来和大家分享,实在抱歉。
这只是一篇入门级的运行环境搭建的介绍,主要涉及:Apache、PHP、MySql和Mantis.
关于Mantis的具体使用方法,我将在后续的文章中,再跟大家一一介绍。
============================================================
Mantis
=============================================================
下载地址: http://sourceforge.net/projects/mantisbt/files/mantis-stable/
(1) 上传,安装配置
将下载到的压缩包上传到服务器空间(默认是apache安装目录下的htdocs目录),解压,重命名 ( 这里为 mantisbt), 然 后访问类似下面的 url:http://localhost:8080/mantisbt/admin/install.php
配置你的数据库信息,一定要填写正确,后面的 admin 信 息可以留空。
点击做下脚的 continue 链接,进入到登录页面
这时候,页面上会提示您需要删除服务器端的 admin 目录 ( 该目录只会在安装时起作用 ) ,为了安全起见,我们 删除掉该目录(或重命名)。同时,页面上会提示我们需要使用默认用户名密码登录,然后自行修改该帐号,或删除。然后刷新一下页面,使用默认的用户名密码 administrator 、 root 来登录。
(2) 配置邮箱、时区、语言及页面结构等信息,编辑 config_inc.php 文件。完整的配置信息在 config_defaults_inc.php 中, config_inc.php 示范文件在 config_inc.php.sample 中。通常不需要修改 config_defaults_inc.php 文件,只需要在 config_inc.php 文件中配置新的信息来覆盖 config_default_inc.php 中的默认配置项。
<?php
$g_hostname = 'localhost';
$g_db_type = 'mysql';
$g_database_name = 'mantisbt';
$g_db_username = 'root';
$g_db_password = 'wirror800';
#[ 语言设置 ]
$g_default_language = 'chinese_simplified';
#[email]
$g_administrator_email = '[email protected]';
$g_webmaster_email = '[email protected]';
$g_from_email = '[email protected]';
$g_return_path_email = '[email protected]';
$g_enable_email_notification = ON; #OFF ,表示不使用邮件系统,创建用户的初始密码将为空。
$g_phpMailer_method = 2; # 以 smtp 发送邮件
$g_smtp_host = 'ssl://smtp.gmail.com:465';
// php.ini 中,将 php_openssl 的 extension 前面的分号去掉,
//然后还需要下载最新的 class.phpmailer.php 文件覆盖原来的文件 .
$g_smtp_username = '[email protected]' ;
$g_smtp_password = 'wirror1234567890';
#[timezone]
putenv("TZ=Asia/Shanghai"); # 若 putenv 函数不起作用,可在 php.ini 中修改 date.timezone = Asia/shanghai
#[jpgraph 在 1.2 版本中, jpgragh 已以插件的形式被集成为 mantisGraph ,可在后台插件管理中安装该插件 ]
#$g_use_jpgraph = ON;
#$g_jpgraph_path = './jpgraph/src'. DIRECTORY_SEPARATOR;
#$g_graph_font = 'simsun'; # 需要修改 core\graph_api.php 文件,加入 'simsun' => FF_SIMSUN,
#$g_graph_window_width = 800;
#$g_graph_bar_aspect = 0.9;
#$g_graph_summary_graphs_per_row = 2;
#$g_system_font_folder = 'c:/WINDOWS/Fonts/';
#$g_font_per_captcha = 'simsun.ttf';
#[relationship graph -- Graphviz]
$g_relationship_graph_enable = OFF;
#$g_system_font_folder = 'c:/WINDOWS/Fonts/';
#$g_font_per_captcha = 'simsun.ttf';
#[login page]
$g_allow_signup = OFF;
$g_lost_password_feature = OFF;
#[page layout]
#[wiki]
$g_wiki_enable = OFF;
$g_default_new_account_access_level = DEVELOPER; # 默 认用户级别
?>
(3) 配置中文图表 ( 如果是 linux 系统,有 些中文字体在系统中是不存在的,有两种方案可以解决。 I 如果是本地服务 器,可将需要的字体安装在本地系统字体目录下; II 如果是远程租用服务器,没有修改服 务器本地配置的权限的时候,可以将字体拷贝到具有访问权限的某个目录下,然后修改 jpgraph 的源码
<jpg-config.inc.php 需要修改一处
//DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/"); # 改成
DEFINE("TTF_DIR","$SystemRoot/fonts/"); #fonts 后面一定要带 "/"
> 中的字体目录。 )
下载 jpgraph 免费版: http://hem.bredband.net/jpgraph2/jpgraph-3.0.7.tar.bz2
1.1.8 之前的版本配置
1). 可以在 http://www.aditus.nu/jpgraph/jpdownload.php 下载最新版的 JPGraph ,请注意 JPGraph 1.x 版本是针对 php4 , 2.x 是针对 php5 的,请下载对应版本。
2). 将下载包解压到一个目录下,我解压到 mantis 下的 jpgraph 目录,定义为 $JPGraph 。
3). 然后在 config_inc.php 中添加下面几行:
$g_use_jpgraph = ON;
$g_jpgraph_path = './jpgraph/src/'; // 你也可以按照你的地址填写文件的绝对路径。
4). 在 php.ini 将“ ;extension=php_gd2.dll ”前面的分号删除,这个模块是 JPGraph 在显示图表和进行汉字编码转换是所必须的。
(3) JPGraph 的中文显示
据说 1.0 以后的版本已经能够很好的支持报表中文显示,但可能 PHP5 的问题,我这里还是乱码,这里列出参考别人的方法我所做的配置。
1) 如果你的界面语言是用简体中文或者繁体中文,那么你会看到图形中 的汉字都是乱码,这是因为 Mantis 对于 JPGraph 的编码设置不正确造成的。
JPGraph 会自动将汉字转换为 UTF-8 编码,但是需要在调用 JPGraph 的时候对标题等 SetFont , Mantis 没有做这个操作,因此汉字显示出来都是乱码。
解决方法是增加对图形设置字体的代码;
2) 打开 $mantis\core\graph_api.php ,查找: graph_get_font() ,在其中添加一行
'chinese_gbk' => FF_SIMSUN,
3) 在 config_inc.php 文件中添加
$g_graph_font = 'chinese_gbk';
4) 打开 $JPGraph\src\jpg-config.inc.php
查找 DEFINE('CHINESE_TTF_FONT','bkai00mp.ttf');
改为 DEFINE('CHINESE_TTF_FONT','simsun.ttc');
jpg-config.inc.php 也可以不改,如果生成的图形中的字体想由自己定义,可以这样改。
这个时候,如果你选择的语言是 chinese_simplified ,现在你的图形报表应该就可以显示中文了。
5) 但如果你选择语言跟我一样是 chinese_simplified_utf8 ,则发现报表显示还是乱码。
原来 JPGraph 中处理的时候比较 bt ,只要看到字体设置是 FF_SIMSUN ,就认为字符串编码是 GB2312 ,输出 的时候都要转成 UTF8 ,
单实际上已经是 UTF8 了,根本不用转。
直接修改代码:
打开 JPGraph 下的 jpgraph.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 就不行了,
默认情况下只有管理员和经理才能看到报表,如果让所有人都能看 到报表需要将 config_defaults_inc.php 的 $g_view_summary_threshold = MANAGER; 修改为 $g_view_summary_threshold = ANYBODY;
1.1.8 之后的版本安装配置
默认的系统使用自己绑定的 mantis graph, 我们也可以选择安装使用 jpgraph 。
1 、安装 JPGRAPH 及改 程序
(1)安装: JpGraph 3.0.7 ,从 http://www.aditus.nu/jpgraph/jpdownload.php 下载最新版本,记得看清对应的 PHP 版本。解压缩其中子目录 src 至 mantis\library 目录下,改名为 jpgraph
(2)修改文件 mantis\library\jpgraph\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
return $aTxt;
}
2 、后台设置:
( 1 )安装插件:管理 -- 》管理插件 -- 》安装 MantisGraph 插件
( 2 )修改程序:
*文件 mantis\plugins\MantisGraph\pages\config.php (记得本文件改完后用 Ultraedit 用 ASC-II 至 UTF-8 的转换功能保存为 UTF-8 格式文件,与总体字符集保持一致) :
$t_current_font_selected = array(
'simsun' => false, // 增加这一行
'arial' => false,
//--------------------------------------
Sans-serif:<br />
<label><input type="radio" name="font" value="simsun"<?php echo print_font_checked( 'simsun' )?>/> 宋体 </label><br /> // 增加这一行
<label><input type="radio" name="font" value="arial"<?php echo print_font_checked( 'arial' )?>/>Arial</label><br />
//---------------------------------------------------------------------
*文件 mantis\plugins\MantisGraph\pages\config_edit.php:
if ( plugin_config_get( 'font' ) != $f_font ) {
switch ( $f_font ) {
case 'simsun': // 增加这一行
case 'arial':
//----------------------------------------------------------------------
*文件 mantis\plugins\MantisGraph\core\graph_api.php:
$t_font_map = array(
'simsun' => FF_SIMSUN, // 增加这一行
'arial' => FF_ARIAL,
3 、设置并启用:
( 1 )管理 -- 》管理插件 -- 》点击“ MantisGraph 1.0 ”名字进入设置界面,
( 2 ) Graph library to use 选择“ Jpgraph ”, Font 选择“宋体”
( 3 )点击“更改配置”后再看看统计报表中内容,是否已如你所愿。
MantisGraph 插件的中文化文件,放在 mantis\plugins\MantisGraph\lang 目录下即可。