Windows下搭建Mantis详解

  1. 云栖社区>
  2. seven的测试人生>
  3. 博客>
  4. 正文

Windows下搭建Mantis详解

寒凝雪 2017-07-03 15:37:00 浏览2938
展开阅读全文

Windows下搭建Mantis详解

下边是在Windows下搭建Mantis的详细过程,太长了,只能分开发上来,不过我会附一个pdf的文件上来,需要的可以下载。
搭建环境:
        apache_2.2.13-win32-x86-no_ssl.msi
        php-5.3.0-Win32-VC6-x86.zip
        mysql-5.0.22-win32.zip
        mantisbt-1.1.7.zip
        辅助工具:
        EMS(mymanager_lite.zip):可以通过界面形式操作Mysql数据库
        PhpMailer(PHPMailer-ML_v1.5.zip):搭建Mantis邮件服务器
        Jpgraph(jpgraph-2.3.4.rar):实现Mantis的统计报表功能
安装并配置Apache
下载地址:http://httpd.apache.org/download.cgi
运行下载的软件开始安装,开始都是next,到如下界面时:

        设置系统信息
        Network Domain:
        在Network Domain下填入您的域名(比如:ok.com)
        Server Name:
        在Server Name下填入您的服务器名称(比如:www.ok.com,也就是主机名加上域名;如果自己的ip是公网ip,这里填写自己的ip,其他人即可访问自己搭建的mantis,如果有自己的域名,这里可以填写域名,别人可以通过这个域名访问自己的mantis,因为我自己电脑没有公网ip,在网上找了几个把内网动态解析的软件也没有成功,所以这个功能没有验证,需要外网访问mantis的可以验证)
        Administrator's Email Address:
        在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:423114976@qq.com
        上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行(以后需要修改时可以在apache安装目录下的conf文件夹下找到httpd.conf这个文件进行编辑,查找ServerName可以修改服务器名,想让别人通过这个访问,需要去掉这句话前边的#;查找ServerAdmin可以修改管理员的邮件地址)。
        端口选择:
        下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。
        注意:检查80端口有没有被占用,我安装时就由于打开IIS,导致apache无法启动。如果要查看80端口被哪个程序占用,可以在命令行窗口中输入netstat -an,找到占用该端口的程序的PID,然后在任务管理器中点"查看"->"选择列...",勾选"PID",找到该PID的程序,结束任务。
3、接着到选择安装方式的界面,选择Custom的安装方式,这样可以选择安装路径,选择好后一路next即可,知道Finish,安装完成。
4、测试apache按默认配置运行的网站界面是否正常,在IE地址栏输入“http://127.0.0.1”,显示It works,表示apache服务器已安装成功。(以前版本的apache的默认网站界面有可能跟此版本的不同,如果没有报错基本都是正常的,为了确认,也可以到apache安装目录下的htdocs文件夹找到index.html,在本地打开看是否跟浏览器打开的相同)
3、配置(注意:修改配置文件后需要重启apache,修改才能生效):
        1)开始—>所有程序—>Apache HTTP Server 2.2—>Configure Apache Server—>Edit the Apache httpd conf Configuration file,点击打开,这时打开的是apache的配置文件httpd.conf;
        2)在Apache安装目录下,找到conf文件夹,打开里边的httpd.conf。
安装PHP
下载地址:http://windows.php.net/downloads ... 0-Win32-VC6-x86.zip
选择适合的版本:
在网上找到一段PHP版本的说明,如下:Download the VC6 builds if you are using the standard Apache.org web server. The VC9 builds should be used for the Apache Lounge binaries or IIS.
A Thread Safe version should be used if you install PHP as an Apache module. The Non Thread Safe version should be used if you install PHP as a CGI binary.
   因为我安装的是标准版的apache,而且需要以apache module模式安装PHP,因此下载的是VC6的Thread Safe版本,大家可以根据自己的需要选择适合的版本。
3、我下载的是压缩包,把它解压到指定的位置,我的设定在“D:\PHP”
4、配置:
        1)把D:\PHP\php.ini-development或php.ini-production(如果是其他版本的PHP,可能需要改php.ini-dist)改成php.ini;
        2)查找extension_dir,改为extension_dir="D:\PHP\ext" ,并去掉前边的分号,因为ext文件夹下有很多我们可能需要调用的扩展库;同时需要在系统环境变量的path里边添加上php安装路径和其子路径ext,方法是:“我的电脑”上右键—>属性—>选择“高级”标签—>点选“环境变量” ,在“系统变量”下找到“Path”变量,选择,双击或点击“编辑”,将“;D:\PHP;D:\PHP\ext”加到原有值的后面,然后全部确定。
        注意:添加后请务必重启OS,才能生效,否则不能正确加载PHP扩展库,比如mantis要用到的php_mysql.dll,不过可以先配置完,到安装mantis的数据库前再重启。
        3)查找php_mysql.dll,将这一行前面的号去掉,这样PHP就能调用mysql模块了,如果没有就自己加进去extension_dir=php_mysql.dll  
        4)查找include_path,找到“; Windows: "\path1;\path2"”,把它下边一行改为 include_path = ".;d:\PHP\PEAR" ,并去掉前面的分号,因为Mantis中用到了Pear库,需要包含Pear库。
