• ubuntu安装配置mantis


    前言

    根据网上资料整理,经过验证测试完全正常工作,mantis出现的一些警告和问题也进行了解决.
    没有配置邮箱,不能发送邮件通知.

    安装Apache2

    sudo apt -y install apache2
    
    • 1

    安装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
    
    • 1

    安装数据库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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    为MantisBT创建数据库和用户

    mysql -u root -p
    
    • 1
    CREATE USER 'mantisbt'@'localhost' IDENTIFIED BY 'StrongPassword';
    
    CREATE DATABASE mantisbt;
    
    GRANT ALL PRIVILEGES ON mantisbt.* TO 'mantisbt'@'localhost';
    
    FLUSH PRIVILEGES;
    
    QUIT
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    运行mysql -u mantisbt -p命令看能否登录数据库

    SHOW DATABASES;
    
    • 1

    如下显示OK

    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mantisbt           |
    +--------------------+
    2 rows in set (0.000 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    phpmyadmin安装和配置

    安装phpmyadmin

    #1.安装
    sudo apt install phpmyadmin  php-json -y
    #2.选择web服务器
     [*] apache2 
    #3.选择no
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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
    
    • 1

    配置phpmyadmin

    1.phpmyadmin apache配置文件

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

    # phpMyAdmin default Apache configuration
    
    Alias /phpmyadmin /usr/share/phpmyadmin
    
    
        Options SymLinksIfOwnerMatch
        DirectoryIndex index.php
    
        # limit libapache2-mod-php to files and directories necessary by pma
        
            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/
        
    
    
    
    # Disallow web access to directories that don't need it
    
        Require all denied
    
    
        Require all denied
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.修改配置文件config-db.php

    编辑sudo vim /etc/phpmyadmin/config-db.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';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    4.重新运行

    sudo a2enconf phpmyadmin
    sudo phpenmod mbstring
    sudo systemctl restart apache2
    
    • 1
    • 2
    • 3

    管理phpmyadmin

    1.登录phpmyadmin

    http://106.15.109.116/phpmyadmin
    #使用root用户登录
    
    • 1
    • 2

    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.
    
    • 1
    • 2

    点击Find out,建立数据表即可.

    mantis安装

    准备文件

    sudo mv mantisbt-2.25.7/ /data/websrv/mantisbt
    sudo chown -R www-data:www-data /data/websrv/mantisbt
    
    • 1
    • 2

    配置apache服务器

    1.编辑文件sudo vim /etc/apache2/sites-available/mantisbt.conf,内容如下:

    
    
    ServerAdmin webmaster@localhost
    
    DocumentRoot /var/www/html/mantisbt/
    
    ServerName example.com
    
    ServerPath "/mantisbt/"
    
    
    
    Options +FollowSymLinks
    
    AllowOverride All
    
    
    
    ErrorLog /var/log/apache2/mantisbt.error.log
    
    CustomLog /var/log/apache2/mantisbt.access.log common
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    2.检查syntax错误:

    apachectl -t
    #Syntax OK
    
    • 1
    • 2

    3.使能该网站

    sudo a2enconf mantisbt
    sudo systemctl restart apache2
    
    • 1
    • 2

    检查是否安装成功

    访问http://192.168.1.112/mantisbt/,如果出现mantis页面说明安装成功.

    mantis配置

    初始化配置

    1.Installation Options

    项目说明
    Type of DatabaseMySQL 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 ZoneShanghai
    1. 安装数据库

    点击"install/upgrade database"

    产生管理员账号:administrator/root

    MantisBT was installed successfully. Continue to log in.

    设置Mantis为中文

    //在config_inc.php中增加如下一行
    $g_default_language='chinese_simplified'; //默认语言设为中文
    
    • 1
    • 2

    打开用户创建密码框

    编辑文件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;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Mantis去掉登录界面的“注册一个新账号”链接

    //login_page.php
    //注释掉如下内容
    /*
    $t_show_signup =
    	( auth_signup_enabled() ) &&
    	( LDAP != config_get_global( 'login_method' ) ) &&
    	( ON == config_get( 'enable_email_notification' ) );
    */
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    mantis更改用户密码

    从MantisBT版本开始,创建用户后,必须由用户通过确认邮件进行修改密码,而管理员无权对用户的密码进行修改。这对于配置mail不成功的情况下很不方便。以下配置就可以让管理员轻松管理用户的密码。

    解决方式就是考虑修改Mantisbt PHP程序,增加一个密码修改框,这样管理员就可以直接修改用户密码了。

    //manage_user_edit_page.php 
    			<!-- Email -->
    			<tr><?php
    			if( $t_ldap && ON == config_get_global( 'use_ldap_email' ) ) {
    				# With LDAP
    				echo '' . lang_get( 'email_label' ) . '';
    				echo '' . string_display_line( user_get_email( $t_user_id ) ) . '';
    			} else {
    				# Without LDAP
    				echo '' . lang_get( 'email_label' ) . '';
    				echo '';
    				print_email_input( 'email', $t_user['email'] );
    				echo '';
    			} ?>
    			</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> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    //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); 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    参考

    mariadb数据库路径和日志路径修改

    默认信息

    数据库文件默认路径:/var/lib/mysql
    数据库日志默认路径:/var/log/mysql(我所使用的默认是注释掉,未开启,需要自己手动删除注释才可以使用)
    数据库配置文件路径:/etc/mysql/mariadb.conf.d/50-server.cnf(文件一般都在/etc/mysql/****.conf.d 下面,根据自己的实际情况查看)
    
    • 1
    • 2
    • 3

    修改数据库存储路径

    #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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    修改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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    旧信息删除

    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
    • 2
    • 3
    • 4
    • 5

    主要事项

    1.密码不安全,请使用普通密码

    mantis密码使用md5加密,不太安全,管理员可以破解密码,操作步骤如下:

    phpmyadmin -> mantisbt数据库 -> mantis_user_table表 -> 复制用户的 password
    
    • 1

    例如可以使用网站cmd5.com进行解密.

    参考资料

  • 相关阅读:
    JavaSE_多线程入门 线程安全 死锁 状态 通讯 线程池
    如何开展批量单因素logistic回归分析形成表格?
    Spring Boot 2.x系列【23】应用监控篇之Info端点
    Consul 服务治理(注册中心)
    银行应用程序应该遵循什么方法来测试?测试银行应用程序所涉及的各个阶段和技术讲解
    国庆创作周 组播《第十二课》
    Qt环境配置VTK
    JS深入理解立即执行函数,js匿名函数()
    如何解决maven依赖冲突?
    媒介盒子:品牌宣传的内容输出逻辑是什么
  • 原文地址:https://blog.csdn.net/fedorayang/article/details/134027928