分享

Mantis-1.1.7配置指南

 Jcp189 2010-08-15

Apache 2.2.11 + PHP 5.2.9 + MySQL 5.1.34 + Mantis 1.1.7配置指南(2009-04-27 20:16)

默认分类 2009-06-23 11:30:30 阅读778 评论0 字号:

 

Mantis配置指南(2009-04-27 20:16)

项目一直在使用mantis管理BUG,但是,版本过于陈旧:

使用的是: Apache 2.0.53 + PHP 4.3.10 + MySQL 4.0.23 + Mantis 0.19.2

由于服务器数据需要升级到MySQL 5.0.67,而4.*l和5.*有一些不兼容,导致,无法将旧的

Mantis的Mysql4.*库导入到MySQL 5.*中,索性,全面升级Mantis,重新配置。

新的配置是: Apache 2.2.11 + PHP 5.2.9 + MySQL 5.1.34 + Mantis 1.1.7

配置总体顺序如下

最近要搭建一个Bug跟踪管理系统,开源免费的Mantis自然首当其冲。要运行Mantis,有两种主流的环境配置:IIS+PHP+MySQL+Mantis和Apache+PHP+MySQL+Mantis,本文主要介绍后一种。

     首先介绍如何在Apache上运行PHP:

一.安装Apache

      首先下载Apache服务器的windows版本,网址为:http://httpd./download.cgi,最新版本为Apache2.2,下载完后安装。

     注意:检查80端口有没有被占用,本人安装时就由于打开IIS,导致apache无法启动。如果要查看80端口被哪个程序占用,可以在命令行窗口中输入netstat -o -an,找到占用该端口的程序的PID,然后在任务管理器中点"查看"->"选择列...",勾选"PID",找到该PID的程序,结束任务。    测试apache是否是否工作,安装后可以打开浏览器,输入http://localhost/验证Apache是否成功,如果成功则显示:It works 字样。

注:1.可自由选择安装路径2.如系统安装有360等监视软件,安装完apache后,会有提示框提示有启动项载入,允许此动作。

二.安装PHP

      首先下载PHP,网址为:http://www./downloads.php,最新版本为PHP5.2.9,注意下载有两种版本:.zip版本 和 安装版。先执行安装版,安装中选择支持apache 2.2.x,那么会自动配置apache的http.conf文件、mime.types文件和产生PHP的php.ini文件。注意:在安装中我遇到过问题,如果选择默认安装,则很顺利没有错误,如果选择自定义安装且将所有的组件都选择安装,那么会发生错误,原因我现在也没搞清楚。

      由于,安装版本内容不全,没有ext和pear等目录,所以,安装完后,将解压版解压到刚才的安装目录下。

注:可自由选择安装路径,因为后面有相应设置,所以最好目录不要太长

三.apache与PHP整合

      安装版的PHP安装后,apache2.2的httpd.conf,会自动添加以下两行(如果没有要添加上):

           PHPIniDir "G:/JCDevTool/PHP5/"

           LoadModule php5_module "G:/JCDevTool/PHP5/php5apache2_2.dll"

      mime.type文件自动增加如下两行:

         application/x-httpd-php php

         application/x-httpd-php-source phps

    注意:1.G:/JCDevTool是PHP的安装目录,如果是apache2.2,必须写"php5apache2_2.dll"。

               2.要重启apache刚才的配置才能生效(方法:点击右下角的apache图标—restart),否则下一步用hello.php验证时可能不正确。

     PHP以apache模块的方式与Apache结合。是你的WEB网站具有支持PHP服务器脚本程序的能力。

 四.测试是否配置成功

      测试PHP是否加载成功:

      编写一个PHP文件(hello.php):

           <html>

            <head>

              <title>hello</title>

            </head>

            <body>

              <?php echo "hello,php"; ?>

            </body>

           </html>

      将该文件复制到C:\apache2.2\htdocs中,然后浏览器中输入http://localhost/hello.php,如果显示"hello,php",则表示加载成功。

 五.接下来介绍如何安装MySQL:

      这个比较简单,首先下载MySQL,网址为:http://dev./downloads/,最新的稳定版本为5.1.34,下载完后按照安装向导一步一步就可以完成安装了。

