当前位置: 首页 > 编程日记 > 正文

EasyPHP-2.0b1+ Mantis-1.1.0安装及技巧

转载:

EasyPHP-2.0b1+ Mantis-1.1.0安装及技巧
注:部分配置来源网络,写此文仅为以后配置提供参考

Mantis是一个轻量级的brower的bug管理系统,界面直观,简单易用,安装简单,支持多语言,多数据库。

本文介绍一下基于Windows+mysql平台的搭建步骤:

一:下载软件
   1.下载 EasyPHP:EasyPHP-2.0b1-setup.exe;地址:http://easyphp.org/  此版本集成了:apache 2.2.3,php 5.2.0,phpmyadmin 2.9.1.1 ,sqlitemanager 1.2.0,mysql 5.0.27

2.下载 Mantis:mantis-1.1.0.tar.gz;地址:http://www.mantisbt.org/

二:安装软件
     1. 安 装EasyPHP,exe文件在windows下直接安装。(D:\Program Files\EasyPHP 2.0b1)
     2.解压缩 mantis-1.1.0.tar.gz并cut到EasyPHP 目录下的www目录中,将mantis-1.1.0目录改名为Mantis(D:\Program Files\EasyPHP 2.0b1\www\mantis)

三: Mantis配置:
1. 显示中文:
在D:\Program Files\EasyPHP 2.0b1\www\mantis目录下找config_defaults_inc.php,

在该文件中找到语言设置的地方(language settings),修改这行:
   $g_default_language  = 'english';
  为:
  $g_default_language  = 'chinese_simplified';
  即可显示中文。

2.创建bugtracker数据库:
打开浏览器在地址栏输入 http://localhost/mantis/admin/install.php ,不用修改任何内容,点击Install/Upgrade Database 创建bugtracker数据库。

3.访问mantis主页:
打开浏览器,在地址栏输入 http://localhost/mantis,进入Mantis登录界面,输入用户名:administrator,密码:root 就可以看到mantis全貌了。

4.邮件设置:
        a):在D:\Program Files\EasyPHP 2.0b1\www\mantis目录下的config_defaults_inc.php中修改如下:
$g_administrator_email = [email=]'XXX@163.com';
$g_webmaster_email  = [email=]'XXX@163.com'[/email];
$g_from_email   = [email=]'XXX@163.com'[/email];
$g_return_path_email = [email=]'XXX@163.com'[/email];
$g_phpMailer_method  = 2;
$g_smtp_host   = 'smtp.163.com';
$g_smtp_username = 'XXX';
$g_smtp_password = 'XXX';

b):在D:\Program Files\EasyPHP 2.0b1\conf_files目录下的php.ini中修改如下:

[mail function]

; For Win32 only.

SMTP = mail.163.com

smtp_port = 25

; For Win32 only.

sendmail_from = XXX@163.com

这样注册帐户时,就可以收到确认邮件了。

四:技巧
1.mantis页面时间显示和服务器时间不一致问题:

在D:\Program Files\EasyPHP 2.0b1\conf_files目录下的php.ini中修改如下:

[Date]

; Defines the default timezone used by the date functions

date.timezone =PRC

2.没有邮箱创建多个用户测试功能:(不能用来测试邮件功能的)

1.进入数据库,找到用户表matis_user_table
2.把matis_user_table中的password 字段改成administrator用户的密码

3. access_level=10(查看人员)access_level=25(报告人员)access_level =40(修改人员)access_level=55(开发人员)access_level=70(管理人员)access_level=90(管理人员)
      4. 就可以用username用户名,密码root登录了


password 字段 :e10adc3949ba59abbe56e057f20f883e 密码是123456
这样就可以测试功能,忘记密码也可以在这解决了。

3.输入中文错误的解决:

问题:APPLICATION ERROR #401    数据库查询失败。

解决方法:

这是因为mysql default 的数据集是默认是latin1的瑞典语的问题。

更改数据集为gbk就可以了

命令如下:

>mysql SET character_set_client = gbk;
>mysql SET character_set_connection = gbk;
>mysql SET character_set_database = gbk;
>mysql SET character_set_results = gbk;
>mysql SET character_set_server = gbk;

