Ubuntu学习笔记-Ubuntu搭建禅道开源版及基本使用
文章目录
- 概述
- 一、Ubuntu中安装
- 1.1 复制下载安装包路径
- 1.2 将安装包解压到ubuntu中
- 1.3 启动服务
- 1.4 设置开机自启动
- 二、禅道服务基本操作
- 2.1 启动,停止,重启,查看服务状态
- 2.2 开放端口
- 2.3 访问和登录禅道
卜相机关
卜三命、相万生,机关算尽明不明,了却君王天下事,聊得浮云,醉里挑灯。
擅长卜卦命相与机关之术的中原谋士,在森狱进犯中原时,主动找上玄嚣太子献策,言谈中对中原地脉与情势了解透彻,并助玄嚣破解云渡山地脉阵局,因而被网罗至葬天关助玄嚣拓展霸业。然而卜相机关真实身份,却是素还真挚友屈世途,卧底森狱乃为取得玄嚣信任,进而里应外合计杀玄嚣;在玄嚣死后,陆续被蜕变黑后与玄膑太子拉拢,卜相机关也继续卧底森狱,并暗中探取情报,让苦境正道得以从中寻得喘息反扑之机。
概述
禅道 项目管理软件 是国产的开源免费项目管理软件,专注研发项目管理,内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能,实现了软件的完整生命周期管理及全面支持IPD管理流程。
在Ubuntu下安装禅道需要配置基本的环境:
-
禅道安装部署环境推荐使用 Linux + Apache + PHP7.0以上版本+ MySQL5.5以上版本/MariaDB的组合。Nginx其次,不推荐IIS + PHP组合。
-
禅道需要使用PHP的这些扩展:pdo、pdo_mysql、json、filte、openssl、mbstring、zlib、curl、gd、iconv,企业版旗舰版还需要安装: zip、xml、ldap、bcmath扩展,请大家确保PHP环境安装加载以上扩展模块。
-
Linux系统下不推荐自己编译安装PHP,最好使用操作系统自带的包管理器安装PHP的运行环境。
一、Ubuntu中安装
1.1 复制下载安装包路径
禅道官网下载地址:禅道下载地址

