首页 > 系统相关 >Windows下Bug管理系统MantisBT的部署

Windows下Bug管理系统MantisBT的部署

时间:2024-09-02 17:47:12浏览次数:5  
标签:PHP extension Windows dll MantisBT ldap php Bug

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

1 文件下载

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

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

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

参考:

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

标签:PHP,extension,Windows,dll,MantisBT,ldap,php,Bug
From: https://www.cnblogs.com/keitsi/p/18389110

相关文章

  • Scoop windows下的包管理器
    Scoop安装环境需求PowerShell5+.NETFramework4.5+安装指定安装位置(配置环境变量)以管理员身份打开PowerShell$env:SCOOP='D:\Applications\Scoop'[Environment]::SetEnvironmentVariable('SCOOP',$env:SCOOP,'User')$env:SCOOP_GLOBAL='F:\Glo......
  • Windows server 2012 R2配置NTP Server
    将服务器类型更改成NTP:注册表中找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters下Type值改成"NTP";将注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config下AnnounceFlag项值改成"5";启用NTPServer:将注册表中HKEY_LOCAL......
  • Node-red 安装 Windows版
    Node-RED是一个物联网编程工具,它以新颖和有趣的方式,将硬件设备、应用接口和在线服务连接到一起。它不仅提供了一个基于浏览器的编程环境和丰富的节点类型,使流程的创建变得非常容易,而且还为流程的运行提供了运行环境,实现了一键部署的能力。 实现Node-RED构建在Node.js之......
  • Windows批处理中的变量和值
    通过前面对批处理的介绍,我们已经准备好了开始编码,今天我们将讨论变量、值和批处理的set命令,该命令将一个值赋值给一个变量。如果您用过其他计算机语言做过开发,这些可能显得微不足道,但是批处理有一些独特的特性需要我们去注意。通过本文,您将学习如何在控制台中显示变量的值,以确认......
  • goland idea中debug程序报错-debugger could not patch runtime.mallogc
    idea中debugGo程序报错errorlayer=debuggercouldnotpatchruntime.mallogc一、问题场景在idea中配置了Go编程环境,可以运行Go程序,但是无法debug,报错errorlayer=debuggercouldnotpatchruntime.mallogc:notypeentryfound,use‘types’foralistofvalidtypes......
  • 查看Windows下引起Oracle CPU占用率高的神器-qslice
    前言:qslice是一个win2000的工具包,能分析进程的cpu占用率,我们用于分析oracle的性能 这是绿色的软件无需安装。 我们经常会碰到oracle的CPU占用居高不下,无法快速定位到问题SQL,就需要这个神器:qslice。分析过程:1、进入qslice,打开oracle进程,双击进入 2、最大化弹出的窗口,发......
  • Windows 7 安装 N卡驱动,出现错误代码 52
    NVIDIA最新的win7的驱动安装时,都会出现代码52错误。安装时,会出现不合法的驱动签名错误。安装后,驱动显示Code52错误。解决方案:1、Windows7安装KB4474419更新,KB4490628更新。KB4474419 http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/......
  • Windows 远程桌面指南
    概述Windows远程桌面(也称为RDP)允许你从一台计算机远程连接到另一台运行Windows操作系统的计算机。开启远程桌面在“设置”中前往“系统>远程桌面”,将“远程桌面”设置为“开”。确保Windows正确存储微软账号的密码绝大多数情况下,我们将使用微软账号及其密码来登录“远程......
  • windows的nohup后台运行
    在Linux系统中,可以通过nohup命令运行python程序,实现后台运行。windows操作系统也可以实现类似功能。1.适用操作系统本文主要使用win10,其他版本windows可以尝试,如果不行,请另行他法。假设test.py如下程序:importossource_path=r'D:\zjc\Daily_Batch\fastapitest\test......
  • nginx-部署windows服务(亲测有效)
    WindowsServiceWrapper(简称winsw)下载winswhttps://repo.jenkins-ci.org/artifactory/releases/com/sun/winsw/winsw/进入链接页面选择对应的版本下载后缀名为net4.exe的文件重命名文件将winsw-2.9.0-net4.exe重命名为nginx-service.exe,并放置到nginx根目录中......