Windows下Bug管理系统MantisBT的部署

news/2024/11/14 18:07:45/文章来源:https://www.cnblogs.com/keitsi/p/18389110

因工作需要,最近在研究开源的bug管理系统,其中比较流行的是Redmine和MantisBT。Redmine我们在几年前有使用过,一开始感觉整个流程和UI很简洁,而且还可以支持一定的定制化,感觉不错。但随着使用的用户和项目多起来就不太好管理,给人的感觉很凌乱。所以就搭建了一个MantisBT来评估,这篇文件记录了我在Windows下安装配置PHP和MantisBT的过程。

1 文件下载

注意一下版本的匹配,以下版本在我这里是经过测试时兼容的。

  • 下载最新版本的MantisBT 2.26.3
  • 下载Windows版本的PHP 8.3

请下载Non Thread Safe版本:
img

2 环境安装和配置

2.1 MySQL

本文使用的数据库MySQL 8.0,这里假设你已经安装并已经配置好了数据库。其他数据请另行安装测试。

2.2 PHP安装配置

  • VC++运行库

PHP运行依赖Microsoft Visual C++ Redistributable for Visual Studio,请检查并下载安装对应版本的vc++。

  • PHP安装

解压PHP包到电脑的某个目录下如:D:\Program Files\php-8.3.11。把该目录添加到系统环境变量PATH中。

  • PHP配置
  1. PHP目录里面的php.ini-production.ini重命名为php.ini
  2. post_max_sizeupload_max_filesize设置为20M,不然默认只能上传2M的附件。
  3. 修改php.ini文件,把extension_dir设置为PHP的ext目录,如:extension_dir = "D:\Program Files\php-8.3.11\ext"
  4. 设置时区为Asia/Shanghai,如:date.timezone = Asia/Shanghai
  5. 启用必须的扩展。
extension = php_curl.dll
extension = php_fileinfo.dll
extension = php_gd2.dll
extension = php_gmp.dll
extension = php_ldap.dll
extension = php_mbstring.dll
extension = php_exif.dll
extension = php_mysql.dll
extension = php_mysqli.dll
extension = php_openssl.dll
extension = php_soap.dll
extension = php_sockets.dll
extension = php_tidy.dll
extension = php_xmlrpc.dll
extension = php_xsl.dll
  1. CGI配置。
fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo = 1
cgi.force_redirect = 0

完整php.ini文件如下:

; ext dir
extension_dir = "D:\Program Files\php-8.3.11\ext"
; time zone
date.timezone = Asia/Shanghai
; enable extensions
extension = php_curl.dll
extension = php_fileinfo.dll
extension = php_gd2.dll
extension = php_gmp.dll
extension = php_ldap.dll
extension = php_mbstring.dll
extension = php_exif.dll
extension = php_mysql.dll
extension = php_mysqli.dll
extension = php_openssl.dll
extension = php_soap.dll
extension = php_sockets.dll
extension = php_tidy.dll
extension = php_xmlrpc.dll
extension = php_xsl.dll
; cgi config
fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
  • IIS安装
    需要打开CGI功能才能在IIS上启用PHP。

Control Panel -> Programs -> Turn Windows features on or off -> Internet Information Services -> World Wide Web Services -> Application Development Features

img

3 MantisBT安装和配置

3.2 IIS配置

  • 创建应用池

Application Pools -> Create Application Pool

因为PHP是非托管的,所以.NET CLR Version选择“No Managed Code”。

img

  • 添加网站

Sites -> Add Website

设置Pysical path为C:\inetpub\wwwroot\mantisbt,如果端口有冲突就换一个。

img

  • 设置应用池

点击刚刚创建的网站 -> Actions(右边面板) -> Basic Settings -> Application Pool -> 选择你前面创建的应用池。

img

  • 设置默认文档

点击刚刚创建的网站 -> Default Document(中间面板)-> Add -> index.php

img

  • 设置PHP文件处理映射

点击刚刚创建的网站 -> Handler Mappings(中间面板) -> Add Module Mapping -> 填入如下信息:

img

3.3 MantisBT配置

把MantisBT解压到C:\inetpub\wwwroot\mantisbt目录下。到这里如果没有意外的话,MantisBT应该已经安装好了。接下来开始MantisBT的配置。

点击刚刚创建的网站 -> Browse Website(右边面板) -> Browse *:80 (http)

如果打开网页显示404或其他权限类的错误,请检查一下MantisBT的安装目录的权限。

