0%

禅道ZenTao项目管理系统源码包+nginx部署

话说程序员是块砖,哪里需要哪里搬——组里打算试用下禅道做项目管理,这里就记录下源码包部署的过程和一些基本的配置修改

从网上搜来的介绍:禅道是第一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

禅道是本身提供了一键式部署方式,内置了php(7.1)、mysql(5.7)和httpd,拖到指定路径启动就可以开始使用,但是现在已经有了mysql、nginx环境,因此使用源码包进行部署,用nginx做转发

PHP环境配置

首先搭建php7环境,禅道推荐使用PHP7.0/7.1/7.2版本

这里直接由源码包安装了php 7.2.34版本,并启用php-fpm,make过程中指定部分加载模块:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
./configure \
--prefix=${INSTALL_HOME} \
--with-config-file-path=${INSTALL_HOME}/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-curl \
--with-openssl \
--with-zlib \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-mysqlnd \
--enable-bcmath \
--enable-ftp \
--enable-sockets \
--enable-wddx \
--enable-mbstring \
--enable-dom \
--enable-pcntl \
--enable-shmop \
--enable-soap

具体可以参考quick_launch_tools仓库提供的php安装脚本

禅道使用php开发的,nginx的代理需要通过php-fpm,启动php-fpm,默认监听9000端口,相关的配置位于php配置目录的”php-fpm.d/www.conf"文件,同时可在此文件修改php进程使用的用户

mysql 5.7配置

安装mysql5.7,具体可以参考quick_launch_tools仓库提供的php安装脚本

使用mysql客户端连接到数据库,创建禅道使用的用户zentao,指定具有zentao这一db下的权限(zentao数据库将在禅道初始化过程中自动创建)

1
2
3
# 创建zentao@%用户,可由任意地址登录
create user 'zentao'@'%' identified by 'yourzentaopassword';
grant all privileges on zentao.* to "zentao"@'%';

nginx配置

安装nginx,具体可以参考quick_launch_tools仓库提供的nginx安装脚本

nginx配置中关键的是开启对php-fpm的代理,可以参考以下配置

其中,/var/www/html/zentaopms是禅道源码包解压后路径

关键的是指定使用PATH_INFO模式代理php:fastcgi_param PATH_INFO $request_uri;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 指定代理禅道目录
location / {
root /var/www/html/zentaopms/www;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$args;
}
# 指定使用PATH_INFO模式代理php-fpm
location ~ \.php$ {
root /var/www/html/zentaopms/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $request_uri;
include fastcgi_params;
}

禅道安装

下载禅道源码包,可以直接从github下载https://github.com/easysoft/zentaopms

将tar包解压,这里对应nginx配置解压到了/var/www/html下,并创建需要的目录:

1
2
3
4
mkdir -p /var/www/html/zentaopms/tmp/
mkdir -p /var/www/html/zentaopms/www/data
chown -R www:www zentaopms
chmod -R 777 zentaopms

然后进入到zentaopms/www下,修改安装脚本的文件名:

1
mv install.php.tmp install.php

然后直接浏览器访问 “http://<yourip>/install.php” 进行安装步骤,安装完成之后将install.php这一文件删除

然后进入到zentaopms/config目录,修改my.php,指定使用PATHINFO模式:

1
2
# 指定使用PATHINFO模式
$config->requestType = 'PATH_INFO';

如果安装完成之后,登录后页面空白,可以尝试在my.php文件配置打开debug:

1
$config->debug           = true;

禅道的自定义配置与数据迁移

logo替换

如果希望修改禅道页面logo,可以调整:

  • zentaopms/www下,可替换favicon.ico
  • zentaopms/www/theme/default/images/main下,可替换zt-logo-en.png、zt-logo.png

数据迁移

如果需要对禅道系统做数据迁移,需要同步两部分:mysql中的数据、服务器禅道目录下的静态文件(上传的图片等)

对mysql的数据同步,可以直接导出db数据到sql文件后导入到新的数据库:

1
2
3
4
5
# 从原数据库导出
/usr/local/mysql/bin/mysqldump -hlocalhost -P3306 -uzentao -p zentao > zentao.sql

# 导入到新数据库
mysql -hlocalhost -P3306 -uzentao zentao < zentao.sql

对静态文件的同步,只需要迁移zentaopms/www下data文件夹

另外,禅道可以设置自动备份,可自动备份sql数据及静态文件,也可以使用备份文件做迁移