MantisBT软件安装部署过程

简介

    Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上、实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。

部署环境

Mantis安装部署环境如下:

名称 版本号 描述
Mantisbt 2.16.0 BugTracing 软件
操作系统 CentOS 7 RedHat 社区发行版
PHP 7.2.8 PHP 环境

部署过程

软件安装

安装PHP

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# yum -y install libicu libicu-devel libicu-doc
# yum -y install php70w php70w-gd php70w-xml php70w-mysql php70w-mbstring php70w-ldap php70w-xmlrpc php70w-odbc php70w-pear php70w-soap php70w-snmp

安装PHPMailer

https://github.com/Synchro/PHPMailer/releases/tag/v5.2.13

下载解压到/var/www/html/mantis/PHPMailer-5.2.13/

安装apache mysql等必要软件

MySQL的Server在CentOS 7上从默认软件列表中被移除了,用MariaDB来代替,所以这导致我们必须要去官网上进行下载,找到链接,用wget打开,然后再安装:

# wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
# yum -y install mysql mysql-server mysql-devel

启动MySQL服务

# systemctl start mysqld

获取安装MySQL时的初始密码并登录MySQL

# grep 'temporary password' /var/log/mysqld.log
# mysql -u root -p

登录成功后修改密码,首先修改安全策略为0,然后将密码长度限制修改为1,最后修改密码

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> set password for root@localhost=password('root');

安装apache httpd

# yum -y install httpd
# systemctl enable httpd   //自启动
# systemctl start httpd    //启动

安装mantis

下载

# cd /var/www/html
# wget https://jaist.dl.sourceforge.net/project/mantisbt/mantis-stable/2.18.0/mantisbt-2.18.0.zip

解压重命名

# tar zxvf mantisbt-2.16.0.tar.gz
# mv mantisbt-2.16.0 mantis
# mv mantis /var/www/html/

修改用户组

# chown -R apache:apache /var/www/html/mantis

创建数据库

[root@centos-7 html]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.23 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database mantis;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on mantis.* to root@localhost identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on mantis.* to root@localhost identified by '123456';
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[root@centos-7 html]#

安装

打开浏览器在地址栏输入 http://10.211.55.17:82/mantis – 格式为 http://IP:端口/mantis文件夹名称,这时就会自动跳转到php安装向导的页面:

    填好主机、密码等信息之后点击 Install/Upgrade Database 安装数据库。

登录

进入Mantis登录界面,输入用户密码:administrator/root ,登陆即可看到mantis主界面。

邮件配置

修改MantisBT/config/config_inc.php文件

$g_enable_email_notification = ON;
$g_administrator_email = 'mailuser';    # 邮箱地址
$g_webmaster_email = 'mailuser';        # 邮箱地址
$g_from_email = 'mailuser';             # 邮箱地址
$g_from_name = 'Mantis Bug Tracker';
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_host = 'smtp.163.com';          # SMTP 服务器
$g_smtp_username = 'mailuser';          # 邮箱地址
$g_smtp_password = 'mailpwd';           # 邮箱密码
$g_use_phpMailer = ON; 
$g_return_path_email = 'mailuser';      # 邮箱地址

中文配置

修改/var/www/html/mantis/config_defaults_inc.php文件,在该文件中找到语言设置的地方,修改$g_default_language,将’english’改为’chinese_simplified’。懒得找的话直接复制下面的命令也可以。

# sed -i -e "s/$g_default_language = 'auto'/$g_default_language = 'chinese_simplified'/g" /var/www/html/mantis/config_defaults_inc.php

问题解决

问题描述:配置完成后,无法发送邮件。

解决方法:
邮箱配置问题,添加本地邮箱服务器,设置本地邮箱,对于本地测试邮箱,设置$g_smtp_host=本地IP地址。

实例运行

  • 为了便于理解,先给出BUG跟踪流程图:

  • Mantis使用流程图:

  • 新用户创建与登录

目前本系统的访问地址为:http://IP:port/mantis/login_page.php,用户可以通过首页显示的"注册一个新帐号"进行新用户注册。

然后点击邮箱内的激活邮件,进行用户名与密码的设置。也可以通过管理员创建新用户

管理员可以对用户的角色、所属的项目以及一些其他的情况进行对应的配置。

各种具体的配置以及各种角色用户的权限可参见管理员的管理视图。

操作流程
首先,说明一下系统中的角色和一般所对应的人员:观察者(复查员)、报告者(测试员)、升级者(审核员)、开发人员(开发员)、经理(项目经理)、管理员(系统管理员)。还要简单说明一下问题状态及相关含义(以上的两点只是中文理解和中文翻译的问题,可以在mantisbt-2.15.0/lang/strings_chinese_simplified.txt中修改):

  • 新建:新提交的报告,默认状态为新建
  • 反馈:修正的问题经过测试后仍不完善
  • 认可:报告的问题确实存在
  • 已确认:通常为项目经理确认时使用
  • 已分配:分派给具体开发人员
  • 已解决:修改后的问题,可以进行测试
  • 已关闭:测试通过的问题,或者在报告周期内判定为无需修改的问题。

下面介绍一下简单的操作流程,这里以管理员和报告者作为示例,这里为了方便示例,示例中管理员包含了其他角色属性。观察者、升级者以及经理可以根据具体情况进行添加。

  • 提交问题

权限:全部角色
必填信息:分类、摘要、描述、查看权限
选填信息:出现频率、严重性、优先级、选择平台设置、重现步骤、辅助、标签、上传文件。
问题单状态:新建

  • 审核问题

权限:审核员、项目经理、(开发员)
可进行操作:添加附件、添加注释
问题单状态:新建 -> 已审核(认可),审核员对问题进行审核,并确认此问题;新建 -> 已关闭,审核员认为报告的问题不存在或无需修改。

  • 确认问题

权限:项目经理
问题单状态:认可 -> 已确认,项目经理确认问题,确认后进入修改流程;认可 -> 反馈,项目经理对问题存在异议,反馈给审核者。

  • 分派问题

权限:项目经理、开发员
问题单状态:已确认 -> 已分派,项目经理分派问题给相应的开发人员;已分派 -> 已分派,开发组长也可以给组员分派问题。

  • 修复问题

权限:开发员
问题单状态:已分派 -> 已解决,分派给开发员的问题已修复及内部测试,可以提交业务测试时。

  • 测试问题

权限:报告者
问题单状态:已解决 -> 已关闭,报告者对已解决的问题测试且测试通过;已解决 -> 反馈,报告者对已解决的问题测试,而测试未通过,开发员可对反馈的问题继续修复,再进入后续环节。

到此,整个流程结束。
说明:整个流程中,问题处于不同的状态,标记的颜色不同。