点击刚刚创建的网站 -> Actions(右边面板) -> Edit Permissions -> 给用户IUSR和用户组IIS_IUSRS添加读写权限。

如果确认权限没有问题,但还有报错请的话,请检查是否前面步骤有遗漏。如果能正常打开MantisBT安装配置页面,则根据提示配置数据连接信息、时区和URL的绑定,请注意这里的URL最好和IIS绑定的URL一致。

填好信息后点击Install/Upgrade Database按钮,如果看到的都是绿色的Good,则说明配置成功。滚动到底部,点击Continue按钮,进入登录页面。默认管理账户是administrator,密码是root,登录成功后根据要求修改密码。

  • 开启匿名访问

用管理员账户创建一个名字叫anonymous的用户,打开Protected,并给该用户分配Viewer权限。

打开配置文件config_inc.php,添加以下配置:

$g_allow_anonymous_login = ON;
$g_anonymous_account = 'anonymous';
$g_allow_blank_email = ON;

开启匿名访问后,不需要登录也可以匿名查看公开的Issue。对于公司内部或开源的项目是很方便的。

  • 设置最大附件大小
    打开配置文件config_inc.php,添加以下配置:
$g_max_file_size = 20971520;

把允许最大上传附件大小改为20M。

  • 自定义严重程度
    打开配置文件config_inc.php,添加以下配置:
$g_severity_enum_string = '10:feature,50:minor,60:major,70:crash,80:block';
#这个是默认的:
#$g_severity_enum_string = '10:feature,20:trivial,30:text,40:tweak,50:minor,60:major,70:crash,80:block';

默认的严重程度的选项很多,而且部分词并不常见,所以这里对严重程度做了优化,只保留了常用的几个。

  • LDAP配置
    打开配置文件config_inc.php,添加以下配置:
$g_login_method           = LDAP;
$g_ldap_server            = 'ldap://xxx.com:389';
$g_ldap_port              = '389';
$g_ldap_root_dn           = 'dc=xxx'; #你ldap的根DN
$g_ldap_bind_dn           = 'xxx'; #你ldap的绑定账号
$g_ldap_bind_passwd       = 'xxx'; #你ldap的绑定密码
$g_ldap_uid_field         = 'uid'; #你ldap的uid属性
$g_ldap_realname_field    = 'displayName'; #ldap可用的显示名子属性
$g_ldap_use_starttls      = OFF; #是否使用TLS
$g_use_ldap_email         = ON; #是否使用ldap的email
$g_use_ldap_realname      = ON; #是否使用ldap的realname

配置很简单,按要求逐个填入即可,更多的配置请参考官方文档。启用LDAP登录后,如果有LDAP的用户成功登录MantisBT会自动根据LDAP的信息注册该用户。另外,因为启用了LDAP原有的administrator就会自动失效,需要先用LDAP的账户登录,再手动把数据中的mantis_user_table的对于的用户的access_level字段设置为90,把该用户设置为管理员。

  • 配置邮件服务
    打开配置文件config_inc.php,添加以下配置:
$g_webmaster_email        = 'administrator@example.com'; #显示在每个页面的底部
$g_from_email             = 'noreply@example.com'; #发送邮件的地址
$g_return_path_email      = 'administrator@example.com'; #用于接收退回电子邮件的电子邮件地址。
$g_phpMailer_method       = PHPMAILER_METHOD_SMTP; #使用SMTP方法发送邮件
$g_smtp_host              = 'localhost'; #SMTP服务器地址
$g_smtp_username          = 'xxx@example.com'; #发邮件账户
$g_smtp_password          = 'xxx'; #账户密码
$g_smtp_connection_mode   = ''; #加密模式,ssl,tls
$g_smtp_port              = 25;  #SMTP端口
  • 显示名字而不是用户名
    打开配置文件config_inc.php,添加以下配置:
$g_show_realname = ON;

配置完成后,重启IIS,到这里MantisBT已经配置好了。

参考:

  • MantisBT官方的安装文档
  • Windows PHP和IIS安装配置

转载请注明出处:https://www.cnblogs.com/keitsi/p/18389110

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/791129.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学习】【AI+安全】基于AI的业务逻辑漏洞安全架构研究

摘 要引 言 一、业务逻辑漏洞的挑战二、AI技术与业务逻辑漏洞检测2.1 自然语言分析2.2 模式识别与异常检测三、架构设计3.1 架构模块设计3.2 架构模型设计3.2.1 基础场景分析模型3.2.2 一致性分析模型3.2.3 异常分析模型3.3 架构流程设计3.3.1 数据收集流程3.3.2 漏洞分析…

