您的位置:首页 > 编程语言 > PHP开发

详细说明mantis在windowsXP下的安装过程(IIS+MYSQL+PHP)

2008-09-05 11:58 781 查看
几经周折终于把mantis的安装成功了,还是有必要再次介绍一下安装步骤。因在安装过程中找到的安装文 档都比较old已经不适合最新的版本了。本人曾在去年成功安装了linux环境下的mantis并与svn、 testlink相结合,因此说,对mantis算是有些了解,虽不善技术,但能有点小运气,遇到的问题都逐个解 决了。现在和大家分享一下经验成果。望兹鼓励,转载请注明出处。
http://blog.csdn.net/charisma_fox/archive/2008/09/05/2884785.aspx
截至到2008.8月底,有新版本如不适用,请参考使用。

1 环境:

(这个一定要明确滴,很多童鞋的版本不一致,会出现问题)

windowsXP SP2 IIS 5
MySQL5.1(注:因MySQL6在mantis安装数据库时,脚本中带有TYPE=MyISAM而不能正确安装。)
PHP5.2.6(目前最新版)
Mantis1.1.2(1.2.0尚未正式发布,还有bug,我使用发现“报告问题”的时候也页面不停的跳转,故使用低版本)
Jpgraph2.3.3(目前最新版)
小贴士:[/b]
TYPE=MyISAM 和 ENGINE=MyISAM 都是设置数据库存储引擎的语句
老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM)。
MySQL 5.1为向下兼容而支持这个语法,但TYPE现在被轻视,而ENGINE是首先的用法。
一般地,ENGINE 选项是不必要的;除非默认已经被改变了,MyISAM是默认存储引擎。
windows下Mysql6安装mantis1.2.0,建库时报错:TYPE=MyISAM
Schema CreateTableSQL ( mantis_config_table ) BAD
CREATE TABLE mantis_config_table ( config_id VARCHAR(64) NOT NULL, project_id INTEGER NOT NULL DEFAULT 0, user_id INTEGER NOT NULL DEFAULT 0, access_reqd INTEGER DEFAULT 0, type INTEGER DEFAULT 90, value LONGTEXT NOT NULL, PRIMARY KEY (config_id, project_id, user_id) )TYPE=MyISAM
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 9
这是因为用的是mantis1.2.0或者1.1.2,执行install的时候,建库脚本报错。
网上查询到的解决办法:“我在mysql的字符集设置一节找到了解决办法,解决办法是这样的,修改 mantis提供的db_generate.sql,把所有的TYPE=MyISAM都替换成TYPE=MyISAM CHARACTER SET utf8;然后再重新创建数据库,这样就可以输入中文了,如果已经创建了数据库,只能把原来的数据库删除重新创建. ”
上面是旧的方法,因为mantis现在已经没有单独的sql脚本了,所以可以在建库的时候勾选倒数第二项,先生成一个脚本,按照上面的方法修改,手动在mysql中执行一下,就没有问题,我试过,行得通。

2 下载准备:

2.1 下载相关的安装包

mantis-1.1.2.zip
http://nchc.dl.sourceforge.net/sourceforge/mantisbt/mantis-1.1.2.zip
php-5.2.6-win32-installer.msi
http://cn2.php.net/distributions/php-5.2.6-win32-installer.msi
mysql-5.1.26-rc-win32.zip
http://mysql.skynet.be/Downloads/MySQL-5.1/mysql-5.1.26-rc-win32.zip
jpgraph2.3.3.rar
http://www.jpgraph.cn/soft/jpgraph-2.3.3.rar

2.2 安装配置IIS

第一步(查询):在“控制面板→管理工具”查看是否有“Internet信息服务”这个功能,如果没有说明,尚未添加IIS服务。
第二步(安装):在“控制面板→添加/删除程序→添加/删除windows组件”弹出选择框“windows组件向导”勾选“Internet信息服”即IIS,如图一。



图一
选择好之后,单击“下一步”,弹出提示框“插入磁盘”,单击“确定”。会让用户输入所需文件位置,如果你有一张windows的安装盘,那么直接选择相应的位置,即一个i386的文件夹。继续安装即可。
如果没有安装盘,可以事先下载一个“IIS服务安装包完整版(Win2000/XP/2003)”安装包解压缩,然后选择解压缩后的位置即可。
http://down2.codepub.com/code0826/2007/5/5/windowsIIS_setup.rar
点击上面的地址能够下载“IIS服务安装包完整版(Win2000/XP/2003)”
其中,会有几次提示,要找相应的文件,请您手动选择,都在那个压缩包中。
耐心等待一下,IIS就自动安装完毕了。“控制面板→管理工具”中可以看到有“Internet信息服务”
第三步(配置):(安装过IIS的童鞋请直接看这)
打开“Internet信息服务”→“本地计算机→网站→默认网站”,右键,“新建→虚拟目录”,如图二



图二
下一步,按照提示,依次输入“别名”“网站内容目录”。
添加站点完毕,选中该站点并点击右键“属性→文档”添加一个mantis登录时php的默认页面index.php,如图三,



