早在去年年底的时候就准备写这篇文章了,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目录下即可。