C#调用第三方软件及交互

C#调用第三方软件及交互 最近有一个功能pdf转epub,网上找到一个解决方案pdf2epubEX,Windows环境只能以docker方式安装,手动执行docker命令是可以的,如下图:由于pdf数量过多,全部手动转肯定不行,想通过C#调用docker命令,但是这种方法会报错"the input device is not…

Winform点击按钮Panle切换页面的实现

一、项目结构 二、主界面 Main.cs Panel Name: panel1 三、代码实现namespace 测试窗口切换 {public partial class Main : Form{// 先定义对应的私有字段private CmmPage _cmmPage;private TwoPage _twoPage;public Main(){InitializeComponent();}// 在主界面点击Load事件创建…

在Windows/Linus中安装Protobuf(转)

原文:https://blog.csdn.net/weixin_74531333/article/details/140469169 一、ProtoBuf 在 Window 下的安装 1、下载 ProtoBuf 编译器 下载地址:github.com 具体的下载根据自己电脑情况选择。 下载之后将压缩包解压到本地目录下。解压后的文件内包含 bin、include 文件,以及…

信息学奥赛初赛天天练-82-NOIP2014普及组-完善程序-机器语言、汇编语言、高级语言、计算机存储、二进制加法、IP地址、整数除法

1 NOIP 2014 普及组 基础题1 1 以下哪个是面向对象的高级语言( ) A 汇编语言 B C++ C Fortran D Basic 2 TB 代表的字节数是( ) A 2 的10 次方 B 2 的20 次方 C 2 的30 次方 D 2 的40 次方 3 二进制数 00100100 和 00010101 的和是( ) A 00101000 B 001…

线性整数规划建模精解

线性整数规划(Linear Integer Programming)是一种优化问题,它的目标是在满足一系列线性约束条件的情况下,最大化或最小化一个线性目标函数。整数规划(Integer Programming)是一类特殊的线性规划问题,其中某些或所有的决策变量必须取整数值。这种限制使得整数规划在某些情…

奥鹏教师教育网刷课脚本-JavaScript编写

脚本 学习网站:奥鹏教师教育网: http://www.ourteacher.com.cn/ 脚本地址:奥鹏教师教育网-刷课脚本 教程 1.插件安装(以Microsoft Edge浏览器为例)打开最中间那个蓝色绿色的浏览器,谷歌之类的浏览器也可以点击屏幕右上角三个点,图示位置,然后点击扩展点击获取扩展搜索Ta…

【Kafka】binlog kafka并行消费提升小窍门

线上库存Process实例配置详情: 背景:1.业务是通过监听 上游mysql binlog完成的 2.binlog是通过 DDH kafka下发的 3.consumer消费 已经做到了 7ms的单条消息消费性能优化 4.怎样还能再提醒 消费方的消费速率呢? 5.当先consumer实例 蓝绿组共12个实例 2C2G (CPU2核,内存…

oracle 查看表空间

SELECT segment_name,segment_type,sum(bytes) / 1024 / 1024/ 1024 "GB"FROM dba_extentsWHERE segment_name = FABCAPABILITYBANKGROUP BY segment_name, segment_type;

antd-Vue 3.X版本 a-Checkbox 未回显的问题

1.3.X版本要求得value值的而类型为[string],如果是number则不会显示、 <a-form-item label=人员 name="person"><a-checkbox-group v-model:value="person":option="personList" /> </a-form-item>

Kettle 发送Http请求获取数据,并保存到db

布局图 Generate rows:设置请求参数 配置第一个接口(登录) - POST 往请求head中插入数据从响应的head中读取数据 对获取的数据进行处理 配置第二个接口(获取数据) - GET 从响应的结果中,反序列化数据 保存到DBReference: Kettle 连接 Oracle 使用手册 及 问题解决方案…

山财培训网刷课脚本-JavaScript编写

脚本 学习网站:山财培训网首页-会计培训专家: http://training.sdufe.edu.cn/ 脚本地址:山财培训网-刷课脚本 教程 1.插件安装(以Microsoft Edge浏览器为例)打开最中间那个蓝色绿色的浏览器,谷歌之类的浏览器也可以点击屏幕右上角三个点,图示位置,然后点击扩展点击获取扩…