Docker部署禪道備忘錄

百聯達發表於2018-09-06

一:簡介

禪道,專案管理軟體,是國產的開源專案管理軟體,專注研發專案管理,內建需求管理、任務管理、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 目錄。

原始碼下載地址為:

解壓安裝包到  /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.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 錯誤

  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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2213632/,如需轉載,請註明出處,否則將追究法律責任。