注:  1.如果想改变安装路径,选择custom项,如果按默认选择typical则自动安装在默认路径

2.安装mysql的路径中,不能含有中文!

3.mysql的默认超级用户是:root密码会在安装完进行配置中让你输入,也可不输入,默认为空

4.mysql安装过程中各选项设置及解释可参见http://blog.sina.com.cn/s/blog_4a4186e30100b7jf.html

5.如果一次安装不成功,卸载后,不会自动删除安装目录下的文件和数据文件,应自己手动删除方可重新安装否则会有影响

存在须删除文件的地方:1.你选定的安装目录或默认的安装目录2.你指定的数据文件存放目录3. C:\Documents and Settings\All Users\Application Data目录

6.如遇安装完配置最后一步启动服务失败,原因可能是以前装过没有卸载干净。可卸载重新安装来解决,也可取消配置,在cmd用命令“net start mysql”启动

7.关于mysql的cmd命令参见网上

六.最后介绍如何安装配置Mantis:

     1.安装Mantis

      首先下载Mantis,网址为:http://www./download.php,最新的稳定版本为Mantis1.1.4,下载完后解压到C:\mantis-1.1.4。可自由选择路径

     2.配置Apache

      也就是向Apache暴露Mantis的位置。修改%APACHE_HOME%\conf\httpd.conf,在文件末尾添加以下文字,以配置mantis目录的访问权限:

           Alias /mantis "c:/mantis-1.1.4/"   

           <Directory "c:/mantis-1.1.4/">   

             Options Indexes   

             AllowOverride None   

             Order allow,deny   

             Allow from all   

           </Directory>      

