ubuntu安装配置mantis
目录
- 前言
- 安装Apache2
- 安装PHP
- 安装数据库mariadb
- mariadb安装
- MariaDB重置密码
- 为MantisBT创建数据库和用户
- phpmyadmin安装和配置
- 安装phpmyadmin
- 查看安装内容
- 配置phpmyadmin
- 1.phpmyadmin apache配置文件
- 2.为phpmyadmin创建数据库和用户
- 3.修改配置文件config-db.php
- 4.重新运行
- 管理phpmyadmin
- 1.登录phpmyadmin
- 2.phpmyadmin用户权限设置
- 3.解决问题
- mantis安装
- 准备文件
- 配置apache服务器
- 检查是否安装成功
- mantis配置
- 初始化配置
- 设置Mantis为中文
- 打开用户创建密码框
- Mantis去掉登录界面的“注册一个新账号”链接
- mantis更改用户密码
- mariadb数据库路径和日志路径修改
- 默认信息
- 修改数据库存储路径
- 修改Mariadb日志文件路径
- 旧信息删除
- 主要事项
- 1.密码不安全,请使用普通密码
- 参考资料
前言
根据网上资料整理,经过验证测试完全正常工作,mantis出现的一些警告和问题也进行了解决.
没有配置邮箱,不能发送邮件通知.
安装Apache2
sudo apt -y install apache2
安装PHP
sudo apt install wget php php-cli php-fpm php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
安装数据库mariadb
mariadb安装
sudo apt update
sudo apt install mariadb-server mariadb-client
#安装完成后,MariaDB服务将自动启动。你可以使用以下命令检查服务状态
sudo systemctl status mariadb
#如果服务未启动,可以使用以下命令手动启动它:
sudo systemctl start mariadb
#现在,你已经成功安装了MariaDB服务器和客户端。你可以使用以下命令登录到MariaDB控制台:
#默认密码为空
sudo mysql -u root -p
MariaDB重置密码
#登录到控制台
sudo mysql -u root -p
#进入MariaDB控制台后,使用以下命令设置root用户的密码(将 new_password 替换为你想要设置的新密码):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
#如果你想允许root用户从远程主机访问MariaDB,请使用以下命令(可选)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'new_password' WITH GRANT OPTION; FLUSH PRIVILEGES;
为MantisBT创建数据库和用户
mysql -u root -p
CREATE USER 'mantisbt'@'localhost' IDENTIFIED BY 'StrongPassword';CREATE DATABASE mantisbt;GRANT ALL PRIVILEGES ON mantisbt.* TO 'mantisbt'@'localhost';FLUSH PRIVILEGES;QUIT
运行mysql -u mantisbt -p
命令看能否登录数据库
SHOW DATABASES;
如下显示OK
+--------------------+
| Database |
+--------------------+
| information_schema |
| mantisbt |
+--------------------+
2 rows in set (0.000 sec)
phpmyadmin安装和配置
安装phpmyadmin
#1.安装
sudo apt install phpmyadmin php-json -y
#2.选择web服务器[*] apache2
#3.选择no
The phpmyadmin package must have a database installed and configured before it can be used. This can be optionally handled with dbconfig-common.
If you are an advanced database administrator and know that you want to perform this configuration manually, or if your database has already been installed and configured, you should refuse this option. Details on what needs to be done should most likely be provided in /usr/share/doc/phpmyadmin.
Otherwise, you should probably choose this option.
Configure database for phpmyadmin with dbconfig-common?
查看安装内容
sudo dpkg -L phpmyadmin
配置phpmyadmin
1.phpmyadmin apache配置文件
可以不用修改,sudo vim /etc/apache2/conf-available/phpmyadmin.conf
,默认内容如下:
# phpMyAdmin default Apache configurationAlias /phpmyadmin /usr/share/phpmyadmin<Directory /usr/share/phpmyadmin>Options SymLinksIfOwnerMatchDirectoryIndex index.php# limit libapache2-mod-php to files and directories necessary by pma<IfModule mod_php7.c>php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmpphp_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/:/usr/share/php/PhpMyAdmin/:/usr/share/php/Symfony/:/usr/share/php/Twig/:/usr/share/php/Twig-Extensions/:/usr/share/php/ReCaptcha/:/usr/share/php/Psr/Container/:/usr/share/php/Psr/Cache/:/usr/share/php/Psr/Log/:/usr/share/php/Psr/SimpleCache/</IfModule></Directory># Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>Require all denied
</Directory>
2.为phpmyadmin创建数据库和用户
sudo mysql -u root -p
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'phpmyadminpassword';
CREATE DATABASE phpmyadmin;
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost';
FLUSH PRIVILEGES;
EXIT
3.修改配置文件config-db.php
编辑sudo vim /etc/phpmyadmin/config-db.php
<?php
##
## database access settings in php format
## automatically generated from /etc/dbconfig-common/phpmyadmin.conf
## by /usr/sbin/dbconfig-generate-include
##
## by default this file is managed via ucf, so you shouldn't have to
## worry about manual changes being silently discarded. *however*,
## you'll probably also want to edit the configuration file mentioned
## above too.
##
$dbuser='phpmyadmin';
#$dbpass修改成数据库中的密码
$dbpass='phpmyadminpassword';
$basepath='';
$dbname='phpmyadmin';
$dbserver='localhost';
$dbport='3306';
$dbtype='mysql';
4.重新运行
sudo a2enconf phpmyadmin
sudo phpenmod mbstring
sudo systemctl restart apache2
管理phpmyadmin
1.登录phpmyadmin
http://106.15.109.116/phpmyadmin
#使用root用户登录
2.phpmyadmin用户权限设置
User accounts -> Global privileges
- Check all
3.解决问题
在首页会显示警告:
The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. Find out why.
Or alternately go to 'Operations' tab of any database to set it up there.
点击Find out,建立数据表即可.
mantis安装
准备文件
sudo mv mantisbt-2.25.7/ /data/websrv/mantisbt
sudo chown -R www-data:www-data /data/websrv/mantisbt
配置apache服务器
1.编辑文件sudo vim /etc/apache2/sites-available/mantisbt.conf
,内容如下:
<VirtualHost *:80>ServerAdmin webmaster@localhostDocumentRoot /var/www/html/mantisbt/ServerName example.comServerPath "/mantisbt/"<Directory /var/www/html/mantisbt/>Options +FollowSymLinksAllowOverride All</Directory>ErrorLog /var/log/apache2/mantisbt.error.logCustomLog /var/log/apache2/mantisbt.access.log common</VirtualHost>
2.检查syntax错误:
apachectl -t
#Syntax OK
3.使能该网站
sudo a2enconf mantisbt
sudo systemctl restart apache2
检查是否安装成功
访问http://192.168.1.112/mantisbt/
,如果出现mantis页面说明安装成功.
mantis配置
初始化配置
1.Installation Options
项目 | 值 | 说明 |
---|---|---|
Type of Database | MySQL Improved | |
Hostname (for Database Server) | localhost | 为MantisBT创建数据库和用户 |
Username (for Database) | mantisbt | 为MantisBT创建数据库和用户 |
Password (for Database) | mantisbtpassword | 为MantisBT创建数据库和用户 |
Database name (for Database) | mantisbt | 为MantisBT创建数据库和用户 |
Admin Username (to create Database if required) | root | |
Admin Password (to create Database if required) | rootpassword | |
Default Time Zone | Shanghai |
- 安装数据库
点击"install/upgrade database"
产生管理员账号:administrator/root
MantisBT was installed successfully. Continue to log in.
设置Mantis为中文
//在config_inc.php中增加如下一行
$g_default_language='chinese_simplified'; //默认语言设为中文
打开用户创建密码框
编辑文件config_defaults_inc.php
/*** If ON, users will be sent their password when their account is created* or password reset (this requires mail settings to be correctly configured).* If OFF, then the Administrator will have to provide a password when* creating new accounts, and the password will be set to blank when reset.* @global integer $g_send_reset_password*/
$g_send_reset_password = OFF;
Mantis去掉登录界面的“注册一个新账号”链接
//login_page.php
//注释掉如下内容
/*
$t_show_signup =( auth_signup_enabled() ) &&( LDAP != config_get_global( 'login_method' ) ) &&( ON == config_get( 'enable_email_notification' ) );
*/
mantis更改用户密码
从MantisBT版本开始,创建用户后,必须由用户通过确认邮件进行修改密码,而管理员无权对用户的密码进行修改。这对于配置mail不成功的情况下很不方便。以下配置就可以让管理员轻松管理用户的密码。
解决方式就是考虑修改Mantisbt PHP程序,增加一个密码修改框,这样管理员就可以直接修改用户密码了。
//manage_user_edit_page.php <!-- Email --><tr><?phpif( $t_ldap && ON == config_get_global( 'use_ldap_email' ) ) {# With LDAPecho '<td class="category">' . lang_get( 'email_label' ) . '</td>';echo '<td>' . string_display_line( user_get_email( $t_user_id ) ) . '</td>';} else {# Without LDAPecho '<td class="category">' . lang_get( 'email_label' ) . '</td>';echo '<td>';print_email_input( 'email', $t_user['email'] );echo '</td>';} ?></tr>
/*新增内容*/ <!-- Password --><tr <?php echo helper_alternate_class( 1 ) ?>><td class="category" width="30%"><?php echo "Password (change only)" ?>:</td><td width="70%"><input type="text" size="16" maxlength="100" name="password" value="" /></td></tr>
//manage_user_update.php
$f_user_id = gpc_get_int( 'user_id' );
//新增内容
$f_pass = gpc_get_string('password'); $t_result = db_query( $t_query, $t_query_params );
//新增内容
if ($f_pass) user_set_password($f_user_id, $f_pass);
参考
mariadb数据库路径和日志路径修改
默认信息
数据库文件默认路径:/var/lib/mysql
数据库日志默认路径:/var/log/mysql(我所使用的默认是注释掉,未开启,需要自己手动删除注释才可以使用)
数据库配置文件路径:/etc/mysql/mariadb.conf.d/50-server.cnf(文件一般都在/etc/mysql/****.conf.d 下面,根据自己的实际情况查看)
修改数据库存储路径
#1.停用mariadb服务
sudo systemctl stop mariadb#2.拷贝原始数据库数据到要修改的路径
sudo cp -ravf /var/lib/mysql /data/mysql
#或者
sudo rsync -avzh /var/lib/mysql /data/mysql#3.设置apparmor
sudo vim /etc/apparmor.d/tunables/alias
#在文档最后面加入
alias /var/lib/mysql -> /data/mysql,
#添加完之后重启apparmor服务
sudo systemctl restart apparmor#4.修改默认的数据库datadir路径
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
datadir = /data/mysql ###添加的新路径#5.修改mariadb.service和mariadb@.service文件
#或者是mysql.service和mysqld.service,根据搜索决定
sudo vim /lib/systemd/system/mariadb.service
sudo vim /lib/systemd/system/mariadb@.service
#将 ProtectHome 修改为False
# Prevent accessing /home, /root and /run/user
ProtectHome=true
#由于数据库方在/data目录,可以不修改#6.重启mariadb服务即可
sudo service mariadb start#7.检查是否修改了mariadb数据库路径
mysql -u root -p
select @@datadir;
+--------------+
| @@datadir |
+--------------+
| /data/mysql/ |
+--------------+
1 row in set (0.000 sec)
修改Mariadb日志文件路径
#1.创建相应的log文件目录
sudo mkdir /data/log/mysql -p
#2.修改Mariadb配置文件
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
log_error = /data/log/mysql/error.log
#3.修改目录权限
sudo chown -R mysql:adm /data/log/mysql
#4.重启mariadb服务
sudo systemctl start mariadb
旧信息删除
sudo mv /var/lib/mysql /var/lib/00_mysql
sudo mv /var/log/mysql /var/log/00_mysql
#测试正常后删除
sudo rm -rf /var/lib/00_mysql
sudo rm -rf /var/log/00_mysql
主要事项
1.密码不安全,请使用普通密码
mantis密码使用md5加密,不太安全,管理员可以破解密码,操作步骤如下:
phpmyadmin -> mantisbt数据库 -> mantis_user_table表 -> 复制用户的 password
例如可以使用网站cmd5.com
进行解密.
参考资料
-
Ubuntu 20.04安装MariaDB数据库
-
linux 安装mantis,在Ubuntu 18.04系统上安装Mantis Bug Tracker[MantisBT]
-
阿里云ubuntu18.04搭建Mantisbt服务器
-
mariadb官网
-
mantisbt 官网
-
Ubuntu18.04安装Mantisbt详细步骤
-
常用测试相关工具-Mantis的使用
-
我是学霸君-09-Mantis安装使用
-
xampp
-
wampserver
-
安裝 phpMyAdmin
-
关于phpmyadmin安装在ubuntu20.04上面的详细步骤
-
Ubuntu22.04 修改Mariadb数据库存储路径及日志路径
相关文章:

ubuntu安装配置mantis
目录 前言安装Apache2安装PHP安装数据库mariadbmariadb安装MariaDB重置密码为MantisBT创建数据库和用户 phpmyadmin安装和配置安装phpmyadmin查看安装内容配置phpmyadmin1.phpmyadmin apache配置文件2.为phpmyadmin创建数据库和用户3.修改配置文件config-db.php4.重新运行 管理…...
node后端接收pdf接口
当从前端发送过来的数据是文件时,后端如何接收呢? const express require(express); const multer require(multer);const app express();// 设置文件存储路径和文件名 const storage multer.diskStorage({destination: (req, file, cb) > {cb(nu…...
[RPC] Motan快速开始
文章目录 一、概述二、功能三、XML配置使用1、同步调用1.1、pom中添加依赖1.2、为调用方和服务方创建公共接口。1.3、编写业务接口逻辑、创建并启动RPC Server。1.4、创建并执行RPC Client。 2、异步调用2.1、在接口类上加MotanAsync注解2.2、在client端配置motan_client.xml时…...

仿美团外卖微信小程序源码/美团外卖优惠券领劵小程序-自带流量主模式
源码简介: 仿美团外卖微信小程序源码,它是美团外卖优惠券领劵小程序,还自带流量主模式。可以领取外卖优惠券的小程序。实用方便。 美团优惠券小程序带举牌小人带菜谱流量主模式,挺多外卖小程序的,但是都没有搭建教程…...

【Python】Windows跟随程序启动和关闭系统代理
前言 在日常使用计算机时,偶尔可能需要配置代理来访问特定的网络资源或进行网络调试。 当在使用mitmproxy 时候, 程序开始前,需要手动打开系统代理;程序解释后,需要手动关闭系统代理。 这些重复性且没有技术含量工作…...

信钰证券:华为汽车概念股持续活跃 圣龙股份斩获12连板
近期,华为轿车概念股在A股商场遭到热捧,多只股票迭创前史新高。10月23日,华为轿车概念股再度走强,到收盘,板块内圣龙股份、银宝山新涨停,轿车ETF在重仓股提振下盘中一度上涨近2%。业界人士认为,…...

LSM Tree 深度解析
我们将深入探讨日志结构合并树,也称为LSM Tree:这是许多高度可扩展的NoSQL分布式键值型数据库的基础数据结构,例如Amazon的DynamoDB、Cassandra和ScyllaDB。这些数据库的设计被认为支持比传统关系数据库更高的写入速率。我们将看到LSM Tree如…...

BurpSuite安装
下载 BurpSuite 下载 Java17 下载后确定版本 java -version获取启动器 密钥生成器 破解 将下载的 BurpSuite、启动器、密钥生成器,放入同一个目录 打开 CMD 进入该目录 启动密钥生成器 java -jar burp-keygen-scz.jar开启新的CMD,进入该目录 启动…...

VB.NET 三层登录系统实战:从设计到部署全流程详解
目录 前言: 什么是三层 为什么要用到三层: 饭店→软件 理解: 过程: 1.三层包图: 2.数据库 3.三层项目 4.用户界面 5.添加引用 代码实现: Entity层 BLL层 DAL层 UI层 总结: 前言: 什么是三层 三层就是把各个功能模块划分为表示层&#…...
【前端性能】性能优化手段-高频面试题
持续更新.............................最近更新2023/10/24 1. 讲一下png8、png16、png32的区别,并简单讲讲 png 的压缩原理 PNG8、PNG16、PNG32 是 PNG 图像格式的不同变种,它们主要区别在于颜色深度和透明度支持的不同。 区别 PNG8: PN…...

cleanmymacX4.14免费版mac清除浏览器缓存软件
当我们使用浏览器访问网站时,浏览器会自动缓存一些数据,比如网页缓存、DNS缓存、插件缓存、SSL证书缓存和Cookie缓存等。虽然有些缓存可以提高浏览器的使用体验,但是缓存过多也会导致一些问题,比如网页更新后浏览器仍然显示旧的内…...

分享个包含各省、市、区的编码数据的在线静态资源脚本
在翻《SpringBootVue3》——十三尼克陈作者的大型前后端分离项目实战里面,在看到地址管理的部分时,发现了该作者记录有一个静态的地址资源脚本 这里做个记录,打点 一、引入js <script src"https://s.yezgea02.com/1641120061385/td…...

Elasticsearch聚合----aggregations的简单使用
文章目录 Getting started1、搜索 address 中包含 mill 的所有人的年龄分布以及平均年龄,但不显示这些人的详情2、size0不展示命中记录,只展示聚合结果3、按照年龄聚合,并且请求这些年龄段的这些人的平均薪资4、查出所有年龄分布,…...

GOPS·2023上海站 | 提前剧透!阿里、腾讯、字节、擎创等专家齐聚上海,共话互联网运维
一、前言 2023年10月26日-27日,第二十一届 GOPS 全球运维大会 2023 上海站即将举行。作为年终前最后一场面向 IT 技术从业者的高端运维盛会。大会上,来自腾讯、阿里、字节跳动、抖音、美团、擎创科技等明星专家,将带来十大互联网行业精彩主…...
防关联浏览器推荐:MuLogin指纹浏览器安全登录多平台账号
在现今的数字时代,我们的生活离不开互联网。我们使用在线平台进行银行交易、购物、社交媒体互动和其他各种活动。为了保护个人隐私和账号安全,我们需要寻找一种安全且方便的方式来管理我们的在线账号。MuLogin指纹浏览器正是为了满足这些需求而设计的一款…...
部署SeaTunnel单节点Standalone 模式环境
1.前置准备: SeaTunnel支持运行在JDK8及以上环境。该步骤需要用户自行安装JDK环境。 2.下载安装包 本次部署使用的是2.3.1版本。如果你需要下载其它版本,可以从如下网址中查询对应的版本。 Apache SeaTunnel mkdir ~/seatunnel cd ~/seatunnelwget https://dl…...

二十三、设计模式之组合模式
监测难?误差大?北斗突破铁路监测预警难题,24小时全方位守护
受极端气象和复杂地形地质条件的影响,近年来铁路沿线地质灾害易发频发。为防范化解重大安全风险,提高自然灾害防治能力,国务院决策部署制定了《关于加强铁路自然灾害监测预警工作的指导意见》,强调了利用先进技术和手段开展各类自…...

kafka入门03——简单实战
目录 安装Java 安装Zookeeper 安装Kafka 生产与消费 主要是记录下Kafka的安装配置过程,前置条件需要安装jdk和zookeeper。 安装Java 1.Oracle官网下载对应jdk安装包 官网地址:Java Downloads | Oracle 好人分享了下载需要的oracle账号,…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...

恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
Python学习(8) ----- Python的类与对象
Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。 🧱 一句话理解: 类就像“图纸”,对…...