本次为ubuntu环境下安装,所以下载开源版linux一键安装包版本。
开源版免费好用。
右键点击安装包然后选择复制连接。
复制的下载路径如下(我的系统是arm的cpu):
https://www.zentao.net/dl/zentao/18.10/ZenTaoPMS-18.10-zbox_amd64.tar.gz
**注:**下载的安装包需要于芯片的架构相匹配,amd和arm需要对应,ubuntu可以通过uname -m,lscpu进行查看。
ubuntu@ubuntu:~$ uname -m
aarch64 # 系统类型,aarch是arm的架构
ubuntu@ubuntu:~$ lscpu
Architecture: aarch64CPU op-mode(s): 32-bit, 64-bitByte Order: Little Endian
CPU(s): 4On-line CPU(s) list: 0-3
Vendor ID: ARM # cpu类型Model name: Cortex-A72Model: 3Thread(s) per core: 1Core(s) per cluster: 4Socket(s): -Cluster(s): 1Stepping: r0p3CPU max MHz: 1500.0000CPU min MHz: 600.0000BogoMIPS: 108.00Flags: fp asimd evtstrm crc32 cpuid
Caches (sum of all):L1d: 128 KiB (4 instances)L1i: 192 KiB (4 instances)L2: 1 MiB (1 instance)
Vulnerabilities:Gather data sampling: Not affectedItlb multihit: Not affectedL1tf: Not affectedMds: Not affectedMeltdown: Not affectedMmio stale data: Not affectedRetbleed: Not affectedSpec rstack overflow: Not affectedSpec store bypass: VulnerableSpectre v1: Mitigation; __user pointer sanitizationSpectre v2: VulnerableSrbds: Not affectedTsx async abort: Not affected
1.2 将安装包解压到ubuntu中
根据官方文档介绍,需要将安装包拷贝到opt文件夹中,不可先行解压再拷贝,容易出现权限问题。我们就根据官方介绍直接将安装包拷到“/opt”文件夹下。
cd /opt
wget https://www.zentao.net/dl/zentao/18.10/ZenTaoPMS-18.10-zbox_arm64.tar.gz
tar xvzf ZenTaoPMS-18.10-zbox_arm64.tar.gz
注:有可能会报错,如果报错scp: /opt/ZenTaoPMS-18.10-Linux_zbox_amd64.tar.gz: Permission denied,则需要修改下opt文件夹的权限:
ubuntu@ubuntu:/opt$ sudo chmod 777 /opt
安装过程:
ubuntu@ubuntu:~$ cd /opt
ubuntu@ubuntu:/opt$ sudo wget https://www.zentao.net/dl/zentao/18.10/ZenTaoPMS-18.10-zbox_arm64.tar.gz
--2024-02-16 23:05:05-- https://www.zentao.net/dl/zentao/18.10/ZenTaoPMS-18.10-zbox_arm64.tar.gz
Resolving www.zentao.net (www.zentao.net)... 117.24.11.65, 117.27.241.245
Connecting to www.zentao.net (www.zentao.net)|117.24.11.65|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://dl.zentao.net/zentao/18.10/ZenTaoPMS-18.10-zbox_arm64.tar.gz [following]
--2024-02-16 23:05:05-- https://dl.zentao.net/zentao/18.10/ZenTaoPMS-18.10-zbox_arm64.tar.gz
Resolving dl.zentao.net (dl.zentao.net)... 240e:964:1001:1::1b94:bc29, 180.97.64.41
Connecting to dl.zentao.net (dl.zentao.net)|240e:964:1001:1::1b94:bc29|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 350716227 (334M) [application/x-compressed]
Saving to: ‘ZenTaoPMS-18.10-zbox_arm64.tar.gz’ZenTaoPMS-18.10-zbox_arm64.ta 100%[=================================================>] 334.47M 10.3MB/s in 35s2024-02-16 23:05:40 (9.60 MB/s) - ‘ZenTaoPMS-18.10-zbox_arm64.tar.gz’ saved [350716227/350716227]ubuntu@ubuntu:/opt$ ll
total 342512
drwxrwxrwx 2 root root 4096 Feb 16 23:07 ./
drwxr-xr-x 20 root root 4096 Feb 16 09:52 ../
-rw-r--r-- 1 root root 350716227 Dec 28 14:27 ZenTaoPMS-18.10-zbox_arm64.tar.gzubuntu@ubuntu:/opt$ tar xvzf ZenTaoPMS-18.10-zbox_arm64.tar.gz
1.3 启动服务
/opt/zbox/zbox start
运行信息如下:
ubuntu@ubuntu:/opt$ sudo /opt/zbox/zbox start23:17:41.91 INFO ==> Starting service with Apache port=80, MySQL port=3306...23:17:41.98 INFO ==> Starting mysql service...23:17:44.81 INFO ==> Starting apache service...23:17:45.62 INFO ==> Starting xxd service...23:17:45.69 INFO ==> MySQL start successfully.23:17:45.70 INFO ==> Get xxd token from zentao23:17:46.51 INFO ==> Get xxd token from biz23:17:47.36 INFO ==> Get xxd token from max23:17:48.16 INFO ==> Starting roadrunner service...
=============================================================================
Service Port Status Version Comment
=============================================================================
Apache 80 running 2.4.58
PHP - running 7.4.33 prefork
MySQL 3306 running 10.6.15 MariaDB
XXD 11443 11444 running 8.0.1
Roadrunner - running 2023.3.4 @zentao=============================================================================
Application Version
=============================================================================
zentao 18.10
zentaoep biz8.10
zentaomax max4.10
adminer 4.8.1
可以看到服务默认的Apache的端口是80,Mysql的端口是3306。
1.4 设置开机自启动
自启动命令如下:
/opt/zbox/zbox restart
创建rc.local文件,然后将自启动命令添加到文件中。
ubuntu@ubuntu:/etc$ sudo vim rc.local
添加指令