>mysql SET collation_connection = gbk_bin;
>mysql SET collation_database = gbk_bin;
>mysql SET collation_server = gbk_bin;

4. IP配置,让别的计算机可以访问mantis:

若要别人能访问你,必须修改IP的设置,在EasyPHP1-8\apache\conf下打开httpd.conf,找到Listen 127.0.0.1:80,修改为Listen 0.0.0.0:80即可。

5.图形报表

使用图形报表可以让mantis更加完美。配置jpgraph
下载JpGraph Version: 2.3 http://www.aditus.nu/jpgraph/jpdownload.php
解压到$mantis\jpgraph-2.3
在$mantis\config_inc.php文件中添加
$g_use_jpgraph = ON;
$g_jpgraph_path = './jpgraph-2.3/src/';
在c:\php-5.2.5中查找extension=php_gd2.dll,将这一行前面的“;”号去掉,到这里你可能已经注意到我只在需要使用时才启用php相应的扩展模块。
重启apache。
好,现在进入mantis系统,建好项目,分类,提交bug,可以在统计报表里查看各种图形了。
pgraph的图例中文显示:
打开c:\mantis-1.1.0rc3\core\graph_api.php
查找:graph_get_font()
在其中添加一行'chinese_gbk' => FF_SIMSUN,
在c:\mantis-1.1.0rc3\config_inc.php文件中添加
$g_graph_font = 'chinese_gbk';
打开c:\mantis-1.1.0rc3\jpgraph-2.3\src\jpg-config.inc.php
查找// DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");
改为DEFINE("TTF_DIR","C:/windows/fonts/"); windows 2000下为c:/winnt/fonts/
查找 DEFINE('CHINESE_TTF_FONT','bkai00mp.ttf');
改为 DEFINE('CHINESE_TTF_FONT','simsun.ttc');
jpg-config.inc.php也可以不改,如果生成的图形中的字体想由自己定义,可以这样改。
这时,如果中文仍然是乱码,打开c:\mantis-1.1.0rc3\jpgraph-2.3\src\jpgraph_ttf.inc.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 ) {
        return $aTxt;
    }
这是因为mantis的语言文件是utf-8的,这里把它当成gb2312再转一遍显然不对。

6.CSV导出’的中文显示是乱码:

假如到处的文件为administrator.csv,其中中文乱码
解决办法:重命名administrator.csv为administrator.txt,另存时选择编码方式为ASCII
改名过来,就可以了


7.安全设置

为了让mantis能够安全的运转,必须在安装配置好后作安全设置。
1) 在Mantis目录下有一个admin目录,如果你在IE中打开这个目录下的index.php查看,你就会知道这个目录是进行Mantis Administration的,使用这个模块可以检查你的Mantis是否安装完全,对旧版本的Mantis进行升级,对Mantis的页面CSS文件进行修改;使用这个管理模块是不需要用户名和密码的,因此任何人都可以通过这个管理模块查看你的Mantis系统信息,而且由于有升级模块,在这里还可以直接对数据库进行修改;因此如果被未授权的人打开,结果会是什么样不用我多说;最好因此按照系统的建议,在配置完成后将这个admin目录删除;注意一定是删除而不是改名!改名后仍然是可以访问的!
2) 在添加一个管理员用户后,删除系统默认的administrator用户。

8.后记
1.如果自己在php程序中使用jpgraph,可能也要修改才能避免中文乱码。
2.mantis加了一个自动安装数据库的部分,让安装更简单了,其它基本一样。
3.在5.0版上的mysql能正常运行了。

转载于:https://www.cnblogs.com/willpower/archive/2008/11/26/1341650.html

相关文章:

PAT 显示格式错误

记录一: 2021/7/8 10:26 代码逻辑写错了,一个该没有空格的地方也加了空格

翡润年华-毛货展示003

www.520jade.com转载于:https://www.cnblogs.com/520jade/p/3912790.html

json学习之路

总感觉自己比别人慢好几排,不知道到底多少,但至少一排吧??? 一直很喜欢js,但刚开始编程的时候一直把js停留在"有效性验证"上,大大浪费了js.不过当时已经知道js很强大了,可…

layoutSubviews 调用情况

