Mantis安装部署说明(Windows篇)

Posted on Posted in 经验分享

缺陷跟踪系统Mantis之安装篇

      早就说过公司要搞一个缺陷跟踪系统,这对于规范测试、开发人员测试人员的协同工作都很有好处,可惜一直没人有空搞。近来又一个项目进入到测试阶段,仍然延续了以前的Excel表格的方式,文档拷来拷去出现了不同步的问题,开发人员说我没收到那些个Bug,倒也。看来还是必须我来搞一搞,找个开源的东东,听说Buzillia太复杂,而Mantis口碑不错,决定一试。下面是我的安装过程:

步骤一:安装Apache HTTP Server 2.2.4
我下载的文件是apache_2.2.4-win32-x86-no_ssl.msi。安装时domain和server都填了localhost,端口选择8080(如果不考虑IIS就用80)。打开命令行,cd到\Apache2.2\bin目录,输入httpd -k install将Apache安装成为一个Windows服务(习惯以Service的方式运行,Console方式容易被手贱的人咔嚓掉……)。
更多相关内容请参考http://httpd.apache.org/docs/2.0/platform/windows.html。
启动服务,输入http://localhost:8080/,出现It works!表示Apache正常运行。

步骤二:安装PHP 5.2.5
我下载的文件是php-5.2.5-Win32.zip,解压到任意目录(我解压到d:\php-5.2.5\)。

步骤三:配置Apache使支持PHP
编辑\Apache2.2\conf\httpd.conf文件,在末尾添加两行: LoadModule php5_module “d:/php-5.2.5/php5apache2_2.dll” AddType application/x-httpd-php .php
如果Apache的版本为2.0那么应当使用php5apache2.dll,另外注意Apache的配置文件使用/而非\。然后可以写一个简单的php测试页面放到\Apache2.2\htdocs。内容如下:

出现It works!表示Apache可以解析PHP。

步骤四:安装MySQL 5.0.45
我下载的文件是mysql-essential-5.0.45-win32.msi。安装过后紧接就是配置,为了避免以后的麻烦请选择Detailed Configuration。在接下来的向导中务必记得两点:
1、选择Best Support For Multilingualism,这样MySQL的默认字符集设置为UTF8,能够支持中文存储。否则以后使用Mantis创建帐户、创建项目等等只要输入有中文,入库就报错。
2、设置root帐户的密码,因为Mantis建立数据库时似乎不支持空密码的root帐户。
而其余的仍可使用默认的。默认情况下MySQL安装成为Windows服务并自动启动,为了方便管理我下载了第三方客户端SQLyog,成功登录。

步骤五:配置PHP使支持MySQL
在PHP安装目录,拷贝php.ini-dist或php.ini-recommended并改名为php.ini。
1、找到下面两行: ; Windows: “\path1;\path2” ;include_path = “.;c:\php\includes”
去掉include_path前面的分号,改为include_path = “.;d:\php-5.2.5\PEAR”。
2、找到下面两行: ; Directory in which the loadable extensions (modules) reside. extension_dir = “./” 改为extension_dir = “d:\php-5.2.5\ext”,该目录包含有php_mysql.dll。
3、找到extension=php_mysql.dll这行,去掉前面的分号。
4、拷贝D:\php-5.2.5\libmysql.dll到C:\Windows\System32(能否不拷贝?望知情者告知)。
5、编辑\Apache2.2\conf\httpd.conf文件,在末尾加上一行: PHPIniDir “d:/php-5.2.5”
使用Apache解析PHP时必须这样指定php.ini文件的位置,进而使PHP加载MySQL的扩展模块。
以上缺少任何一步就会收到错误:Call to undefined function mysql_connect()。

步骤六:安装Mantis 1.1.1
我下载的文件是InstantMantis-1.1.1.zip,解压到任意目录(我解压到d:\InstantMantis-1.1.1\)。这个包自带了Apache、PHP、MySQL,已完全配置好。直接运行D:\InstantMantis-1.1.1\imstart.cmd,会出现命令行窗口,然后到IE输入http://localhost:8080/mantis就可以使用Mantis了。一键运行,够强!够傻瓜!用来快速体验一把Mantis相当不错,可惜自带的东东版本较老,有点不爽。最要命的还是以Console方式启动,前面提到的万一被某些手贱的人不甚咔嚓掉岂不是!@#¥%……(各位见笑,我公司的那台破开发服务器就是经常要有人来上网的,我无权叫他们别上网)所以还是老老实实学习下怎么部署。其实也挺简单,Mantis是一个B/S系统,d:\InstantMantis-1.1.1\root\mantis就是站点的根目录,其中的index.php为首页(系统登录页面),\admin\install.php为数据库安装页面。

1、映射虚拟路径,编辑\Apache2.2\conf\httpd.conf文件,在末尾添加:

Alias /mantis “d:/instantmantis-1.1.1/root/mantis/”
Options Indexes
AllowOverride None
Order allow,deny
Allow from all

输入http://localhost:8080/mantis出现mantis目录下的文件和子目录列表,似乎有安全隐患。我对Apache不了解,但设置上面那些参数肯定能Forbidden掉,请参考Apache的文档。查找DirectoryIndex,改为DirectoryIndex index.html index.php(当然还可能有index.jsp等,用空格分开),这是设置默认的页面。输入http://localhost:8080/mantis报错:Access denied for user ‘root’@’localhost’。当然,数据库还未建立呐。

2、输入http://localhost:8080/mantis/admin/install.php,填写参数,应该都看得懂吧,然后点击按钮建立数据库。需要注意的是Hostname一栏,默认值为localhost:3360,而MySQL安装时默认端口为3306,只差那么一点点-_-(就这鸟问题耽搁了我不少时间)。

3、更改数据库连接,编辑d:/instantmantis-1.1.1/root/mantis/config_inc.php,修改以下变量的值,如: 

$g_hostname = ‘localhost:3306’;
$g_db_type = ‘mysql’;
$g_database_name = ‘mantis’;
$g_db_username = ‘root’;
$g_db_password = ‘密码’;

4、输入http://localhost:8080/mantis,张牙舞爪的螳螂终于出现了。用内置的帐号administrator(密码root)登录。局域网内其它机器访问时记得开放8080端口(如果有防火墙的话)。