当前位置:文档之家› windows下搭建mantis详解

windows下搭建mantis详解

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
下载地址:https://www.doczj.com/doc/fa3847738.html,/download.cgi
运行下载的软件开始安装,开始都是next,到如下界面时:

设置系统信息
Network Domain:
在Network Domain下填入您的域名(比如:https://www.doczj.com/doc/fa3847738.html,)
Server Name:
在Server Name下填入您的服务器名称(比如:https://www.doczj.com/doc/fa3847738.html,,也就是主机名加上域名;如果自己的ip是公网ip,这里填写自己的ip,其他人即可访问自己搭建的mantis,如果有自己的域名,这里可以填写域名,别人可以通过这个域名访问自己的mantis,因为我自己电脑没有公网ip,在网上找了几个把内网动态解析的软件也没有成功,所以这个功能没有验证,需要外网访问mantis的可以验证)
Administrator's Email Address:
在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:423114976@https://www.doczj.com/doc/fa3847738.html,)
上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行(以后需要修改时可以在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
下载地址:https://www.doczj.com/doc/fa3847738.html,/downloads ... 0-Win32-VC6-x86.zip
选择适合的版本:
在网上找到一段PHP版本的说明,如下:Download the VC6 builds if you are using the standard https://www.doczj.com/doc/fa3847738.html, 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,找到如下一段:

DirectoryIndex index.html

把中间一句修改为:
DirectoryIndex index.php index.html
优先顺序可以自己排,我把index.php放在第一位了。编辑完成,保存,关闭。
6、验证是否配置成功:
在apache的安装目录下的htdocs文件夹下建一个index.php文件,代码如下:
phpinfo();
?>
在IE地址栏中输入“http://127.0.0.1”,如果看到phpinfo的界面,说明配置成功。
安装Mysql
下载地址:https://www.doczj.com/doc/fa3847738.html,/src/2006/0710/5543.html
安装:


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

安装路径可以自由选择



这里是询问你是否要注册一个https://www.doczj.com/doc/fa3847738.html,的账号,或是使用已有的账号登陆https://www.doczj.com/doc/fa3847738.html,,一般不需要了,点选“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数据库
下载地址:https://www.doczj.com/doc/fa3847738.html,/mngtools/mymanager_lite.zip
安装Mantis
下载地址:https://www.doczj.com/doc/fa3847738.html,/mantisbt/mantisbt-1.1.7.zip
我下载的是当时的最新稳定版本1.1.7。
安装:
把Mantis的压缩包解压到自己指定的目录,我的路径是D:\mantis。
配置Apache
在Apache的配置文件中设置mantis的目录为虚拟目录。修改httpd.conf,在文件末尾添加以下文字,以配置mantis目录的访问权限:
Alias /mantis "d:/mantis/"

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all

注意:这里特别注意,必须写成反斜杠/,不能写成斜杠\,否则会无法正确显示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添加发送邮件的功能。
下载地址:https://www.doczj.com/doc/fa3847738.html,/ ... 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 = 'https://www.doczj.com/doc/fa3847738.html,';//发送邮件服务器
$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@https://www.doczj.com/doc/fa3847738.html,';//这个是管理员自己的邮件地址,接受对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:https://www.doczj.com/doc/fa3847738.html,/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数据库的连接参数,管理员的邮箱的;其他的要根据你的实际情况进行修改。



Warning: date() [function.date]: It is not safe to rely on the system's timezone settings.
/*******************
Title:Warning: date() [function.date]: It is not safe to rely on the system's timezone settings.
Author:insun
From:https://www.doczj.com/doc/fa3847738.html,/blog/static/1121579562011722237417/
Blog:https://www.doczj.com/doc/fa3847738.html,
Reference:
https://www.doczj.com/doc/fa3847738.html,/support/topic/php-530-amp-wp-28-it-is-not-safe-to-rely-on-the-systems-timezone
https://www.doczj.com/doc/fa3847738.html,/61894739/blog/item/25f90f58ce8f768b800a18d2.html
****************/

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings.

You are *required* to use the date.timezone setting or the date_default_timezone_set()

function. In case you used any of those methods and you are still getting this warning, you

most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in

C:\Program Files

\Apache Software Foundation\Apache2.2

\htdocs\yii\framework\views\exception.php on line 217

解决方法:
方法1.在适当位置加入(一般推荐在最前面)一句:


协调世界时(UTC):
一种称为协调世界时的折衷时标于1972年面世。为了确保协调世界时与世界时(UT1)相差不会超过0.9秒,有需要时便会在协调世界时内加上正或负闰 秒。因此协调世界时与国际原子时(TAI)之间会出现若干整数秒的差别。位于巴黎的国际地球自转事务中央局(IERS)负责决定何时加入闰秒。
UTC = Coordinated Universal Time. 中文名称为协调世界时.

GMT = Greenwich Mean Time. 中文名称为格林尼治(平)时(这里的"w"是不发音的,而且"Green"要读成"Gren")

UTC = GMT +/- 0.9 s

因此 UTC 间中需要进行 "闰秒" 以控制两者相差。
方法2.在php.ini里面找到
[Date]
; Defines the default timezone used by the date functions
; https://www.doczj.com/doc/fa3847738.html,/date.timezone
;date.timezone =
(如此一来,按照默认的时间便为GMT【格林威治标准时】时间)
改成
[Date]
; Defines the default timezone used by the date functions
; https://www.doczj.com/doc/fa3847738.html,/date.timezone
date.timezone ="Asia/Shanghai"

然后重新启动apache,Ok

大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi(依次为重庆,上海,乌鲁木齐),港台地区可用:Asia/Maca* ,Asia/Hong_Kong ,Asia/Taipei(依次为澳门,香港,台北),还有新加坡:Asia/Singapore,以上没有北京,不过接着往下看,其他可用的值 是:Etc/GMT-8,Singapore ,Hongkong,PRC(中华人民共和国,算北京时间吧)。

相关主题
文本预览
相关文档 最新文档