init初始化不会触发layoutSubviews 但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时,也会触发addSubview会触发layoutSubviews设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化滚动一个UIScrollView会触发la…

python基本数据类型之序列类型和映射类型

序列类型:字符串/元组/列表 映射类型:字典 更正::三引号也可以用来表示字符串,并且有额外用途:①搞定多行字符串 ②内用单引号和双引号 列表可以根据内容得到索引 有多个相同内容时根据第一个得到下标

关于EF中ApplyCurrentValues和ApplyOriginalValues区别

关于EF中ApplyCurrentValues和ApplyOriginalValues区别:两者都是编辑数据时使用。 // // 摘要: // 将 System.Data.Objects.ObjectStateEntry 的 System.Data.Objects.ObjectStateEntry.CurrentValues // 属性设置为与所提供对象的属性…

PHP Session中保存Object

在PHP中,使用Session保存Object时,PHP会将Object自动序列化。在读取Session变量时,准确地说是在session_start时,PHP会将Session中已序列化的Object反序列化。这时就需要Class的定义,Why?因为序列化时只是保…

kali linux网络配置

事情是这样的 今天早上想安装一个按个人信息生成密码的软件 发现无法安装 发现问题后 我首先检查了kali有没有获取到IP 然后就是没有获取IP 怎么解决问题如下: 原理进程: 1.写入dhcp服务 1.进行DNS设置 首先输入命令: gedit /etc/network/int…

流程快速开发平台,工作流引擎中间件,工作质量考核设计

为什么80%的码农都做不了架构师?>>> 工作质量考核设计关键字:CCBPM工作质量考核时效考核 需求背景:我们把在工作流程引擎中的考核分为两种模式,一种是时效考核、另外一种是质量考核。 时效考核就是对用户的操作进行时间点的记录&…

Windows 7 操作系统核心文件

