OpenProject 安装迁移

文章目录

    • 1、概要
    • 2、备份
    • 3、新服务器安装OpenProject
    • 4、新服务器安装Postgresql
    • 5、旧服务器数据转移到新服务器
      • 5.1、转移attachments附件
      • 5.2、转移conf配置文件
      • 5.3、转移存储库
      • 5.4、导入Postgres数据库
    • 6、openproject配置

1、概要

注意:本文仅适用于 DEB/RPM 包安装 OpenProject 的情况。


2、备份

在旧服务器上

  1. 停止openproject服务
  2. 执行备份命令,生成备份文件
  3. 备份目录是 /var/db/openproject/backup
$ systemctl stop openproject
$ openproject run backup
$ cd /var/db/openproject/backup
$ ll
total 233188
-rw-r----- 1 openproject openproject 237985777 Feb 20 14:55 attachments-20240220145520.tar.gz
-rw-r----- 1 openproject openproject      1094 Feb 20 14:55 conf-20240220145520.tar.gz
-rw-r----- 1 openproject openproject       124 Feb 20 14:55 git-repositories-20240220145520.tar.gz
-rw-r----- 1 openproject openproject    789900 Feb 20 14:55 postgresql-dump-20240220145520.pgdump
文件描述
attachments-*.tar.gz附件文件备份
conf-*.tar.gz配置文件备份
git-repositories-*.tar.gz仓库文件备份
postgresql-dump-*.pgdumppostgres数据库备份

打包服务器目录 /etc/openproject下的所有文件,生成压缩包 openproject.tar.gz

因为openproject.tar.gz这里面的配置比 conf-*.tar.gz 的配置信息更全面一些,所以我们就不使用 conf-*.tar.gz ,改为使用 openproject.tar.gz

$ cd /etc/
$ tar -zcvf openproject.tar.gz openproject

3、新服务器安装OpenProject

获取openproject yum 源

## Centos 8、Rocky 8 执行
$ wget -O /etc/yum.repos.d/openproject.repo   https://dl.packager.io/srv/opf/openproject/stable/13/installer/el/8.repo
## Centos 7 执行
$ wget -O /etc/yum.repos.d/openproject.repo   https://dl.packager.io/srv/opf/openproject/stable/13/installer/el/7.repo
## 清除yum源缓存信息
$ yum clean all
## 加载yum源缓存信息
$ yum makecache

开始安装openproject

$ yum install -y openproject

注意 正常的安装步骤下面该执行: openproject configure
但是我们现在要做的是迁移openproject,需要接管之前安装的配置,所以不执行此命令。


4、新服务器安装Postgresql

postgresql怎么安装这里就不讲了,这里讲一个简单的方法
当然,如果您对安装Postgresql比较熟悉的话,可以略过这一步,您直接安装就可以

官方要求:已创建数据库用户和数据库,最好使用与旧环境相同的名称

在上一步我们说了openproject configure这个命令不在执行,但是我们为了方便安装Postgresql可以继续执行它。

安装完毕后执行以下命令,获取openproject的Postgresql配置。

务必记住它,把它复制粘贴下来!!!
务必记住它,把它复制粘贴下来!!!
务必记住它,把它复制粘贴下来!!!

$ vim /etc/openproject/conf.d/00_addon_postgres

00_addon_postgres文件内容

export DATABASE_URL="postgres://openproject:NoG3jcpyKCVkdqyRDnZNza0yyyXz3OCY@127.0.0.1:45432/openproject"

执行openproject的卸载命令:

$ yum remove -y openproject -y
$ rm -rf /etc/openproject
$ rm -rf /usr/share/openproject
$ rm -rf /opt/openproject
$ rm -rf /var/db/openproject
$ yum remove -y memcached

完成后继续执行 3、新服务器安装OpenProject


5、旧服务器数据转移到新服务器

2、备份 生成的数据转移到新的服务器中


5.1、转移attachments附件

$ tar -zxvf attachments-*.tar.gz
$ mv attachment /var/db/openproject/files/
$ chown -R openproject:openproject /var/db/openproject/files/

5.2、转移conf配置文件

