0.前言
程序員都從0開始滴~
公司需要搞一個bug管理的工具,用的是mantis,我為了省事灾票,用了docker hub上提供的鏡像來安裝,記錄一蛤茫虽。
1.安裝
1.1.安裝環(huán)境
阿里云
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用來給注冊用戶發(fā)送注冊郵件
由于配置email是在配置文件中配置绰上,所以需要進行文件編輯旨怠,而鏡像中沒自帶vi或是vim編輯器所以需要下載一個
如果直接使用apt-get install vim下載? 會提示E:Unable to locate package vim
一次運行一下命令
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.安全回話過期
有時候點擊標簽時候會出現如下提示:
“您正在訪問一個安全頁面固棚,并且您的安全會話已過期。要繼續(xù)操作請輸入您的認證信息仙蚜〈酥蓿”
配置文件
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代碼之用黍翎,那么上述的內容基本可以滿足平時工作需要。記錄也是為了有空寫一下文章而已艳丛。嘿嘿~有問題私信哈匣掸!