【Windows\Boot】启动必须文件 【Windows\Help】帮助文件 【Windows\inf】安装硬件和软件时所需的inf文件 【Windows\System32】系统的主要组件 ActiveX文件(*.ocx)应用程序应用程序扩展(*.dll)控制面板项(*.cpl&#…

安装SQL SERVER2000提示注册表文件被挂起的解决方案

在安装SQL SERVER 2000时出现如下的提示: “以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机。” 按照提示重启计算机,再安装,仍然出现同样的提示。这是因为安装程序在先前的安装过程中在系统注册…

(C++)1046 Shortest Distance

#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std;int friendDis[100010] {0};//邻居节点间的距离 int withStDis[100010] {0};//和第一个结点的距离 --本题的题眼&#xff0c;空间换时间的典例int ma…

Lesson 59-60 Househusband

1 particular 特别的&#xff0c;挑剔的adj eg. Ted was very particular about the color he used.特德在用色上非常讲究 2 freelance 自由作家n 自由的adj 当自由职业者vi eg. Michael Cross is a freelance journalist.迈克尔克罗斯是一名自由新闻记者。 eg. She has freela…

META Header

response.setHeader 是用来设置返回页面的头 meta 信息, 使用时 response.setHeader( name, contect ); meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head>中 1、<meta name"Generator" contect"">用…

ubuntu安装deepin terminal 终端

1. 依赖库 sudo apt-get install libatk1.0-0 libc6 libcairo-gobject2 libcairo2 libfontconfig1 libfreetype6 libgdk-pixbuf2.0-0 libgee-0.8-2 libglib2.0-0 libgnutls30 libgtk-3-0 libjson-glib-1.0-0 libpango-1.0-0 libpangocairo-1.0-0 libsecret-1-0 libvte-2.91-0…

(C++)1010 一元多项式求导 --需二刷

笔记&#xff1a;学习利用数组下标表示序列之外信息的方法 #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std;int main(){int num[1010] {0}; //num[a] b 其中a是系数&#xff0c;b是指数 int coe,id…

window resize和scroll事件的基本优化

转自 http://www.kankanews.com/ICkengine/archives/6564.shtml转载于:https://www.cnblogs.com/wybie/p/3916298.html

Mob之社会化分享集成ShareSDK

接着上篇顺便分享一篇自己使用 ShareSDK 的笔记&#xff0c;上篇我们集成了 SMSSDK 完成了短信接收验证码的功能&#xff0c;请参考Mob 之 短信验证集成 SMSSDK&#xff0c;如何在项目已经集成 SMSSDK 的情况下集成 ShareSDk 到项目中&#xff0c;上一篇中我们集成 SMSSDK 使用…

今天開始學習silverlight了

今天開始學習silverlight了,雖然集團里面很多的計算機安裝的系統是winpro2000,但老大說先不管,那只有學了,請大家多幫忙,發此貼留記號 转载于:https://www.cnblogs.com/dotneter/archive/2008/12/05/1348600.html

(C++)1002 A+B for Polynomials

笔记&#xff1a;1.两个不为0的数相加可能为0 2.浮点数的比较方法 3.输出的时候格式怎么办 本题空格放在哪有门道 4.不需要三个数组&#xff0c;一个就可以了&#xff0c;第二个“数组”输入的时候直接加在第一个上面 #include<cstdio> #include<cmath> #inclu…

(转)Unity3D - 性能优化之Draw Call

Unity&#xff08;或者说基本所有图形引擎&#xff09;生成一帧画面的处理过程大致可以这样简化描述&#xff1a;引擎首先经过简单的可见性测试&#xff0c;确定摄像机可以看到的物体&#xff0c;然后把这些物体的顶点&#xff08;包括本地位置、法线、UV等&#xff09;&#x…

Drill storage plugin实现原理分析

Drill Storage Plugin介绍 Drill是一个交互式SQL查询引擎&#xff0c;官方默认支持的数据源有hive、hbase、kafka、kudu、mongo、opentsdb、jdbc等&#xff0c;其中jdbc storage plugin可以覆盖所有支持jdbc协议的数据源&#xff0c;如&#xff1a;mysql、oracle等关系型数据库…

C# 创建控制台应用程序

C#的语法总结将全部通过控制台应用程序总结。 一、文件-》新建项目 二、 三、创建后的界面。 转载于:https://www.cnblogs.com/nevernet/archive/2008/12/08/1350024.html

(C++)1009 Product of Polynomials

笔记&#xff1a;1.如果开三个数组&#xff0c;乘积数组的大小是2*10^3&#xff0c;而不是10^6&#xff08;汗颜&#xff09;&#xff0c;如果开后者那么大的数组&#xff0c;需要定义在main函数外面了(实现一) 2.注意到double数组可能是非常稀疏的&#xff0c;为了减少运算量…

lispbox 安装运行.sh的时候出现 lispbox.sh: 2: lispbox.sh: Bad substitution

安装lispbox时使用tar命令将压缩文件解压之后cd进入之后在运行.sh文件时出现了如下情况。 $ sh lispbox.sh lispbox.sh: 2: lispbox.sh: Bad substitution 提示 bad substitution 这是因为linux有不同的shell 使用sh运行错误应该使用bash运行即可。 改成bash -x lispbox.sh即可…

Python-字符串操作方法 [转]

Python-String-Function 字符串中字符大小写的变换&#xff1a; * S.lower() #小写 * S.upper() #大写 * S.swapcase() #大小写互换 * S.capitalize() #首字母大写 * String.capwords(S) #这是模块中的方法。它把S用split()函数分开&#xff0…

旅行家的预算[贪心]

题目 Problem description 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市&#xff08;假设出发时油箱是空的&#xff09;。给定两个城市之间的距离D1、汽车油箱的容量C&#xff08;以升为单位&#xff09;&#xff0e;每升汽油能行驶的距离D2、出发点每升汽油价格P和…

(C++)1028 人口普查

笔记&#xff1a;把年龄转化成一个七位的整数是创举&#xff0c;但是要想清楚&#xff0c;年龄越大&#xff0c;这个数字越小orz #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std;struct person{char n…

说说.net事件和委托。

一说到.net的事件&#xff0c;也许你会想都说教程满天飞&#xff0c;一个被说烂了的东西还有什么可以说的啊&#xff1f;是啊&#xff0c;的确有很多好文章剖析事件&#xff0c;比如张子阳先生的C# 中的委托和事件重温Observer模式--热水器改 这两篇文章让我弄懂了委托、事件和…