IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> CentOS 8 部署禅道,并使用自己的数据库 -> 正文阅读

[系统运维]CentOS 8 部署禅道,并使用自己的数据库

今天公司安排我搭建一个禅道,作为开发岗实习生的我只能搭建一个能跑的动的系统,下面记录一下搭建禅道的过程。

需求: 在服务器这中搭建禅道项目管理软件。
要求: 不能用禅道自带的数据库,要使用自己的MySQL数据库。
前提: CentOS 服务器一台,MySQL5数据库(MySQL 一定是 5 一定是 5,经测试 MySQL8 是跑不起来的)。

MySQL8 跑不起来可能是跟 allowPublicKeyRetroeval 有关。现在要打工,干活要紧,有空再研究这个。

  1. 下载禅道开源代码
    源码可以在 禅道官网 处下载。
    在这里插入图片描述
    下载你对应系统的版本我的服务器是CentOS 8的,我下载如图的版本。
    在这里插入图片描述
    为了方便我直接只用 wget 命令下载,如果没有wget命令的可以通过yum进行安装。
    yum install -y wget
    wget 命令下载禅道源码
    wget https://dl.cnezsoft.com/zentao/16.5/ZenTaoPMS.16.5.zbox_64.tar.gz
    解压源码到 /opt 下
    tar -zxvf ZenTaoPMS.16.5.zbox_64.tar.gz -C /opt/
    注意一定要解压到/opt下,并且需要直接解压到/opt下,否则会发生奇奇怪怪的错误。

  2. 准备禅道所需的数据库
    因为我需要使用我自己安装的数据库运行禅道系统,所以先使用禅道自带的数据库运行,导出自带数据库的sql文件,再将这个sql文件导入自己的数据库中。

    修改禅道服务的端口、修改禅道自带数据库的端口(如果当前服务器已经安装了MySQL,那么一定要修改禅道自带数据库的端口,不然启动会出错的)
    /opt/zbox/zbox -ap 8080 -mp 3307
    8080 是禅道服务的端口、3307是惨到自带数据库的端口。

    修改网页登录数据库系统的登录密码
    /opt/zbox/auth/adduser.sh
    输入用户名
    输入密码
    这里是待会我们登录页面需要用到的用户名和密码,我输入的用户名和密码都是root 在这里插入图片描述
    启动禅道
    /opt/zbox/zbox start
    在这里插入图片描述
    上面我们设置了禅道服务的端口为8080,我们需要开放这个端口
    firewall-cmd --zone=public --add-port=8080/tcp --permanent
    systemctl restart firewalld
    如果是云服务器那么就在安全组放行8080端口。

    访问 服务器ip:8080 就可以看到禅道页面了,下面进入禅道自带的数据库,点击页面的数据库管理
    在这里插入图片描述
    输入刚刚设置的账号和密码,我设置账号密码都是root
    在这里插入图片描述
    在服务器中输入:127.0.0.1:3307(一定要加上端口,3306端口也要加上)
    用户名:root
    密码:123456
    数据库:zentao
    在这里插入图片描述
    在左侧点击导出,输出选择保存,最后点击导出
    在这里插入图片描述
    这时候我们就得到了源数据库的sql文件,将这个sql文件导入我们自己的数据库中。我是创建了一个名为zentao 的数据库。
    在这里插入图片描述

  3. 去除禅道自带的数据库功能
    先停止禅道服务
    /opt/zbox/zbox stop
    在禅道的启动脚本中,会自动启动禅道自带的数据库,我们需求修改这个脚本。
    cd /opt/zbox/bin/
    cp zbox.php zbox.php.copy
    vim /opt/zbox/bin/zbox.php
    将有关MySQL的指令删除,修改后的脚本如下:

#!/opt/zbox/bin/php
<?php
array_shift($argv);
$flipArgv = array_flip($argv);
$basePath = dirname(dirname(__FILE__));

if($basePath != '/opt/zbox') die("Run it in path /opt/zbox/\n");
if(empty($argv) or isset($flipArgv['--help']) or isset($flipArgv['-h']))
{
    echo <<<EOD
Usage: zbox.php {start|stop|restart|status}

Options:
    -h --help Show help.
    -ap --aport Apache port, default 80.
    -mp --mport Mysql port, default 3306.

EOD;
    exit;
}

if(is_dir("$basePath/app/zentao/"))
{
    `chmod -R 777 $basePath/app/zentao/tmp`;
    `chmod -R 777 $basePath/app/zentao/www/data`;
    `chmod 777 $basePath/app/zentao/www/`;
    `chmod 777 $basePath/app/zentao/config/`;
    `chmod -R a+rx $basePath/app/zentao/bin/*`;
}
if(is_dir("$basePath/app/zentaopro/"))
{
    `chmod -R 777 $basePath/app/zentaopro/tmp`;
    `chmod -R 777 $basePath/app/zentaopro/www/data`;
    `chmod 777 $basePath/app/zentaopro/www/`;
    `chmod 777 $basePath/app/zentaopro/config/`;
    `chmod -R a+rx $basePath/app/zentaopro/bin/*`;
}
if(is_dir("$basePath/app/zentaoep/"))
{
    `chmod -R 777 $basePath/app/zentaoep/tmp`;
    `chmod -R 777 $basePath/app/zentaoep/www/data`;
    `chmod 777 $basePath/app/zentaoep/www/`;
    `chmod 777 $basePath/app/zentaoep/config/`;
    `chmod -R a+rx $basePath/app/zentaoep/bin/*`;
}