注意:这里特别注意,必须写成UNIX路径的/,不能写成Window路径的\,否则会无法正确显示mantis。

      可选配置:如果希望在浏览器中直接输入目录名(即http://localhost/mantis)就可以访问Mantis主页(如果不添加,则每次都显示Mantis目录下的文件和子目录列表,又安全隐患),可以在dir_module标签中添加上index.php:

           <IfModule dir_module>

              DirectoryIndex index.html index.php

           </IfModule>

      这样就可以在浏览器中直接输入目录名了(当然,这时候访问还会出错,因为mantis数据库还没建立呢,不要急,我们一会马上去创建。)

     3.配置PHP

      因为我们需要使用基于PHP的应用程序Mantis,而Mantis本身的特性需要(如使用MySQL数据库等),就要求我们去修改php.ini文件:     

      (1)包含Pear库(Mantis中用到了Pear库)

           查找include_path,改为include_path=".;C:\php5.2\PEAR",并去掉前面的分号

      (2)包含外部PHP库(因为需要知道php_mysql.dll动态库的路径)

           查找extension_dir,改为extension_dir="C:\php5.2\ext",并去掉前面的分号

      (3)包含PHP-MySQL库(因为需要支持MYSQL)

           查找php_mysql.dll,去掉前面的分号,这样PHP就能调用mysql模块了,如果没有就自己加进去extension_dir=php_mysql.dll

注:我就是没找到php_mysql.dll这一项,网上有说mantis解压到C:/program files (或者说非根目录下)目录下可能导致没有php_mysql.dll,看前辈们的文章好像是解压到了C:/,鉴于C盘空间,我解压到了D:/,仍然没有php_mysql.dll,不过自己填上也可以正常使用。

     4.为Mantis创建表、数据

      访问http://localhost/mantis/admin/install.php,输入MySQL的用户名和密码,然后点击Install/Upgrade Database,就会自动建立Mantis所需要的数据库和所有数据表。(这 里注意,这是和以前的mantis比较大的不同,以前的mantis,如mantis-0.19.4.tar.gz版本,会提供一个 db_generate.sql数据库脚本来创建mantis需要的数据库,而新版mantis则通过install界面来自动创建。,还需要注意的是, 这里的内容多是从mantis/config_inc.php中获取,特别需要注意的是Hostname一栏,默认值为localhost,而如果MySQL 安装时变动了端口(mysql的默认端口是3306,如果安装时变动了则按此说明修改),则应该写成 localhost:端口号,别忘同时修改config_inc.php文件)其他栏就按默认值即可,空白的可以不填,因为这些信息都来源于mantis下的config_inc.php文件。(我安装时填写了admin username和admin password等,然后点击生成数据库和数据表时,最后一项有报错,不填的话就可以正常生成,当然如果想信息完整的话可已通过修改mantis下的config_inc.php文件)

      这里还要注意一个问题,有时创建时会失败,提示:【Checking PHP support for database type 】的错误:BAD   database is not supported by PHP. Check that it has been compiled into your server.查看apache的log发现有如下错误:PHP Warning: PHP Startup: Unable to load dynamic library 'd:\\Program Files\\PHP\\ext\\php_mysql.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0 这是因为不能正确加载php_mysql.dll库,导致php与mysql不能连携,请检查环境变量中path是否有:【安装路径】\PHP和【安装路径】\PHP\ext 类似的配置。如果没有请将该路径添加到path中。特别再注意,添加后请务必重启OS,才能生效。

另外我第一次安装时,输入http://localhost/mantis/admin/install.php想要进行创建数据表和数据库,但是无法访问,提示没有访问权限,后来发现是安装mantis后配置Apache出了问题,mantis路径没写对。

     5.启动Mantis

      访问http://localhost/mantis/,出现登录界面,(注意,mantis的默认用户名为administrator,默认密码为root。)

     七.邮件服务器配置

      在Mantis中有新用户注册时,会给其指定的邮箱发一封邮件,点开邮件中的链接才可以设定密码,因此需要给Mantis添加发送邮件的功能。

      使用phpmailer作为邮件服务器,首先下载phpmailer,网址为:http://phpmailer.,下载完后解压到c:\phpmailer。可自由选择路径。

      修改C:\mantis-1.1.4\config_inc.php,添加以下内容:

        $g_smtp_host = 'smtp.sina.com.cn';//发送邮件服务器

       $g_smtp_username = 'yawei.wu@unison.net.cn';//发送邮件账户的用户名(根据情况定要不要加后面的“@unison.net.cn”, romu ng ail = 'xinqian3qian3607我们公司的用户名是包含@后面的信息的,比如sina的邮箱的话就只需有用户名而不用加上“@sina.com”)

       $g_smtp_password = '123456';//

       $g_use_phpMailer = ON;

       $g_phpMailer_path = 'c:/phpmailer/';

       $g_phpMailer_method = 2;

       $g_return_path_email = 'yawei.wu@unison.net.cn'

      把其中的内容修改为你自己的邮箱信息就可以了,这个邮箱信息就是给用户发邮件的邮箱。赶紧新注册一个用户,试一试能不能收邮件吧~

八.关于安全方面的一些设置问题随后再续

九.配置文件上传

主要配置项:

$g_allow_file_upload   = ON;

$g_file_upload_method = DISK;

注:

a)    在Mantis目录下新建目录如 upload ,再在mantis建立的项目中把文件上传路径设置为“upload”(通过Web方式)。这样上传的文件就会存放在upload目录中。(我也把config_defaults_inc.php文件中的$g_absolute_path_default_upload_folder = 'D:/mantisbt-1.1.6/upload/设置上了路径,并且千万不能丢了最后的“/”.而且所有在config__inc.php文件中设置或添加的项在config_defaults_inc.php文件中一定要注释掉)

b)    上传文件的大小受到 Mantis 和 PHP 的双重限制,需要修改:

/webapps/mantis/config_inc.php 中 $g_max_file_size = 100000000; # 100 MB

/usr/local/lib/php.ini中upload_max_filesize = 100M 和 post_max_size = 100M

c)    给用于存储上传文件的目录增加可写权限。(方法:右键点图片保存的文件夹,选择"属性"->"安全",点"添加"->"高级"->"立即查找",在查找结果中选择"everyone"后点"确定",在点"确定",然后把"everyone"的"完全控制"钩上,最后点"确定")

十.附件浏览功能:

