ubuntu安装配置mantis

目录

前言

根据网上资料整理,经过验证测试完全正常工作,mantis出现的一些警告和问题也进行了解决.

没有配置邮箱,不能发送邮件通知.

安装Apache2

bash 复制代码
sudo apt -y install apache2

安装PHP

bash 复制代码
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安装

bash 复制代码
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重置密码

bash 复制代码
#登录到控制台
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
sql 复制代码
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命令看能否登录数据库

sql 复制代码
SHOW DATABASES;

如下显示OK

复制代码
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mantisbt           |
+--------------------+
2 rows in set (0.000 sec)

phpmyadmin安装和配置

安装phpmyadmin

bash 复制代码
#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?

查看安装内容

bash 复制代码
sudo dpkg -L phpmyadmin

配置phpmyadmin

1.phpmyadmin apache配置文件

可以不用修改,sudo vim /etc/apache2/conf-available/phpmyadmin.conf,默认内容如下:

ini 复制代码
# phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex 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/tmp
        php_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

sql 复制代码
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 复制代码
<?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.重新运行

bash 复制代码
sudo a2enconf phpmyadmin
sudo phpenmod mbstring
sudo systemctl restart apache2

管理phpmyadmin

1.登录phpmyadmin

bash 复制代码
http://106.15.109.116/phpmyadmin
#使用root用户登录

2.phpmyadmin用户权限设置

User accounts -> Global privileges

  • Check all

3.解决问题

在首页会显示警告:

ini 复制代码
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安装

准备文件

bash 复制代码
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,内容如下:

ini 复制代码
<VirtualHost *:80>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html/mantisbt/

ServerName example.com

ServerPath "/mantisbt/"

<Directory /var/www/html/mantisbt/>

Options +FollowSymLinks

AllowOverride All

</Directory>

ErrorLog /var/log/apache2/mantisbt.error.log

CustomLog /var/log/apache2/mantisbt.access.log common

</VirtualHost>

2.检查syntax错误:

bash 复制代码
apachectl -t
#Syntax OK

3.使能该网站

bash 复制代码
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
  1. 安装数据库

点击"install/upgrade database"

产生管理员账号:administrator/root

MantisBT was installed successfully. Continue to log in.

设置Mantis为中文

php 复制代码
//在config_inc.php中增加如下一行
$g_default_language='chinese_simplified'; //默认语言设为中文

打开用户创建密码框

编辑文件config_defaults_inc.php

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去掉登录界面的"注册一个新账号"链接

php 复制代码
//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程序,增加一个密码修改框,这样管理员就可以直接修改用户密码了。

php 复制代码
//manage_user_edit_page.php 
			<!-- Email -->
			<tr><?php
			if( $t_ldap && ON == config_get_global( 'use_ldap_email' ) ) {
				# With LDAP
				echo '<td class="category">' . lang_get( 'email_label' ) . '</td>';
				echo '<td>' . string_display_line( user_get_email( $t_user_id ) ) . '</td>';
			} else {
				# Without LDAP
				echo '<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> 
php 复制代码
//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 下面,根据自己的实际情况查看)

修改数据库存储路径

bash 复制代码
#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日志文件路径

bash 复制代码
#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

旧信息删除

bash 复制代码
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进行解密.

参考资料

相关推荐
极地星光1 分钟前
网络检测:Linux下实时获取WiFi与热点状态
linux·网络
还是奇怪4 小时前
Linux - 安全排查 3
android·linux·安全
NUZGNAW4 小时前
VMware安装Centos 7
linux·运维·centos
Another Iso4 小时前
CentOs 7 MySql8.0.23之前的版本主从复制
linux·mysql·centos
A7bert7774 小时前
【YOLOv8-obb部署至RK3588】模型训练→转换RKNN→开发板部署
linux·c++·人工智能·python·yolo
筑梦之路4 小时前
linux 系统找出磁盘IO占用元凶 —— 筑梦之路
linux·运维·服务器
LiQiang336 小时前
Ubuntu2404修改国内镜像
linux
杰哥技术分享6 小时前
Ubuntu 22.04安装SQL Server指南
linux·运维·ubuntu·sqlserver
遇见火星6 小时前
ubuntu18.04 升级Ubuntu 20.04
linux·运维·ubuntu·系统升级
x县豆瓣酱6 小时前
【第四节】ubuntu server安装docker
linux·ubuntu·docker