/* Process argv. */
$params = array();
foreach($flipArgv as $key => $val)
{
    if(strpos($key, '-') !== 0) continue;
    if($key == '--aport') $key = '-ap';
    if($key == '--mport') $key = '-mp';
    if(isset($argv[$val + 1]) and is_numeric($argv[$val + 1]))
    {
        $params[$key] = $argv[$val + 1];
        unset($argv[$val]);
        unset($argv[$val + 1]);
    }
}

if(isset($params['-ap'])) changePort($basePath . '/etc/apache/httpd.conf', $params['-ap'], array('^Listen +([0-9]+)', '<VirtualHost +.*:([0-9]+)>'));

if(isset($params['-mp']))
{
    changePort($basePath . '/etc/mysql/my.cnf', $params['-mp'], '^port *= *([0-9]+)');
    changePort($basePath . '/app/htdocs/index.php', $params['-mp'], 'localhost\:([0-9]+)\&');

    $myReg = '^\$config->db->port *= *.([0-9]+)..*;';
    if(file_exists("$basePath/app/zentao/config/my.php"))
    {
        `chmod 777 $basePath/app/zentao/config/my.php`;
        $myFile = "$basePath/app/zentao/config/my.php";
        changePort($myFile, $params['-mp'], $myReg);
    }
    if(file_exists("$basePath/app/zentaopro/config/my.php"))
    {
        `chmod 777 $basePath/app/zentaopro/config/my.php`;
        $myFile = "$basePath/app/zentaopro/config/my.php";
        changePort($myFile, $params['-mp'], $myReg);
    }
    if(file_exists("$basePath/app/zentaoep/config/my.php"))
    {
        `chmod 777 $basePath/app/zentaoep/config/my.php`;
        $myFile = "$basePath/app/zentaoep/config/my.php";
        changePort($myFile, $params['-mp'], $myReg);
    }
}

if(!empty($argv)) $params['-k'] = reset($argv);
if(isset($params['-k']))
{
    if(strpos(file_get_contents('/etc/group'), 'nogroup') === false) echo `groupadd nogroup`;
    if(strpos(file_get_contents('/etc/passwd'), 'nobody') === false) echo `useradd nobody`;
    `chmod -R 777 $basePath/tmp`;
    `chmod -R 777 $basePath/logs`;
    `chown -R nobody $basePath/data/mysql`;

    switch($params['-k'])
    {
    case 'start':
        $httpd = `ps aux|grep '\/opt\/zbox\/run\/apache\/httpd '`;
        if($httpd)
        {
            echo "Apache is running\n";
        }
        else
        {
            echo `$basePath/run/apache/apachectl start`;
            sleep(2);
            $httpd = `ps aux|grep '\/opt\/zbox\/run\/apache\/httpd '`;
            echo empty($httpd) ? "Start Apache fail. You can see the log /opt/zbox/logs/apache_error.log\n" : "Start Apache success\n";
        }

        break;
    case 'stop':
        $httpd = `ps aux|grep '\/opt\/zbox\/run\/apache\/httpd '`;
        if($httpd)
        {
            echo `$basePath/run/apache/apachectl stop`;
            sleep(2);
            $httpd = `ps aux|grep '\/opt\/zbox\/run\/apache\/httpd '`;
            echo empty($httpd) ? "Stop Apache success\n" : "Stop Apache fail. You can see the log /opt/zbox/logs/apache_error.log\n";
        }
        else
        {
            echo "Apache is not running\n";
        }

        break;
    case 'restart':
        echo `$basePath/run/apache/apachectl restart`;
        sleep(2);
        $httpd = `ps aux|grep '\/opt\/zbox\/run\/apache\/httpd '`;
        echo empty($httpd) ? "Restart Apache fail. You can see the log /opt/zbox/logs/apache_error.log\n" : "Restart Apache success\n";

        break;
    case 'status':
        $httpd = `ps aux|grep '\/opt\/zbox\/run\/apache\/httpd '`;
        echo empty($httpd) ? "Apache is not running\n" : "Apache is running\n";
    }
}

function changePort($file, $port, $regs)
{
    if(!is_array($regs)) $regs = array($regs);
    $lines = file($file);
    foreach($lines as $i => $line)
    {
        foreach($regs as $reg)
        {
            if(preg_match("/$reg/", $line, $matches)) $lines[$i] = str_replace($matches[1], $port, $line);
        }
    }
    file_put_contents($file, join($lines));
}

修改连接MySQL的数据
vim /opt/zbox/app/zentao/config/my.php
在这里插入图片描述

  1. 启动禅道服务并加入开机自启
    开启服务
    /opt/zbox/zbox start
    在这里插入图片描述
    此时就已经可以使用禅道了,并且没有使用的是我们自己的数据库,禅道自带的数据库没有运行。

    将禅道设置成开机自启
    chmod +x /etc/rc.d/rc.local
    vim /etc/rc.d/rc.local
    在尾部添加禅道的启动语句

    /opt/zbox/zbox start
    

    禅道服务默认登录账号为root,密码为:123456
    在这里插入图片描述
    登录之后按照提示操作就可以使用禅道了

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:49:45  更:2022-04-01 23:51:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:35:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码