比如,在提交一个issue的时候,有时候会有截图提交附件情况,这是有人会提出来,我想直接看到错误截图而不想自己下载后再看,这也是需要设置就能实现的。但是这个功能只是针对bmp, png, gif, jpg格式的图片文件而言,当然提交的doc文件就不再之列了。处理得方法很简单,只需将config文件中de $g_preview_attachments_inline_max_size 进行设置。当将这个设置为0的情况,那么查看issue的时候是永远不会出现附件贴图的,但是如果你将这个设置为一个足够大的尺寸,那么就会在issue里 直接出现图片,这个数值是以字节计算,如果图片上传为32,210字节,则你 把$g_preview_attachments_inline_max_size=32211,而且任何小于这个字节大小的bmp, png, gif, jpg格式的图片文件直接显示了,很简单吧.

可惜的是,我现在还未找出我原先的附件怎么就下载后都变1k了,可在issue页面中还是显示实际字节大小,解决方式寻找中......

十一.使用jgraphic(图形报表)

一种方法:安装JPGraph

默认情况下,Mantis的图形报表是关闭的,需要安装JPGraph模块。

1). 可以在http://www./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” 和(“;extension=php_iconv.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就不行了,

总会有部分人报表出现乱码。所以一个小组一定要统一阿。

很遗憾按以上方法配置后我的图形报表还是乱码,待解决中。。。

十二.默认的用户名密码

Mantis管理员账户:adminstrator  密码:root

Mysql账户:root 密码:root

完毕!!

心得:

由于是第一次配置,以前都是其他人负责,所以,重新配置时很多概念都没有,就看手顺来配置,感觉很混乱,所以,去补充了一些周边知识,了解了这些知识后,再来看上面看似很繁琐的手顺,其实就很容易理解了。

知识1:WAMP=windows+Apache+MySQL+PHP,是一个开 发网络应用程序的网络开发平台(全是开源软件),因为mantis就是PHP应用,即Mantis就是PHP脚本语言写出来的程序。所以,要使用 mantis,先搭建好mantis运行的环境是必须的步骤。

知识2:mantis是需要数据库来管理用户登陆的BUG的,所以,我们还需要使用MySQL,当然,不是必须使用MySQL(插一句:mantis是希望实现与具体数据库系统无关的更通用的bug管理系统。从现在的数据库创建方式就很明确了。)

知识3:所以,配置的思路就是,apache(http.conf)支持PHP,PHP(php.ini)支持MySQL,apache(http.conf)支持Mantis;Mantis创建MySQL数据库;使用mantis

使用过程中的问题:

通过http://服务器IP地址/mantis/访问,创建账号时有如下报错(但能成功创建):

APPLICATION ERROR #401

Database query failed. Error received from database was #1366: Incorrect string value: '\xE7\xBC\xBA\xE9\x99\xB7...' for column 'subject' at row 1 for the query: INSERT INTO mantis_email_table

( email,

subject,

body,

submitted,

metadata)

VALUES

( 'wuyawei1985@sina.com',

'[Mantis] 缺陷跟踪系统账号注册',

'已创建如下账号: \n\n用户名:mountain100 \n电子邮箱han.gao@unison.net.cn \nIP 地址:10.96.210.132

经查说是编码问题,建议导出数据库,全部转换成utf-8编码。也可以在dos环境下用命令修改各个表的编码,修改命令:ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;

mantis提交附件相关问题

今天mantis出现了一个严重的错误,我还在修改和检查中,主要是之前提交的附件,现在都为空的了,而且不能正确打开和浏览。

1、数据转移功能:

在未作任何改动的情况下,系统是默认将附件保存到数据库,可是当想直接获得这些文件该怎么办呢?其实mantis系统提供这么一个功能,将放在数据库的附件文件转移到磁盘里。你只需访问:http://youserver/mantis/admin/system_utils.php,里面就会有一个按钮-Move attachment to Disk,点击他就ok了,当然必须确认你的config文件里,upload method是disk,否则也会出错的。这样数据库中的附件就会被导出来,放到mantis根目录下,你可以做一个数据保存工作了,实在是一个不错的功能。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多