0.前言
程序员都从0开始滴~
公司需要搞一个bug管理的工具,用的是mantis,我为了省事,用了docker hub上提供的镜像来安装,记录一蛤。
1.安装
1.1.安装环境
阿里云
Ubuntu
docker
1.2.镜像
https://hub.docker.com/r/vimagick/mantisbt/
是docker hub中stars较多的一个,直接拿来用了
1.3.pull镜像
建立一个目录用来存放yml文件,命名为docker-compose.yml文件
mantisbt:
image: vimagick/mantisbt:latest
ports:
- "8989:80"
links:
- mysql
restart: always
mysql:
image: mysql:latest
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=bugtracker
- MYSQL_USER=mantisbt
- MYSQL_PASSWORD=mantisbt
restart: always
注意其中的空格,尤其是空格,否则会下载不了镜像
wq退出之后,运行命令docker-compose up -d
等待镜像pull成功,会自动运行镜像
用docker ps查看image是否正在运行
可以看到有2个镜像,一个mantis的,一个是相关的数据库的,保存用户数据,当然数据库用mariadb/postgres也是可以的。数据库的作用在下面会讲到
1.4.配置数据库
然后可以在网页上输入如下url
http://contianerip:8989/admin/install.php
根据如下配置即可
Type of Database MySQL/MySQLi
Hostname (for Database Server) mysql
Username (for Database) mantisbt
Password (for Database) mantisbt
Database name (for Database) bugtracker
Admin Username (to create Database if required) root
Admin Password (to create Database if required) root
点击[Install/Upgrade Database]之后等网页跳出good就OK 了
1.5.配置email
email用来给注册用户发送注册邮件
由于配置email是在配置文件中配置,所以需要进行文件编辑,而镜像中没自带vi或是vim编辑器所以需要下载一个
如果直接使用apt-get install vim下载 会提示E:Unable to locate package vim
Google了一下解决办法https://unix.stackexchange.com/questions/336392/e-unable-to-locate-package-vim-on-debian-jessie-simplified-docker-container
一次运行一下命令
apt-get update
apt-get install python-software-properties
apt-get install apt-file
apt-file update
apt-get install software-properties-common
apt-get install vim
配置email的过程中有个坑,根据镜像提供者的配置email文件地址在/var/www/html/config_inc.php中,如图
但是镜像中该目录下没有这个文件,看图
虽然没有该文件,但是却有名为config_inc的目录,目录下的文件如下图
可以看到目录下存在config_inc.php文件,如果在这个文件中增加email的配置项,那么恭喜你成功踩坑
其实真正的配置文件是config_defaults_inc.php,在该文件内增加email的配置
注意一下g_smtp_host的值,具体请联系自己的邮箱运行商
我用的是阿里邮箱,参照http://mailhelp.mxhichina.com/smartmail/admin/detail.vm?knoId=5871700
另,注意,$g_smtp_connection_mode = 'tls';虽然用的是tls加密,而$g_smtp_port仍旧填25即可
填写完毕邮箱配置之后,就可以在网页上注册新账号使用了
http://contianerip:8989/
1.6.图片验证码
在注册的时候会遇到图片验证码显示不了的原因,点击显示图片提示之后会出现如下提示
Fatal error: Call to undefined function imageftbbox() in/var/www/html/library/securimage/securimage.phpon line1952
在镜像提供者下面的用户留言中可以找到解决办法,依次运行如下
apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
&& docker-php-ext-install -j$(nproc) iconv mcrypt \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
重启容器之后就可以正常注册用户了
1.7.注册用户
正常注册之后会显示如下
正常注册完登录之后可以看到如下图
数据库中比较重要的表是
可以看到哪些用户注册了,可以从该表来测试是否有注册了用户但是没收到邮件的问题
2.修改配置
讲一下几个比较实用的配置修改
2.1.显示语言
配置文件config_defaults_inc.php中
g_default_language改成chinese_simplified
2.2.安全回话过期
有时候点击标签时候会出现如下提示:
“您正在访问一个安全页面,并且您的安全会话已过期。要继续操作请输入您的认证信息。”
配置文件
g_reauthentication把ON改为OFF
2.3.上传附件大小以及附件预览
增加上传的附件的大小
配置文件中
修改g_max_file_size的值
并且在另一个MySQL的容器中修改/etc/mysql/my.cnf的内容,增加下面的内容
[mysqld]
max_allowed_packet = 20M
图片预览更改配置文件中g_preview_attachments_inline_max_size的值
3.总结
mantis大体就是一个用来管理bug的工具,如果不是为了用来做研究PHP代码之用,那么上述的内容基本可以满足平时工作需要。记录也是为了有空写一下文章而已。嘿嘿~有问题私信哈!