3. 安装步骤
下面是我安装时设置的目录
c:\qa
c:\qa\mantis
c:\qa\mysql
c:\qa\php
c:\qa\apache
首先安装的是 apache_2.0.55
Apache是著名的服务器,开始安装的时候老是遇到系统找不到指定的文件,没有安装名为apache2的服务器。在网上查找找到
若是系统安有IIS服务,再安装Apache,就会出现上面错误。 解决的方法是 把IIS服务停掉,并在“添加删除windows组件”中去除IIS组件。
根据这样的提示操做以后,我再次安装了Apache,前面几项只需点“NEXT”就好了,到了要求填写network domain、server domain、和email的时候
若是没有域名,就随便写点,也没有什么影响。
接下来 配置Apache
在 c:\qa\apache\conf目录下,打开httpd.conf进行配置apache.查找"DirectoryIndex",这是设定主页的首页的文件名,为了支持PHP,我是这样更改:
更改前为:DirectoryIndex index.html index.html.var,
更改后为:DirectoryIndex index.html index.html.var index.php,也就是在其后面添加index.php。
查找"DocumentRoot",这是指定主页放置的目录,默认为C:/qa/apache/apache2/htdocs,可使用默认的,也能够本身指定,好比D:/test
安装 php
将php-5.1.2-Win32.zip解压缩到c:\qa\php下,把
fdftk.dll
fribidi.dll
gds32.dll
libeay32.dll
libmhash.dll
libmysql.dll
ntwdblib.dll
php5isapi.dll
php5nsapi.dll
php5ts.dll
ssleay32.dll
yaz.dll
这些文件copy到C:\windows\system32下,同时复制 c:\qa\php 目录下的 php.ini-dist 文件到 C:\windows\ 目录下,并更名为 php.ini。
配置php.ini
找到下面两行; 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",修改就好了.
修改httpd.conf
添加下面代码。LoadModule php5_module C:/qa/php/php5apache2.dll
AddType application/x-httpd-php . 到文件的尾部。
php LoadModule是加载PHP模块,路径必定要准确。
AddType 是让apache支持PHP类型。 保存httpd.conf。
测试apache安装结果
修改好配置文件后,重启apache
随便编写一个PHP文件放到D:/test下,好比:写上下面几行
<?
echo "hello world";
?>
并保存为1.php,打开浏览器,输入:http://localhost/1.php,就会出现hello world,如今Apache+PHP配置已经彻底成功了,
值得注意的一点就是每次修改httpd.conf后,都得重启一次apache才能生效。
安装Mysql
Mysql 的安装比较简单,就不一一说明了,由于我想让数据库支持中文 就在安装的时候 把编码该成GBK。
启动 Mysql的服务。
部署mantis
将mantis-1.0.1解压缩到php的发布目录中 c:\qa\mantis,因为1.0.1中取消了原来\sql\db_generate.sql 的数据库脚本而采用了经过系统来创建环境。
经过浏览器访问http://localhost/mantis/admin/install.php可看到部署mantis数据库环境的界面。
默认的数据库是bugtracker,注意要使用有管理员权限的用户来创建数据库(创建好bugtracker数据库),我用了root 。
设定好了install/upgrade database以后正常状况下在输出反馈页面下一片绿色的good,那就是ok了,
要是有红色的bad,那要调整好了再初始化到ok才行,这时候mysql新增的bugtracker库里创建起不少以mantis_开头的表,到此数据库初始化结束。
设置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.sample则是Mantis给出的一个用户设置文件例子。
根据状况修改config_inc.php文件中的设置,设置很简单,各个参数的在config_defaults_inc.php都有很详细的说明。
下面是个人一些自定义参数,phpmailer的内容以后说明:
$g_use_iis = ON; # 使用IIS
$g_show_version = OFF; # 不在页面下部显示 Mantis的版本号
$g_default_language = 'chinese_simplified'; # 默认语言为简体中文
$g_show_project_menu_bar = ON; # 显示项目选择栏
$g_show_queries_count = OFF; # 在页脚不显示执行的查询次数
$g_default_new_account_access_level = DEVELOPER; # 默认用户级别
$g_window_title = 'Mantis Bug 跟踪管理系统'; # 浏览器标题
$g_page_title = 'Rink的BUGs跟踪管理系统'; # 页面标题栏
$g_enable_email_notification = ON; # 开通邮件通知
$g_smtp_host = 'smtp.***.com'; # SMTP 服务器
$g_smtp_username = '***'; # 邮箱登陆用户名
$g_smtp_password = '***'; # 邮箱登陆密码
$g_use_phpMailer = ON; # 使用 PHPMailer 发送邮件
$g_phpMailer_path = 'c:/qa/mantis/core/phpmailer/'; # PHPMailer 的存放路径
$g_phpMailer_method = 2; # PHPMailer 以 SMTP 方式发送 Email
$g_short_date_format = 'Y-m-d'; # 短日期格式,Y 大写表示 4 位年
$g_normal_date_format = 'Y-m-d H:i'; # 普通日期格式
$g_complete_date_format = 'Y-m-d H:i:s'; # 完整日期格式
完成以上设置之后,你就可使用Mantis了,打开浏览器,输入http://localhost/mantis
应该就能够看到Mantis的登陆页面了,你能够用默认用户名administrator和密码root登陆进去,进行管理设置。
Mantis的初步安全设置
删除admin目录
在Mantis目录下有一个admin目录,这是Mantis管理员进行管理Mantis的,好比以前咱们构建数据库环境的install.php等。
使用这个模块能够检查你的Mantis是否安装彻底,对旧版本的Mantis进行升级,对Mantis的页面CSS文件进行修改;
使用这个管理模块是不须要用户名和密码的,所以任何人均可以经过这个管理模块查看你的Mantis系统信息,
并且因为有升级模块,在这里还能够直接对数据库进行修改。
所以Mantis会建议在配置完成后将这个admin目录删除;注意必定是删除而不是更名!更名后仍然是能够访问的!
删除administrator
在添加一个具有管理员权限的用户后,删除系统默认的administrator用户。
PHPMail的设置
默认状况下,Mantis使用内置的Mailto()函数进行邮件的发送,包括新用户注册发送密码、Bug改变提醒、重设密码等邮件的发送都使用MailTo()来完成,
不过实际使用中发现,MailTo函数好像不支持须要校验的邮件服务器。
其自身携带的PHPMailer配置起来也有问题,因此我直接将下载的PHPMailer覆盖Mantis里附带的Mailer
(c\qa\mantis\core\phpmailer)。来发送邮件。
修改PHP.ini,找到include_path,增长c:\qa\mantis\core\phpmailer目录;
如上表所示,设置$g_use_phpMailer、$g_phpMailer_path和$g_phpMailer_method三个参数;
如今应该就可使用PHPMailer进行邮件发送了;
图形报表(jpgraph)的设置
默认状况下,Mantis的图形报表是关闭的,所以在Mantis的报表中看不到“图形报表”的入口,
须要安装JPGraph模块并设置$g_use_jpgraph为ON才能打开图形报表;
将下载下来的jpgraph-2.1.1.tar.gz解压缩到c:\qa\mantis\core\jpgraph目录下;
打开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.ini文件,激活“extension=php_gd2.dll”和“extension=php_iconv.dll”;另外若是extension_dir项不正确,请把extension_dir改成正确的值。
将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 = 'esm@softbrain.com.cn'; # 邮箱登陆用户名
$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