图三
配置完毕。
小贴士:[/b]
如果不想使用默认端口80
可以在“默认网站”右键“属性”中,“网站”选项卡的TCP端口,修改默认的80端口为需要的端口(如8080)如图四



图四

2.3 安装配置MySQL5.1

双击setup.exe,开始安装咯~~
安装:
选择系定义安装“custom”为了下一步“选择安装的目录”
MySQL Server的安装目录就安装在c盘下C:/MySQL Server 5.1/,即可。
MySQL Server Datafiles建议安装到d盘D:/MySQL_DATA/,防止c盘空间不够。
之后MySQL会自动安装,并进入到配置阶段。
勾选“Configure the MySQL Server now”进入配置。
选择“Detailed Configuration”→“Server Machine”→“Multifunctional Database”→“InnoDB Tablespace Settings”→“Decision Support(DSS)/OLAP”默认→“Enable TCP/IP Networking”默认3306(设置网口)→选择“Manual Selected Default Character Set/Collation”(选择默认语言utf-8)→“Install As Windows Service”默认(是否安装为windows的服务,随系统启动)→设置root用户密码。好了,配置完毕。

小贴士:[/b]
InnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)、多版本并发控制(multi-versioned concurrency control)的事务安全(transaction-safe (ACID compliant))型表。InnoDB 提供了行级锁(locking on row level),提供与 Oracle 类似的不加锁读取(non-locking read in SELECTs)。这些特性均提高了多用户并发操作的性能表现。在InnoDB表中不需要扩大锁定(lock escalation),因为 InnoDB 的行级锁定(row level locks)适宜非常小的空间。InnoDB 是 MySQL 上第一个提供外键约束(FOREIGN KEY constraints)的表引擎。
InnoDB 的设计目标是处理大容量数据库系统,它的 CPU 利用率是其它基于磁盘的关系数据库引擎所不能比的。它自身也有些缺陷,6.x版本以前,在多核CPU的情况下,性能提升并不是太多。

2.4 安装PHP

在“Web Server Setup”页选择“iis isapi module”
在“Choose Items to Install”页,选择“Extensions”→安装支持“MYSQL”这个选项
以及“GD2”和“GetText”这两个选项(为了支持图表正常显示)

2.5 安装mantis的库

完成以上的配置后在浏览器地址栏输入“http://localhost:8080/mantis/”会自动跳转到mantis安装的页面。
http://localhost:8080/mantis/admin/install.php如图五,



图五
选择MySQL数据库,输入创建MySQL时候的用户名密码。
填写完整后,“Install/Upgrade Databse”进行安装,自动跳转到下一页,检查是否安装成功。如果都是绿色的“GOOD”说明没有问题。
这时打开浏览器,会看到都是英文的界面。且有红的的字体。需要我们来调整一下配置。
WARNING: You should disable the default "administrator" account or change its password.
需要修改administrator的密码。
WARNING: Admin directory should be removed.
需要把安装目录删除。

首先,删除admin安装目录。“D:/mantis-1.1.2/admin”一般情况,为了以后能够继续使用,可以重命名为_admin,或者直接将其压缩成一个admin.rar
其次,修改mantis的配置文件“config_inc.php”这个文件是在我们刚才安装的过程中根据“config_defaults_inc.php”(默认配置文件)由系统自动生成的,里面只有我们在安装时定义的简单的一些值,如下:
<?php
$g_hostname = 'localhost';
$g_db_type = 'mysql';
$g_database_name = 'mantis';
$g_db_username = 'root';
$g_db_password = '123456';
?>

我们需要将其依次添加以下几行
# --- 修改默认设置为简体中文 -------------
$g_default_language ="chinese_simplified";# 默认语言为简体中文
$g_allow_signup = ON;#是否允许新用户注册,ON是允许,OFF不允许
# --- 登录设置-------------
$g_max_failed_login_count = 5;
$g_show_realname = ON;# 是否允许匿名登录,ON是允许,OFF不允许
$g_allow_anonymous_login = ON;
$g_anonymous_account = 'anonymous';
# --- 邮件设置 -------------
$g_administrator_email = "mantis@****.com";#
$g_webmaster_email = "mantis@****.com";# 管理员邮件帐号
$g_from_email = "mantis@****.com";# 发送者帐号,即Mantis自动发邮件是显示的用户帐号
$g_return_path_email = "mantis@****.com";# 邮件回复地址