然后用“wq”保存退出。
二、禅道服务基本操作
2.1 启动,停止,重启,查看服务状态
可通通过以下指令启动,停止,重启,以及查看服务状态:
- 启动所有服务:/opt/zbox/zbox start
- 停止所有服务:/opt/zbox/zbox stop
- 重启所有服务:/opt/zbox/zbox restart
- 通过配置检查服务状态:/opt/zbox/zbox check 【18.10版本支持】
**注:**如果提示权限不够,则需要切换成root权限执行。
ubuntu@ubuntu:/opt$ sudo /opt/zbox/zbox start23:17:41.91 INFO ==> Starting service with Apache port=80, MySQL port=3306...23:17:41.98 INFO ==> Starting mysql service...23:17:44.81 INFO ==> Starting apache service...23:17:45.62 INFO ==> Starting xxd service...23:17:45.69 INFO ==> MySQL start successfully.23:17:45.70 INFO ==> Get xxd token from zentao23:17:46.51 INFO ==> Get xxd token from biz23:17:47.36 INFO ==> Get xxd token from max23:17:48.16 INFO ==> Starting roadrunner service...
=============================================================================
Service Port Status Version Comment
=============================================================================
Apache 80 running 2.4.58
PHP - running 7.4.33 prefork
MySQL 3306 running 10.6.15 MariaDB
XXD 11443 11444 running 8.0.1
Roadrunner - running 2023.3.4 @zentao=============================================================================
Application Version
=============================================================================
zentao 18.10
zentaoep biz8.10
zentaomax max4.10
adminer 4.8.1ubuntu@ubuntu:/opt$ sudo /opt/zbox/zbox check23:18:40.01 INFO ==> Check service status based on .env configuration...23:18:40.12 WARN ==> Apache is running.23:18:40.23 WARN ==> MySQL is running.23:18:40.33 WARN ==> XXD is running.23:18:40.44 WARN ==> Roadrunner is running.
=============================================================================
Service Port Status Version Comment
=============================================================================
Apache 80 running 2.4.58
PHP - running 7.4.33 prefork
MySQL 3306 running 10.6.15 MariaDB
XXD 11443 11444 running 8.0.1
Roadrunner - running 2023.3.4 @zentao=============================================================================
Application Version
=============================================================================
zentao 18.10
zentaoep biz8.10
zentaomax max4.10
adminer 4.8.1
2.2 开放端口
修改默认端口然后启动 :
sudo /opt/zbox/zbox --aport 8080 --mport 3307 start
开放apache和mysql的端口。
ubuntu@ubuntu:/etc$ sudo ufw allow 80
Rules updated
Rules updated (v6)ubuntu@ubuntu:/etc$ sudo ufw version
ufw 0.36.1
Copyright 2008-2021 Canonical Ltd.ubuntu@ubuntu:/etc$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startupubuntu@ubuntu:/etc$ sudo ufw allow 3306
Rule added
Rule added (v6)
ubuntu@ubuntu:/etc$ sudo ufw status
Status: activeTo Action From
-- ------ ----
80 ALLOW Anywhere
3306 ALLOW Anywhere
80 (v6) ALLOW Anywhere (v6)
3306 (v6) ALLOW Anywhere (v6)ubuntu@ubuntu:/etc$
2.3 访问和登录禅道
启动Apache和MySQL服务后,浏览器直接访问 http://禅道服务器ip:apache端口即可访问和登录禅道。
注意:
如果网页无法访问,请先关闭禅道所在电脑的防火墙和selinux再刷新网页访问试一下。
使用云服务器请注意在安全组中开放apache使用端口
禅道默认管理员帐号是 admin,密码 123456。