5、将php以module方式与Apache相结合,使php融入Apache(如果下载的是.msi安装版本的php,安装中选择支持apache 2.2.x,那么会自动配置apache的http.conf文件、mime.types文件和产生PHP的php.ini文件,由于,安装版本内容不全,没有ext和pear等目录,所以,安装完后,将解压版解压到刚才的安装目录下,此括号内是根据网上下载的配置文档整理的,因为自己直接用的压缩包,没有验证安装版本的)
   1)打开apache的配置文件http.conf,搜索#LoadModule ssl_module modules/mod_ssl.so ,在此句下边添加如下两行:
      LoadModule php5_module D:/PHP/php5apache2_2.dll
        PHPIniDir "D:/PHP"
        第一行指以module方式加载php;
        注意:D:/PHP/php5apache2_2.dll是PHP的安装目录下的dll文件,如果是apache2.2,必须写"php5apache2_2.dll",如果是其他版本的apache,可以到php安装目录下找相应的dll文件,php与apache的版本一定要对应
        第二行指明php的配置文件php.ini的位置。
   2)搜索AddType application/x-gzip .gz .tgz,在这行下边添加如下一行:
      AddType application/x-httpd-php .php
      你也可以加入更多,实质就是添加可以执行php的文件类型,比如你再加上一行“AddType application/x-httpd-php .htm”,则.htm文件也可以执行php程序了,你甚至还可以添加上一行“AddType application/x-httpd-php .txt”,让普通的文本文件格式也能运行php程序。
   3)目录默认索引文件也可以改一下,因为现在加了php,有些文件就直接存为.php了,我们也可以把“index.php”设为默认索引文件,搜索DirectoryIndex,找到如下一段:
        <IfModule dir_module>
          DirectoryIndex index.html
        </IfModule>
      把中间一句修改为:
        DirectoryIndex index.php index.html
        优先顺序可以自己排,我把index.php放在第一位了。编辑完成,保存,关闭。
6、验证是否配置成功:
   在apache的安装目录下的htdocs文件夹下建一个index.php文件,代码如下:
   <?php
        phpinfo();
        ?>
在IE地址栏中输入“http://127.0.0.1”,如果看到phpinfo的界面,说明配置成功。
安装Mysql
下载地址:http://download.mysql.cn/src/2006/0710/5543.html
安装:


在3个选项中选择第3个Custom,在接下来的安装中可以自己进行一些设置。

安装路径可以自由选择



        这里是询问你是否要注册一个mysql.com的账号,或是使用已有的账号登陆mysql.com,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。


        现在软件安装完成了,出现上面的界面,这里有一个很好的功能,mysql配置向导,不用向以前一样,自己手动乱七八糟的配置my.ini了,将 “Configure the Mysql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。


        选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我选择“Detailed Configuration”。

        选择服务器类型
        Developer Machine:开发测试类,mysql占用很少资源
        Server Machine:服务器类型,mysql占用较多资源
        Dedicated MySQL Server Machine:专门的数据库服务器,mysql占用所有可用资源
        大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满,大家根据自己需要进行选择,因为我是在自己电脑上测试搭建,所以选择了第一个“Developer Machine”。

        选择mysql数据库的大致用途
        Multifunctional Database:通用多功能型,好
        Transactional Database Only:服务器类型,专注于事务处理,一般
        Non-Transactional Database Only:非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional
        随自己的用途而选择了,我这里选择“Multifunctional Database”,按“Next”继续。

        对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏。我这里没有修改,使用用默认位置,直接按“Next”继续。

        选择您的网站的一般mysql访问量,同时连接的数目
        Decision Support(DSS)/OLAP:20个左右
        Online Transaction Processing(OLTP):500个左右
        Manual Setting:手动设置,自己输一个数
        我这里选“Decision Support(DSS)/OLAP”,按“Next”继续。

        是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306,按“Next”继续。下边的选项是设定服务器模式,建议勾选。

        这个比较重要,就是对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,第三个可以选择自己需要的编码。按 “Next”继续。

        选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便)。按“Next”继续。

        这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码,“Confirm(再输一遍)”内再填一次,防止输错。“Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。