$g_enable_email_notification = ON; # 开通邮件通知
$g_smtp_host = "mail.****.com"; # SMTP 服务器
$g_smtp_username = "username"; # 邮箱登录用户名
$g_smtp_password = "password"; # 邮箱登录密码
$g_use_phpMailer = ON; # 使用 PHPMailer 发送邮件
$g_phpMailer_path = "D:/mantis-1.1.2/core/phpmailer"; # PHPMailer 的存放路径
$g_phpMailer_method = 2; # PHPMailer 以 SMTP 方式发送 Email
# --- 其他设置 -------------
$g_show_project_menu_bar = ON;# 是否显示项目选择栏,ON是显示,OFF不显示
$g_show_queries_count = ON; # 在页脚是否显示执行的查询次数,ON是显示,OFF不显示
$g_default_new_account_access_level = DEVELOPER; # 默认用户级别
$g_view_summary_threshold = VIEWER; #设置查看权限
$g_window_title = "****缺陷跟踪管理系统"; # 浏览器标题
$g_page_title = "****缺陷跟踪管理系统"; # 页面标题栏
$g_max_failed_login_count = 5;#默认登录失败次数
$g_show_realname = ON;#显示真名
$g_allow_anonymous_login = ON;# 允许用户匿名登录
$g_anonymous_account = 'anonymous';#匿名登录的用户名
# --- 日期设置 -------------
$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"; # 完整日期格式
# --- 报表设置 -------------
$g_use_jpgraph = ON;
$g_jpgraph_path = "D:/mantis-1.1.2/core/jpgraph-2.3.3/src/"; #设置jpgraph的路径
$g_graph_font = 'chinese_gbk';

最后,使用administrator密码root登录,并进入“个人账号”修改administrator的密码、邮箱、名称、真名等等相关项。
小贴士:
如果是在windows下装,要特别注意,文件路径的“/”,不能使用“/”,这在php配置文件中是注释的含义。

2.6 配置Mantis

修改配置文件的格式
应注意到,在配置文件中设置的浏览器标题和页面标题栏都是乱码,怎么办呢?
使用UltraEdit打开config_inc.php配置文件,“文件→转换→ASCII转UTF-8”,保存并退出。再次刷新登录页面,一切显示正常。
修改时间
mantis的初始时间是格林威治时间,需要修改为本地“中国”RPC时间。
修改C:/PHP/php.ini文件,搜索“timezone”按照下面的修改。
[Date]
; Defines the default timezone used by the date functions
date.timezone =PRC
去掉date前面的“;”分号,并在等号后面添加“RPC”,保存并退出。
这个修改需要重新启动IIS才能实现配置生效。“控制面板→管理工具→服务”中的“IIS admin”右键“重新启动”
添加匿名用户
如果想要匿名登录,要添加一个匿名用户的帐号,名称和config_inc.php中配置的相同。
$g_anonymous_account = 'anonymous';#匿名登录的用户名
注:一般匿名帐号的权限设置为查看人员即可,不要太高。

发送邮件失败?
报错SYSTEM WARNING: fsockopen() [function.fsockopen]: unable to connect to mail.****.com:25 (ӉӚĿ?껺Ʒ???????ӡ?)
这个问题查了好久,最终发现是使用的杀毒软件给控制住了,卡巴斯基没有这个情况,但用McAfee的童鞋就要小心了,请在McAfee中如图六所示配置



图六

2.7 配置统计报表“jpgraph”

首先确认mantis的config_inc.php文件中是否已经配置好了关于jpgraph的三项。
其次解压缩jpgraph2.3.3.rar到mantis的core文件夹下,D:/mantis-1.1.2/core/jpgraph-2.3.3
修改D:/mantis-1.1.2/core/graph_api.php,
搜索graph_get_font,添加'chinese_gbk' => FF_SIMSUN,
function graph_get_font() {
$t_font_map = array(
'arial' => FF_ARIAL,
'verdana' => FF_VERDANA,
'courier' => FF_COURIER,
'comic' => FF_COMIC,
'times' => FF_TIMES,
'georgia' => FF_GEORGIA,
'trebuche' => FF_TREBUCHE,
'vera' => FF_VERA,
'veramono' => FF_VERAMONO,
'chinese_gbk' => FF_SIMSUN,
'veraserif' => FF_VERASERIF );
保存并关闭

最后将D:/mantis-1.1.2/core/jpgraph-2.3.3/src/jpgraph_ttf.inc.php这个文件中的99-106行注释掉。如下所示:
/* 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);
}*/
小贴士:[/b]
这段代码的含义就是做中文转换,但jpgraph在这里再次做转换显然是多此一举,所以,注释掉就OK啦

2.8 其他说明

另外我想指出的是关于“路线图和变更说明”这两个新的功能
我在linux下曾经看到过变更说明,但是路线图就从来没有出现过。
在windows下这两个功能彻底不出来了,不过,也不报错,只是空白,很郁闷。我怀疑是查询数据库之后返回的结果为空,可能是数据库结构的问题,要不就是数据的问题,比较有关系的就是一个叫做mantis_bug_history_table的表,但我也没有仔细查找。

3 参考文档

http://www.cnblogs.com/NetCobra/articles/5773.html
BugZilla之外的选择——另一个 Bug 跟踪管理系统 Mantis 在 IIS5 下安装指南
http://hi.baidu.com/luoxijin/blog/item/36971823e61fb74a93580777.html
mantis统计报表和图形报表出现乱码问题的解决方法(原创)

大功告成啊~~~~休息一下下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