找到下面两行; Directory in which the loadable extensions (modules) reside. extension_dir = "./"
将extension_dir 的路径修改为你自己安装的路径,
我的是; Directory in which the loadable extensions (modules) reside. extension_dir = "C:\qa\php\ext\",
寻找;default_charset,为了让其支持中文,可以修改默认的字符集,可使用"UTF-8"或者"GB2312"或者"GBK",都行,它默认的是;default_charset="iso-8859-1",修改就行了.
并保存为1.php,打开浏览器,输入:http://localhost/1.php,就会出现hello world,现在Apache+PHP配置已经完全成功了,
值得注意的一点就是每次修改httpd.conf后,都得重启一次apache才能生效。
通过浏览器访问http://localhost/mantis/admin/install.php可看到部署mantis数据库环境的界面。
默认的数据库是bugtracker,注意要使用有管理员权限的用户来建立数据库(建立好bugtracker数据库),我用了root 。
要是有红色的bad,那要调整好了再初始化到ok才行,这时候mysql新增的bugtracker库里建立起很多以mantis_开头的表,到此数据库初始化结束。
将c:\qa\mantis中的config_inc.php.sample复制一份,改名为config_inc.php,修改其中的设置;
在config_defaults_inc.php中保存这Mantis的默认设置:用户自己的设置信息保存在config_inc.php中,
如果某个选项在config_inc.php中有设置,则系统使用config_inc.php中的设置,否则使用config_defaults_inc.php的系统默认设置;
根据情况修改config_inc.php文件中的设置,设置很简单,各个参数的在config_defaults_inc.php都有很详细的说明。
$g_default_new_account_access_level = DEVELOPER; # 默认用户级别
$g_phpMailer_path = 'c:/qa/mantis/core/phpmailer/'; # PHPMailer 的存放路径
在Mantis目录下有一个admin目录,这是Mantis管理员进行管理Mantis的,比如之前我们构建数据库环境的install.php等。
如上表所示,设置$g_use_phpMailer、$g_phpMailer_path和$g_phpMailer_method三个参数;
打开config_inc.php文件,修改$g_jpgraph_path为JPGraph的src目录,$g_use_jpgraph为ON;
也就是 $g_use_jpgraph = ON; # 使用图形报表(jpgraph)
$g_jpgraph_path = c:/qa/mantis/core/jpgraph/src/'; # JPGraph路径 ,注意最后的’/’要加
将PHP\dlls下面的iconv.dll复制到Windows\System32目录下,以上两个步骤使PHP自动载入php_gd2和php_iconv.dll模块,这两个模块是JPGraph在显示图表和进行汉字编码转换是所必须的;
现在再打开Mantis的统计页面,可以看到多了图形报表,分别按状态等进行统计的图形报表,包括柱图、饼图和线图,但是图形中有很多乱码,那是因为Mantis中默认是通过UTF-8设置JPGraph,而我们界面语言是用简体中文,因此汉字显示出来都是乱码。
在Mantis\config_inc.php中将$g_graph_font = ''改为$g_graph_font = 'simsum';
由于Mantis中图形报表默认字体里不含有中文,因此我们要在Mantis\core\graph_api.php中相应增加对图形标题等设置字体代码;
在function graph_get_font() {...}中font_map增加'simsum' => FF_SIMSUN ,以供Mantis调用。
这样以来,在图形报表中就能看到简体中文了。
补充一下linux下的安装过程
1 所需软件
1.1 MySQL
MySQL-server-4.1.10-0.i386.rpm
MySQL-client-4.1.10-0.i386.rpm
MySQL-devel-4.1.10-0.i386.rpm
MySQL-shared-4.1.10-0.i386.rpm
MySQL-shared-compat-4.1.10-0.i386.rpm
1.2 Apache
httpd-2.0.54.tar.gz
1.3 PHP
php-5.0.4.tar.gz
1.4 mantis
mantis-1.1.1-bin
1.5 Jpgraph
jpgraph-1.19.tar.gz
jpegsrc.v6b.tar.gz
zlib-1.1.3.tar.gz
libpng-1.2.8.tar.gz
freetype-2.1.10.tar.gz
t1lib-5.1.0.tar.gz
1.6 Graphviz
graphviz-2.4-1.rh73.i386.rpm
graphviz-devel-2.4-1.rh73.i386.rpm
graphviz-doc-2.4-1.rh73.i386.rpm
graphviz-graphs-2.4-1.rh73.i386.rpm
graphviz-tcl-2.4-1.rh73.i386.rpm
1.7 浏览支持
ZendOptimizer-linuxi386.tar.gz
1.8 CVSWeb
CVSWeb3.0.0.tar.gz
2 安装步骤
2.1 安装Mysql
安装mysql server
# rpm -ivh MySQL-server-4.0.20-0.i386.rpm
安装mysql
# rpm -ivh MySQL-client-4.0.20-0.i386.rpm
安装mysql其他包
# rpm –ivh MySQL-devel-4.1.10-0.i386.rpm
# rpm –ivh MySQL-shared-4.1.10-0.i386.rpm
# rpm –ivh MySQL-shared-compat-4.1.10-0.i386.rpm
运行mysql 客户端,并开放root用户的远程访问权限。以便调试
# mysql
> use mysql
> update user set host = `%` where user = `root` and host <> `localhost`;
> exit
Mysql安装完毕。
2.2 安装apache
# tar -zxvf httpd-2.0.54.tar.gz
# cd httpd-2.0.54
# ./configure --prefix=/web/apache --enable-module=so
# make
# make install
Apache安装完毕。
说明:apache在linux下的默认最大进程数为256,无论如何修改httpd.conf都不能超过这个限制。如果想加大这个限制,在编译apache前编辑/home/tmp/apache/src/include/httpd.h,将其中#define HARD_SERVER_LIMIT 256 一行改为#define HARD_SERVER_LIMIT 2048后再编译apache。
2.3 安装GD库
2.3.1 jpeg-6b 的安装
# tar -xf jpegsrc.v6b.tar
# cd jpeg-6b
# ./configure
# make
# make install
2.3.2 zlib 的安装
# tar –zxvf zlib-1.1.3.tar.gz
# cd zlib-1.1.3
# ./configure
# make
# make install
2.3.3 libpng 的安装
# tar –zxvf libpng-1.2.8.tar.gz
# cd libpng-1.2.8
# ./configure
# make
# make install
2.3.4 freetype 的安装
# tar –zxvf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# ./configure
# make
# make install
2.3.5 T1lib 的安装
# tar –zxvf t1lib-5.1.0.tar.gz
# cd t1lib-5.1.0
# ./configure
# make
# make install
2.3.6 gd 的安装
# tar –zxvf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure
# vi Makefile
(编辑 Makefile文件
改 CFLAGS=-O 为 CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
改 LIBS=-lm -lgd -lpng -lz 为 LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
改 INCLUDEDIRS=-I. -I/usr/local/include -I/usr/include/X11 -I/usr/X11R6/include/X11
为 INCLUDEDIRS=-I. -I/usr/local/include -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include/freetype)
# make
# make install
2.4 安装php
# tar zxvf php-5.0.4.tar.gz
# cd php-5.0.4
#./configure --prefix=/web/php \
--with-apxs2=/web/apache/bin/apxs \
--with-config-file-path=/usr/local/lib \
--enable-track-vars \
--with-xml \
--with-mysql \
--with-libxml-dir=/usr/local/lib \
--with-gd=/usr/local \
--with-t1lib=/usr/local \
--with-tiff-dir=/usr/local \
--with-jpeg-dir=/usr/include \
--with-ttf=/usr/include/freetype \
--with-zlib-dir=/usr/include \
--with-png-dir=/usr/include \
--with-mbstring --enable-mbstring=all
# make
# make install
# cp php.ini-dist /usr/local/lib/php.ini
修改php.ini中的下列行
extension_dir = "./"
为
extension_dir = "/web/php/include/php/ext"
2.5 GD库的安装检查
安装完毕后用<? phpinfo(); ?>查看结果如下:
gd
GD Support enabled
GD Version 1.6.2 or higher
FreeType Support enabled
FreeType Linkage with TTF library
T1Lib Support enabled
GIF Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
2.6 安装Mantis
# mv mantis-1.1.1 /var/www/mantis
2.7 建立数据库bugtracker及用户mantis
$mysqladmin -u root -p create bugtracker
//输入MySQL的root密码即可完成创建数据库bugtracker的操作
$mysql -u root -p
mysql>grant all privileges on bugtracker.* to 'mantis'@'localhost' identified by '你指定的mantis用户密码';
mysql>FLUSH PRIVILEGES;
mysql>\q
2.8 安装Zend Optimizer
#tar -zxvf ZendOptimizer-linuxi386.tar.gz
#cd ZendOptimizer-2.6.0-linux-glibc21-i386
#./install.sh
//重启Apache
#/web/apache/bin/apachectl –k restart
2.9 配置mantis
# cd /var/www/mantis
# vi config_inc.php
//修改以下几行
$g_db_username = "mantis";
$g_db_password = "你在建立用户时指定的密码";
$g_database_name = "bugtracker";
//增加以下几行
$g_path = "http://www.yourdomain.com/mantis/";
$g_icon_path = $g_path."images/";
$g_absolute_path = "/var/www/mantis/";
$g_use_iis = OFF;
$g_show_version = ON;
//以下是配置邮件的,Mantis使用邮件来进行注册和通知,所以必须配置好
$g_enable_email_notification = ON; # 开通邮件通知
$g_smtp_host = 'mail.softbrain.com.cn'; # SMTP 服务器
$g_smtp_username = '
[email protected]'; # 邮箱登录用户名
$g_smtp_password = '对应用户邮箱的密码'; # 邮箱登录密码
$g_use_phpMailer = ON; # 使用 PHPMailer 发送邮件
$g_phpMailer_path = '/usr/local/php/includes/PHPMailer/'; # PHPMailer 的存放路径
$g_phpMailer_method = 2; # PHPMailer 以 SMTP
$g_show_version = OFF; # 不在页面下部显示 Mantis的版本号
$g_default_language = ’english’; # 默认语言为英语
$g_default_new_account_access_level = DEVELOPER; # 默认用户级别
$g_use_jpgraph= ON; # 使用图形报表
$g_jpgraph_path = ’/web/php/include/jpgraph/src/’; # JPGraph路径
$g_window_title = ’Software Quality Manager’; # 浏览器标题
$g_page_title = ’ Software Quality Manager’; # 页面标题栏
2.10 创建数据库的表结构
#cd /var/www/mantis
#mysql -u mantis -p bugtracker<sql/db_generate.sql
//输入数据库密码即可创建
2.11 配置httpd.conf
编辑apache的httpd.conf
#vi /web/apache/conf/httpd.conf
//增加以下几行
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml .php3 .inc
Alias /mantis/ "/var/www/mantis/"
<Directory “/var/www/mantis/”>
Options Indexes MultiViews Includes FollowSymLinks +ExecCGI
AllowOverride None
Order allow, deny
Allow from all
</Directory>
找到DirectoryIndex index.html index.html.var,将其改为
DirectoryIndex index.html index.html.var index.php
2.12 重启apache服务
# /web/apache/bin/apachectl –k restart
2.13 访问Mantis
通过浏览器访问:http://www.yourdomain.com/mantis/
如果出现登录页面,则一切Ok!
升级数据库
登录http://www.yourdomain.com/mantis/admin
点击“Upgrade your installation”,升级其中的“Basic upgrade set (required)”和“String escaping fixes (recommended)”。
然后,
#mysql –u mantis –p bugtracker<sql/db_update.sql
并初始化数据库
#mysql –u mantis –p bugtracker<sql/db_insert_data.sql
2.14 Mantis的初步安全设置
在Mantis目录下有一个admin目录,如果你在IE中打开这个目录下的index.php查看,你就会知道这个目录是进行Mantis Administration的,使用这个模块可以检查你的Mantis是否安装完全,对旧版本的Mantis进行升级,对Mantis的页面CSS文件进行修改;使用这个管理模块是不需要用户名和密码的,因此任何人都可以通过这个管理模块查看你的Mantis系统信息,而且由于有升级模块,在这里还可以直接对数据库进行修改;因此,在配置完成后将这个admin目录删除。
在添加一个管理员用户后,删除系统默认的administrator用户。
3 CVS集成配置
如果需要建立Mantis 和 CVS集成,需要将Mantis与CVS服务安装在同一台服务器上。
3.1 安装CVSWeb
CVSWEB就是CVS的WEB界面,可以大大提高程序员定位修改的效率。
解包
tar -zxvf CVSWeb3.0.0.tar.gz
把配置文件cvsweb.conf复制到apache的配置目录下
cp cvsweb.conf /path/to/apache/conf
转到/path/to/apache/conf下并修改cvsweb.conf:
修改CVSROOT路径设置:
%CVSROOT = (
'Development' => '/path/to/cvsroot/dev', #<==修改指向本地的CVSROOT
'test' => '/path/to/cvsroot/test', #<==修改指向本地的CVSROOT
);
如果有多个cvsroot,这定缺省的cvsroot
$cvstreedefault = 'test';
其它个性化设置
cvsweb.conf还有许多其它个性化设置,常见的有这些变量:
$logo 图标设置
$defaulttitle 标题设施
$address 管理员email地址设置
$long_intro 介绍文字
$short_instruction 说明文字
把文件cvsweb.cgi复制到apache的cgi目录
cp cvsweb.cgi /path/to/apache/cgi-bin
转到/path/to/apache/cgi-bin修改cvsweb.cgi
修改cvsweb.cgi让CGI找到配置文件:
$config = $ENV{'CVSWEB_CONFIG'} || '/path/to/apache/conf/cvsweb.conf';
中文支持
让cvsweb正确显示中文,找到sub html_header($)函数,
然后在<html>和<title>之间插入一行,修改如下
<html>
<meta. http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>$title</title>
复制所有的gif,png文件到apache的icons目录
增加访问控制
CVSWEB可不能随便开放给所有用户,因此需要使用WEB用户认证:
先生成 passwd:
/path/to/apache/bin/htpasswd -c cvsweb.passwd user
修改httpd.conf,增加
<Directory "/path/to/apache/cgi-bin/cvsweb/">
AuthName "CVS Authorization"
AuthType Basic
AuthUserFile /path/to/cvsweb.passwd
require valid-user
</Directory>
3.2 配置config_inc.php
设置mantis配置文件config_inc.php
//添加下面一行
$g_cvs_web = 'http://192.168.100.17/cgi-bin/cvsweb.cgi/'; #CVSWeb链接地址
$g_source_control_account=’cvsuser’; #必须是mantis的有效帐户;
3.3 配置CVS配置文件loginfo
在cvs仓库的配置文件loginfo中添加一行:
DEFAULT /usr/local/bin/php /var/www/mantis/core/checkin.php %{,sVv} $USER
这样,在提交cvs文件时,在log message中输入包含有“issue #nnnn”的内容,就会将提交的版本信息,添加在该issue的note中。
4 Relationship Graph功能配置
4.1 修改config_inc.php配置
添加下面内容:
# --- Relationship Graphs -----------
# Show issue relationships using graphs.
#
# In order to use this feature, you must first install either GraphViz
# (all OSs except Windows) or WinGraphviz (only Windows).
#
# Graphviz homepage: http://www.research.att.com/sw/tools/graphviz/
# WinGraphviz homepage: http://home.so-net.net.tw/oodtsen/wingraphviz/
#
# Refer to the notes near the top of core/graphviz_api.php and
# core/relationship_graph_api.php for more information.
# Enable relationship graphs support.
$g_relationship_graph_enable = ON;
# Font name and size, as required by Graphviz. If Graphviz fails to run
# for you, you are probably using a font name that gd can't find. On
# Linux, try the name of the font file without the extension.
$g_relationship_graph_fontname = 'Arial';
$g_relationship_graph_fontsize = 10;
# Local path where the above font is found on your system for Relationship Graphs
# You shouldn't care about this on Windows since there is only one system
# folder where fonts are installed and Graphviz already knows where it
# is. On Linux and other unices, the default font search path is defined
# during Graphviz compilation. If you are using a pre-compiled Graphviz
# package provided by your distribution, probably the font search path was
# already configured by the packager.
#
# If for any reason, the font file you want to use is not in any directory
# listed on the default font search path list, you can either: (1) export
# the DOTFONTPATH environment variable in your webserver startup script
# or (2) use this config option conveniently available here. If you need
# to list more than one directory, use colons to separate them.
# Since 0.19.3 we use the $g_system_font_folder variable to define the font folder
# Default dependency orientation. If you have issues with lots of childs
# or parents, leave as 'horizontal', otherwise, if you have lots of
# "chained" issue dependencies, change to 'vertical'.
$g_relationship_graph_orientation = 'horizontal';
# Max depth for relation graphs. This only affects relation graphs,
# dependency graphs are drawn to the full depth. A value of 3 is already
# enough to show issues really unrelated to the one you are currently
# viewing.
$g_relationship_graph_max_depth = 10;
# If set to ON, clicking on an issue on the relationship graph will open
# the bug view page for that issue, otherwise, will navigate to the
# relationship graph for that issue.
$g_relationship_graph_view_on_click = OFF;
# Complete path to dot and neato tools. Your webserver must have execute
# permission to these programs in order to generate relationship graphs.
# NOTE: These are meaningless under Windows! Just ignore them!
$g_dot_tool = '/usr/bin/dot';
$g_neato_tool = '/usr/bin/neato';
4.2 安装Graphviz
# rpm –ivh graphviz-2.4-1.rh73.i386.rpm
# rpm –ivh graphviz-devel-2.4-1.rh73.i386.rpm
# rpm –ivh graphviz-doc-2.4-1.rh73.i386.rpm
# rpm –ivh graphviz-graphs-2.4-1.rh73.i386.rpm
# rpm –ivh graphviz-tcl-2.4-1.rh73.i386.rpm