确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置生效。

        下边是一些摘自网上的安装出错时的解决办法,如果安装时出现问题,可以参照下边方法,可能会有帮助:
如果一次安装不成功,卸载后,不会自动删除安装目录下的文件和数据文件,应自己手动删除才能重新安装,否则会有影响
           存在须删除文件的地方:
        1.你选定的安装目录或默认的安装目录
        2.你指定的数据文件存放目录
        3. C:\Documents and Settings\All Users\Application Data目录
如遇安装完配置最后一步启动服务失败,原因可能是以前装过没有卸载干净。可卸载重新安装来解决,也可取消配置,在cmd用命令“net start mysql”启动
安装EMS,可以通过图形界面操作Mysql数据库
下载地址:http://www.jspcn.net/mngtools/mymanager_lite.zip
安装Mantis
下载地址:http://downloads.sourceforge.net/mantisbt/mantisbt-1.1.7.zip
我下载的是当时的最新稳定版本1.1.7。
安装:
把Mantis的压缩包解压到自己指定的目录,我的路径是D:\mantis。
配置Apache
        在Apache的配置文件中设置mantis的目录为虚拟目录。修改httpd.conf,在文件末尾添加以下文字,以配置mantis目录的访问权限:
        Alias /mantis "d:/mantis/" 
           <Directory "d:/mantis/">
            Options Indexes 
            AllowOverride None 
            Order allow,deny 
            Allow from all 
             </Directory>
        注意:这里特别注意,必须写成反斜杠/,不能写成斜杠\,否则会无法正确显示mantis。
为Mantis创建表、数据
         访问http://127.0.0.1/mantis/admin/install.php,出现如下界面,并按照图示填写:
        
        这里和以前的mantis比较大的不同,以前的mantis会提供一个 db_generate.sql数据库脚本来创建mantis需要的数据库,而新版mantis则通过install界面来自动创建,特别需要注意的是Hostname一栏,默认值为localhost,而如果MySQL 安装时变动了端口(mysql的默认端口是3306,如果安装时变动了则按此说明修改),则应该写成 localhost:端口号。
        这里还要注意一个问题,有时创建时会失败,提示:【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不能连携,请检查上边安装PHP后进行配置时需要添加的环境变量中是否添加了,如果已经添加,请确认是否重启系统了。
    注意:上图说的那个CheckBox不要勾选,“Print SQL Queries instead of Writing to the Database”这个选项的意思是打印出SQL查询,但是不实际执行创建数据库的动作。如果是要安装Mantis的话,不需要选这个选项。在选上这个选项的情况下点击最下边的Install\Update Database后会报错,这个好像是Mantis的ADODB库跟PHP逻辑之间的问题。由于某些原因,为了在修改或丢掉一些列之前丢掉约束,ADODB库需要有活动的数据库连接,并发出混有PHP逻辑的请求,很多手动重新创建的SQL请求是冗余的,因此会在选了“Print SQL Queries instead of Writing to the Database”这个选项时打印出的SQL代码中丢失,所以导致报错。
        安装成功后界面如下:
        
启动Mantis
        访问http://127.0.0.1/mantis/,出现登录界面,mantis的默认用户名为administrator,默认密码为root。
设置中文显示:
编辑mantis安装目录下的config_defaults_inc.php文件
搜索$g_default_language,并修改为:$g_default_language                = 'chinese_simplified';
注意:有的版本的mantis简体中文的表示方法不同,可以根据下边数组$g_language_choices_arr        = array()里边定义的各种语言中找相应的简体中文的表示方法。
配置邮件服务器:
        在Mantis中有新用户注册时,会给其指定的邮箱发一封邮件,点开邮件中的链接才可以设定密码,因此需要给Mantis添加发送邮件的功能。
下载地址:http://jaist.dl.sourceforge.net/ ... PMailer-ML_v1.5.zip
        如果安装的是其他版本的PHP,需要选择适合自己PHP版本的phpmailer的版本,我选择的是适合PHP5的版本,可以自由选择路径把它解压,我把它解压到D:\PHPMailer-ML_v1.5。
修改d:\mantis\config_inc.php,添加以下内容:
           # phpmailer
            $g_use_phpMailer = ON;
            $g_phpMailer_path = 'D:/PHPMailer-ML_v1.5/';
            $g_smtp_host = 'smtp.163.com';//发送邮件服务器
            $g_smtp_username = 'scmroad';//发送邮件账户的用户名
            $g_smtp_password = '123456';//邮件地址用户名对应的密码
            $g_phpMailer_method = 2;//此处的数值可为0,1,2;0为调用了一个mantis内置的mail()函数来发送邮件;1为sendmail方式;2为使用smtp方式,登录到邮件服务器内来发送邮件
            
            $g_return_path_email = 'scmroad@163.com';//这个是管理员自己的邮件地址,接受对mantis操作的提示邮件