相关文章:
Ubuntu学习笔记-Ubuntu搭建禅道开源版及基本使用
文章目录 概述一、Ubuntu中安装1.1 复制下载安装包路径1.2 将安装包解压到ubuntu中1.3 启动服务1.4 设置开机自启动 二、禅道服务基本操作2.1 启动,停止,重启,查看服务状态2.2 开放端口2.3 访问和登录禅道 卜相机关 卜三命、相万生࿰…...
《苍穹外卖》知识梳理6-缓存商品,购物车功能
苍穹外卖实操笔记六—缓存商品,购物车功能 一.缓存菜品 可以使用redis进行缓存;另外,在实现缓存套餐时可以使用spring cache提高开发效率; 通过缓存数据,降低访问数据库的次数; 使用的缓存逻辑&#…...
[NSSCTF]-Web:[SWPUCTF 2021 新生赛]easy_sql解析
查看网页 有提示,参数是wllm,并且要我们输入点东西 所以,我们尝试以get方式传入 有回显,但似乎没啥用 从上图看应该是字符型漏洞,单引号字符注入 先查看字段数 /?wllm2order by 3-- 没回显 报错了,说明…...
vue3 codemirror yaml文件编辑器插件
需求:前端编写yaml配置文件 ,检查yaml语法 提供语法高亮 。 默认内容从后端接口获取 显示在前端 , 前端在codemirror 插件中修改文件内容 ,并提交修改 后端将提交的内容写入服务器配置文件中 。 codemirror 通过ref 后期编辑器…...
力扣经典题:环形链表的检测与返回
1.值得背的题 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode *detectCycle(struct ListNode *head) {struct ListNode*fasthead;struct ListNode*slowhead;while(fast!NULL&&fast->…...
【web | CTF】BUUCTF [BJDCTF2020]Easy MD5
天命:好像也挺实用的题目,也是比较经典吧 天命:把php的MD5漏洞都玩了一遍 第一关:MD5绕过 先声明一下:这题的MD5是php,不是mysql的MD5,把我搞迷糊了 一进来题目啥也没有,那么就要看…...
spring boot Mybatis Plus分页
文章目录 Mybatis Plus自带分页和PageHelper有什么区别?Mybatis Plus整合PageHelper分页 springboot自定义拦截器获取分页参数spring boot下配置mybatis-plus分页插件单表分页查询自定义sql分页查询PageHelper 参考 Mybatis Plus自带分页和PageHelper有什么区别&…...
elementui 中 el-date-picker 控制选择当前年之前或者之后的年份
文章目录 需求分析 需求 对 el-date-picker控件做出判断控制 分析 给 el-date-picker 组件添加 picker-options 属性,并绑定对应数据 pickerOptions html <el-form-item label"雨量年份:" prop"date"><el-date-picker …...
GlusterFS:开源分布式文件系统的深度解析与应用场景实践
引言 在当今大数据时代背景下,企业对存储系统的容量、性能和可靠性提出了前所未有的挑战。GlusterFS作为一款开源的、高度可扩展的分布式文件系统,以其独特的无中心元数据设计和灵活的卷管理机制,在众多场景中脱颖而出,为解决大规…...
第6个-滚动动画
Day 6 - Scroll Animation 1. 演示效果 2. 分析思路 布局 所有的内容进行水平垂直居中,可以使用**margin:0 auto;,也可以使用flex**布局: body {background-color: #efedd6;display: flex;flex-direction: column;justify-content: center…...
配置oracle连接管理器(cman)
Oracle Connection Manager是一个软件组件,可以在oracle客户端上指定安装这个组件,Oracle连接管理器代理发送给数据库服务器的请求,在连接管理器中,我们可以通过配置各种规则来控制会话访问。 简而言之,不同于专用连接…...
[N-142]基于springboot,vue停车场管理系统
开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 项目采用前后端分离 前端技术:vueelementUI 服务端技术:springbootmybatis-plus 本项目分为普通用户和管理员…...
DAY53:动态规划(买股票的最佳时机)
Leetcode: 121 买卖股票的最佳时机 代码随想录 1、确定下标和含义 dp[i][0]表示当天持有股票所得的最多现金 do[i][1]表示当天不持有股票的最多现金 2、递推公式 (1)如果第i天持有股票即dp[i][0], 那么可以由两个状态推出来 第i-1天就…...
快速实现用户认证:使用Python和Flask配合PyJWT生成与解密Token的教程及示例代码
生成token 与解密 token 和 拦截器 #学习交流 访问 # https://v.iiar.cnimport jwt import datetime from models import XUser from flask import request, jsonify from functools import wrapsSECRET_KEY XPay# 创建token def generate_token(user_id):try:payload {exp:…...
外汇110:外汇做空是什么意思?如何运作?一文读懂
外汇市场允许卖空,就像众多金融市场一样。但什么是卖空呢?如何外汇做空?在本文中,我们将讨论如何做空货币。什么是外汇做空? 外汇做空(Short Selling)是外汇市场上的一种投资方式。它指的是投资…...
【记录】个人博客或笔记中的数学符号设定
note 这里记录个人博客中常用的数学符号数学格式和对应含义 文章目录 note数与数组索引集合线性代数微积分概率和信息论数据与概率分布函数深度学习中的常用数学表达方式 数与数组 α 标量 α 向量 A 矩阵 A 张量 I n n 行 n 列单位矩阵 v w 单词 w 的分布式向量表示 …...
Redis Sentinel工作原理
Redis Sentinel是Redis的高可用性解决方案。它主要用来监控Redis master和slave服务器的运行状态,并在master宕机时自动进行故障转移,即从slave节点中选举出新的master节点,并让其余的slave节点指向新的master节点。 Redis Sentinel工作原理…...
GEE入门篇|遥感专业术语:理论介绍
本章的目的是介绍遥感图像的一些主要特征,以及如何在Earth Engine中检查它们。我们将讨论空间分辨率、时间分辨率和光谱分辨率,以及如何访问重要的图像元数据。将了解到来自不同卫星平台上的几个传感器的图像数据。在本章的学习完成后,您将能…...
react中如何做到中断diff过程和恢复
workLoop是 实现时间切片 和 可中断渲染的核心,简要说明如下: // 并发任务的入口function workLoopConcurrent() {// Perform work until Scheduler asks us to yield// 有任务 & 是否需要中断while (workInProgress ! null && !shouldYiel…...
python:PyPDF2 从PDF文件中提取目录
我发现 pypdf 和 pypdf2 的作者是同一人:Mathieu Fenniak pip install pypdf2 ; pypdf2-3.0.1-py3-none-any.whl (232 kB) 编写 pdf_read_dir.py 如下 # -*- coding: utf-8 -*- """ pypdf23.0.1 从PDF中提取目录 """ import os…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

