服务器

一:简介

禅道,项目管理软件,是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、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.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
default_authentication_plugin=mysql_native_password
wait_timeout= 2880000
interactive_timeout = 2880000
max_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

Docker部署禅道备忘录-风君雪科技博客