修改mantis的时间
在config_inc.php中添加如下语句:
         #时区设置
        putenv("TZ=Asia/Shanghai");
        如果想设置时间显示的格式,还可以再加上如下语句:
         $g_complete_date_format = 'Y-m-d H:i:s';
        单引号内的字母分别代表:年-月-日 时-分-秒,可以根据自己的习惯修改格式。
        如果这样操作不能解决问题,需要修改php.ini的date.timezone = PRC,修改php.ini后,需要重新启动Apache服务。
登陆界面上的两个警告的处理
        刚配置好的mantis登陆界面会有如下两个警告:
        WARNING: You should disable the default "administrator" account or change its password.
        WARNING: Admin directory should be removed.
   解决第一个警告,需要修改administrator的密码。
   解决第二个警告,需要把mantis安装目录下的admin文件夹删除,一般情况,为了以后能够继续使用,可以重命名为_admin,或者直接将其压缩成一个admin.rar。
配置文件上传
1、在config_inc.php里添加如下两句:
        $g_allow_file_upload   = ON;
        $g_file_upload_method = DISK;
2、在mantis安装目录下新建一个文件夹upload,再在mantis建立的项目中把文件上传路径设置为“upload”(通过Web方式),这样上传的文件就会存放在upload目录中
3、修改上传文件的大小限制:
        config_inc.php 中添加 $g_max_file_size = 5000000; # 5MB(根据自己的需要修改)
        php.ini中修改upload_max_filesize = 5M 和 post_max_size = 5M
4、如果upload文件夹安全性高,不具备写权限,上传文件时会有问题,这时需要给此文件夹增加可写权限。(方法:右键点图片保存的文件夹,选择"属性"->"安全",点"添加"->"高级"->"立即查找",在查找结果中选择"everyone"后点"确定",在点"确定",然后把"everyone"的"完全控制"钩上,最后点"确定")
6、设置附件浏览功能:
        比如,在提交一个bug的时候,有时候会有截图提交附件情况,如果想直接看到错误截图而不想自己下载后再看,这也是需要设置就能实现的。但是这个功能只是针对bmp, png, gif, jpg格式的图片文件而言,提交的doc等文件就不在之列了。只需将config文件中de $g_preview_attachments_inline_max_size 进行设置即可实现此功能。当将这个设置为0的情况,那么查看bug的时候是永远不会出现附件贴图的,但是如果你将这个设置为一个足够大的尺寸,那么就会在bug里直接出现图片,这个数值是以字节计算,如果图片上传为32210字节,则你把$g_preview_attachments_inline_max_size=32211,而且任何小于这个字节大小的bmp, png, gif, jpg格式的图片文件直接显示了。
配置统计报表
下载Jpgraph:http://www.jpgraph.cn/soft/jpgraph-2.3.4.rar
        注意:JPGraph 1.x 版本是针对php4,2.x 是针对php5的,请根据php的版本下载对应版本。
        下载后把它解压到mantis安装目录下的core文件夹下的jpgraph文件夹内。
在config_inc.php里添加如下语句:
        #统计报表
        $g_use_jpgraph = ON;
        $g_jpgraph_path = "D:/mantis/core/jpgraph/src/"; #设置jpgraph的路径
        $g_graph_font = 'chinese_gbk'; 
在php.ini将“;extension=php_gd2.dll”前面的分号删除,这个模块是JPGraph在显示图表和进行汉字编码转换是所必须的。
修改mantis安装目录下的core目录下的graph_api.php,搜索graph_get_font,在graph_get_font函数中添加:'chinese_gbk' => FF_SIMSUN
修改jpgraph文件夹下的src目录下的jpgraph_ttf.inc.php,将111行到118行注释掉,如果版本不同,可能行数不对应,参考如下内容:
           /*        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);
                }*/
解决CSV导出的中文显示是乱码: 
        假如到处的文件为administrator.csv,其中中文乱码解决办法:重命名administrator.csv为administrator.txt,另存时选择编码方式为ASCII改名过来,就可以了
说明
1、如果是在windows下装,要特别注意,文件路径的“/”,不能使用“\”,这在php配置文件中是注释的含义。
2、Mantis的设置是这样保存的:在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,这里对每个参数都有详细的解释,虽然是E文,不过应该都能看懂;Sample中给出的一些设置是一定需要修改的,比如MySQL数据库的连接参数,管理员的邮箱的;其他的要根据你的实际情况进行修改。


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

网友评论

登录后评论
0/500
评论
寒凝雪
+ 关注
所属团队号: seven的测试人生