一:简介
禅道,项目管理软件,是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能,实现了软件的完整生命周期管理。
禅道使用php语言开发,需要运行在安装有php的docker中,目前可以选择两种不同类型的docker,一种安装有apache、 php,一种安装有nginx、php,fpm。本次介绍的是第一种,即使用apache、 php的方式。
在“hub.docker.com”上已经有了php的docker镜像,本次我们选择“7.1.12-apache-jessie”这个版本。
二:Docker部署禅道
1.在主机上创建一个目录用来部署我们的安装包,目录地址为: /var/www/php-html
2.使用如下命令下载并运行php7.1版本的镜像,镜像中已安装有php7.1和apache。
docker run -d -p 8001:80 --name apache-php-app -v /var/www/php-html:/var/www/html php:7.1-apache
3.从禅道官网上下载相关版本的安装包并解压到 /var/www/php-html 目录。
源码下载地址为:http://sourceforge.net/projects/zentao/files/9.6.3/ZenTaoPMS.9.6.3.zip/download
解压安装包到 /var/www/php-html 目录
4.在浏览器中输入地址:ip:8001/zentaopms/www/,进入到安装页面。点击“下一步”,进入到“系统检查”页面。
5.在php容器中安装pdo_mysql扩展以及更新php配置文件
1).进入到容器内部安装pdo_mysql扩展
docker exec -it 容器id /bin/bash
docker-php-ext-install pdo_mysql
2).更新容器内部的php配置文件
通过find / -name "php.ini"查找到服务器上的php.ini文件,设置其中的参数为(配置前的分号去掉)
date.timezone = Asia/Shanghai
session.save_path = "/tmp"
复制php配置文件都容器内部并重启容器
docker cp 主机目录/php.ini 容器id:/usr/local/etc/php/php.ini
docker restart 容器id
6.重新刷新“系统检查”页面,进入到“生成配置文件”页面,输入数据库配置,完成安装
三:Docker部署MySql(Server version: 8.0.12 MySQL Community Server - GPL)
创建MySql文件目录
mkdir -p /mnt/mysql/data(数据文件目录)
mkdir -p /mnt/mysql/conf(mysql配置文件目录)
MySql配置文件
[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysqlsecure-file-priv= NULLdefault_authentication_plugin=mysql_native_passwordwait_timeout= 2880000interactive_timeout = 2880000max_allowed_packet= 1024M
default_authentication_plugin=mysql_native_password 设置MySql授权验证方式,否则客户端工具无法远程连接MySql
wait_timeout= 2880000
interactive_timeout = 2880000
max_allowed_packet= 1024M
增加MySql的连接时间,和最大运行执行的packet大小。因为在禅道的数据库配置阶段,会执行大量的SQL脚本生成禅道相关数据表,参数设置过小会报mysql server has gone away 错误
Docker启动MySql容器
a).docker pull mysql
b).docker run -d -v /mnt/mysql/data:/var/lib/mysql -v /mnt/mysql/conf/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 --name mysql mysql
四:Centos 安装PHP
如果服务上没有安装PHP,安装禅道的过程中是找不到php.ini文件的,用SCL(Software Collections)软件库安装高版本的PHP:
安装SCL
yum install centos-release-scl-rh
安装 PHP7.0
yum install rh-php70