$ tar -zxvf openproject.tar.gz
$ mv openproject/* /etc/openproject/
$ chown -R openproject:openproject /etc/openproject/

5.3、转移存储库

Git、Subversion 存储库方式一样

执行以下命令查看repositories/git-path后面的配置目录

$ vim /etc/openproject/installer.dat
repositories/git-path /home/openproject/git

我们git目录是:/home/openproject/git

$ tar -zxvf git-repositories-*.tar.gz
$ mv git /home/openproject/
$ $ chown -R openproject:openproject /home/openproject/

5.4、导入Postgres数据库

Postgres中新建一个数据库op,所属用户为openproject,字符集为UTF8,

建议使用navicat或者其他可视化界面创建

  1. 修改 00_addon_postgres 文件

export DATABASE_URL="postgres://openproject:NoG3jcpyKCVkdqyRDnZNza0yyyXz3OCY@127.0.0.1:45432/openproject
->
export DATABASE_URL="postgres://openproject:NoG3jcpyKCVkdqyRDnZNza0yyyXz3OCY@127.0.0.1:45432/op

$ vim /etc/openproject/conf.d/00_addon_postgres
  1. 修改 installer.dat 文件,修改postgres/db_name对应的名称,

postgres/db_name openproject
->
postgres/db_name op

$ vim /etc/openproject/installer.dat

执行以下导入命令

sudo pg_restore --clean --if-exists --dbname $(sudo openproject config:get DATABASE_URL) postgresql-dump-*.pgdump

6、openproject配置

执行命令,一路回车,即可安装完毕

$ openproject configure

安装推荐:OpenProject + Rocky8安装
安装推荐地址:https://mp.weixin.qq.com/s/_siCP8FiBYZK_PCr2CtUSg




关注「猿圈搬砖日常」公众号
免费获取代码实例、技术分享
欢迎大佬进行有偿供稿

在这里插入图片描述

添加微信好友「猿圈搬砖工
获取更多技术咨询、疑难解答
欢迎更多商务合作

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/399345.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高品质定制线缆厂家推荐:精工电联-打造智能智造的线缆解决方案(线缆定制流程)

高品质定制线缆厂家:精工电联-打造智能智造的线缆解决方案(定制线缆定制流程) 精工电联 在百年未有之大变局的当下,科技发展日新月异的今天,智能制造正在改变着各行各业的生产及人们的生活方式。作为线缆制造领域的领先…

0220作业

C语言实现LED1闪烁 led.h #ifndef __LED_H__ #define __LED_H__//RCC寄存器封装 #define RCC_MP_AHB4_ENSETR (*(volatile unsigned int*)0x50000A28) //寄存器封装//GPIO寄存器封装 typedef struct{volatile unsigned int MODER; //00volatile unsigned int OTYPER; //04vol…

c++:蓝桥杯中的基础算法1(枚举,双指针)

枚举 基础概念&#xff1a; 枚举&#xff08;Enum&#xff09;是一种用户定义的数据类型&#xff0c;用于定义一个有限集合的命名常量。在C中&#xff0c;枚举类型可以通过关键字enum来定义。 下面是一个简单的枚举类型的定义示例&#xff1a; #include <iostream>enum…

Spring Bean 的生命周期了解么?

Spring Bean 的生命周期基本流程 一个Spring的Bean从出生到销毁的全过程就是他的整个生命周期, 整个生命周期可以大致分为3个大的阶段 : 创建 使用 销毁 还可以分为5个小步骤 : 实例化(Bean的创建) , 初始化赋值, 注册Destruction回调 , Bean的正常使用 以及 Bean的销毁 …

leetcode 105. 从前序与中序遍历序列构造二叉树【构造二叉树】

原题链接&#xff1a;105. 从前序与中序遍历序列构造二叉树 题目描述&#xff1a; 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 输入输出描述&…

ETL快速拉取物流信息

我国作为世界第一的物流大国&#xff0c;但是在目前的物流信息系统还存在着几大的痛点。主要包括以下几个方面&#xff1a; 数据孤岛&#xff1a;有些物流企业各个部门之间的数据标准不一致&#xff0c;难以实现数据共享和协同&#xff0c;容易导致信息孤岛。 操作繁琐&#x…

小程序--loading和toast

一、loading wx.showLoading({})显示loading提示框。wx.hideLoading({})隐藏loading提示框。 title&#xff1a;文字提示内容 mask&#xff1a;是否显示透明蒙层&#xff0c;防止触摸穿透。 更多属性参考showLoading官方文档。 wx.showLoading({title: 加载中...,mask: true }…

HTML学习笔记——08:表单<form>

HTML <form> 元素表示文档中的一个区域&#xff0c;此区域包含交互控件&#xff0c;用于向 Web 服务器提交信息。 例如&#xff1a;登录页面。 作用&#xff1a;搜集不同类型的用户输入&#xff0c;并向服务器传送数据。 注意&#xff1a;表单本身并不可见&#xff01;…

Git基本操作(2)

Git基本操作&#xff08;2&#xff09; 上交文件之后&#xff0c;git文件的变化git cat-file HEAD指针里面有啥文件被修改git statusgit diff 文件名 版本回退&#xff08;git reset&#xff09;撤销回退git reflog 撤销的三种情况还没有addgit checkout -- [file] 已经add还没…

全志 T527 适配 I2S

一、背景概念 在 T5 系列芯片中&#xff0c;内置了一个 AudioHub 模块&#xff0c;使用的 是I2S 接口&#xff0c;都跟 AudioHub 关联在一起&#xff0c;此时外挂的声卡若想正常工作&#xff0c;还需要配置 AudioHub 的路由信息。&#xff08;AudioHub 是全志 T527 特有的模块&…

【Java程序员面试专栏 数据结构】三 高频面试算法题:栈和队列

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,因为栈和队列这两哥们结构特性比较向对应,所以放到一篇Blog中集中练习 题目题干直接给出对应博客链接,这里只给出简单思路、代码实现、复杂度分析 题目关键字…

高考杂志高考杂志社高考编辑部2023年第32期目录

高考论坛 高中数学课堂教学中创设有效情境的策略探究 黄进生; 3-5 核心素养为导向的高中物理教学探究 王丽萍; 6-8 高中化学“教、学、评”一体化教学模式的有效应用 陈燕; 9-11《高考》投稿&#xff1a;cn7kantougao163.com 新高考背景下高中英语阅读理解教学…

xshell安装社区(免费)版本

xshell安装社区(免费)版本 官方网址&#xff0c;点击直接跳转&#xff1a;https://www.xshell.com/zh/free-for-home-school/ 1.打开链接之后&#xff0c;先选择 家庭/学校免费 &#xff0c;然后输入名字和邮箱&#xff0c;勾选需要下载的资源&#xff1a; 2.然后邮箱就会收到…

Dockerfile文件中只指定挂载点会发生什么?

当你在VOLUME指令中只指定容器内的路径&#xff08;挂载点&#xff09;而不指定宿主机的目录时&#xff0c;Docker会为该挂载点自动生成一个匿名卷。这个匿名卷存储在宿主机的某个位置&#xff0c;但这个具体位置是由Docker自动管理的&#xff0c;用户通常不需要关心这个存储位…

JavaScript 设计模式之组合模式

组合模式 在我们日常中肯呢个会将一个表单用这种模式来创建 const Car function () { } Car.prototype.getName function () { throw new Error("需要重写该方法") } Car.prototype.getPrice function () {throw new Error("需要重写该方法") } const…

K8S临时小结

k8s是什么&#xff1f;能解决什么问题&#xff1f; k8s是容器管理平台&#xff0c;一套复杂的开源系统 如何更好的维护pod&#xff0c;k8s第二大要素&#xff08;pod控制器&#xff09; k8s的很多对容器&#xff08;pod&#xff09;管理的高级特性&#xff0c;都是基于控制器…

HarmonyOS—@Observed装饰器和@ObjectLink嵌套类对象属性变化

Observed装饰器和ObjectLink装饰器&#xff1a;嵌套类对象属性变化 概述 ObjectLink和Observed类装饰器用于在涉及嵌套对象或数组的场景中进行双向数据同步&#xff1a; 被Observed装饰的类&#xff0c;可以被观察到属性的变化&#xff1b;子组件中ObjectLink装饰器装饰的状…

HCIA-HarmonyOS设备开发认证V2.0-IOT硬件子系统-GPIO

目录 一、GPIO 概述二、GPIO模块相关API三、实例四、GPIO HDF驱动开发4.1、LED驱动程序(待续...)4.2、LED驱动配置(待续...) 坚持就有收获 轻量系统设备通常需要进行外设控制&#xff0c;例如温湿度数据的采集、灯开关的控制&#xff0c;因此在完成内核开发后&#xff0c;需要进…

Rancher实用篇-使用rancher,部署微服务应用

说到rancher&#xff0c;我们必须先了解一下k8s 一、k8s简介 Kubernetes&#xff08;通常简写为 K8s&#xff09;是一个开源的容器管理系统&#xff0c;由Google于2014年发起&#xff0c;并在2015年贡献给Cloud Native Computing Foundation (CNCF)进行维护。它基于Borg项目的…

app逆向-平头哥框架ratel使用

文章目录 一、前言二、实现逻辑1、安装ratel手机端app2、使⽤电脑端进⾏感染目标app3、开发⼀个平头哥插件 一、前言 平头哥&#xff08;ratel&#xff09;是⼀个Android逆向分析⼯具套件&#xff0c;他提供⼀系列渐进式app逆向分析⼯具。同时平头哥也是⼀个app⼆次开发的沙箱…
最新文章