千家信息网

Docker部署禅道备忘录

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,一:简介禅道,项目管理软件,是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能,实现了软件的完整生命周期管理。禅道使用php语言开发,需
千家信息网最后更新 2024年11月14日Docker部署禅道备忘录

一:简介

禅道,项目管理软件,是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、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)

  1. 创建MySql文件目录

    mkdir -p /mnt/mysql/data(数据文件目录)

    mkdir -p /mnt/mysql/conf(mysql配置文件目录)

  2. MySql配置文件

  3. [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 错误

  4. 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:

  1. 安装SCL

    yum install centos-release-scl-rh

  2. 安装 PHP7.0

    yum install rh-php70

0