开源工具专题-04 Atlassian Crowd部署备份及迁移

开源工具专题-04 Atlassian Crowd部署备份及迁移

  • 本教程由羞涩梦整理同步发布,本人技术分享站点:blog.hukanfa.com
  • 转发本文请备注原文链接,本文内容整理日期:2024-05-29
  • csdn 博客名称:五维空间-影子,欢迎关注

1 安装部署

1.1 制作镜像

:官方镜像也是可以用的,但这里需要做些定制操作所以干脆自行制作镜像

  • 操作如下

    • 前置环境准备
    # 创建目录
    mkdir DiyCrowdImage && cd DiyCrowdImage
    
    # 下载crwod包
    wget https://product-downloads.atlassian.com/software/crowd/downloads/atlassian-crowd-3.7.2.tar.gz
    
    # 下载jdk 官网:https://www.oracle.com/cn/java/technologies/downloads/
    链接:https://pan.baidu.com/s/1rEJbDiGD2iwyv6NVxex_Kw?pwd=ud62 
    
    # 下载 Atlassian Crack Agent 作者:https://zhile.io/2018/12/20/atlassian-license-crack.html
    链接:https://pan.baidu.com/s/1q9XU9o7LUjYC5howh_ZSPg?pwd=20ia
    
    # 下载mysql5.7驱动包 官网:https://downloads.mysql.com/archives/c-j/
    5.1.49 链接:https://pan.baidu.com/s/1ulTRJfEmV0X7I8JMueNFsw?pwd=a7cq 
    
    # 准备完毕,目录下的文件如下所示
    DiyCrowdImage/
    ├── atlassian-agent.jar
    ├── atlassian-crowd-3.7.2.tar.gz
    ├── Dockerfile
    ├── jdk-8u411-linux-x64.tar.gz
    └── mysql-connector-java-5.1.49-bin.jar
    
    • Dockerfile
    FROM hukanfa/rockylinux:9.3-base-v1.0
    # 设置环境变量
    ENV crowdData=/data \
        crowdHome=/app/crowd \
        crowdTomcatHome=/app/crowd/apache-tomcat \
        crowdInitConfig=/app/crowd/crowd-webapp/WEB-INF/classes/crowd-init.properties \
        crowdVersion=3.7.2
    # 创建目录
    RUN mkdir -p /app /data
    # java
    #ADD jdk1.8.0_77.tar.gz  /usr/local/
    ADD jdk-8u411-linux-x64.tar.gz /usr/local
    # crowd
    ADD atlassian-crowd-${crowdVersion}.tar.gz /app/
    # rename
    RUN mv /app/atlassian-crowd-${crowdVersion} ${crowdHome} \ 
        && mv /usr/local/jdk1.8.0_411  /usr/local/jdk
    # java 全局声明
    ENV PATH=/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    
    # 拷贝破解agent 和 mysql 驱动
    COPY atlassian-agent.jar /app/crowd/apache-tomcat/bin/
    COPY mysql-connector-java-5.1.49-bin.jar /app/crowd/apache-tomcat/lib/
    
    # 设置 crowd.home
    RUN echo "crowd.home=${crowdData}" >> ${crowdInitConfig}
    # 在声明java参数前插入加载agent的启动配置
    RUN sed -ri "/export JAVA_OPTS/i JAVA_OPTS=\"-javaagent:\$CATALINA_HOME\/bin\/atlassian-agent.jar \${JAVA_OPTS}\" " ${crowdTomcatHome}/bin/setenv.sh
    
    # 卷声明
    VOLUME ["/data","/app/crowd/apache-tomcat/conf"]
    
    # 工作目录
    WORKDIR $crowdTomcatHome
    
    # 端口
    EXPOSE 8095
    
    # 启动
    CMD ["bin/catalina.sh", "run", "$@"]
    
    • 构建镜像
    # 此镜像已经同步推送到hub.docker.com,可直接拉取
    docker build -t hukanfa/crowd:3.7.2-agent-mysql-v1.0 .
    
    • 创建容器
    ### 宿主机是 centos 直接执行以下命令
    docker run -itd --privileged=true -p 8095:8095 --name crowd hukanfa/atlassian-crowd:3.7.2-agent-mysql-v1.0
      
    ### 宿主机是 Rockylinux9.3 需要做些设置
    # 路径: /usr/lib/systemd/system/docker.service  增加 --default-ulimit nofile
    [Service]
    Type=notify
    ExecStart=/usr/bin/dockerd --default-ulimit nofile=65535:65535 -H fd:// --containerd=/run/containerd/containerd.sock
    ExecReload=/bin/kill -s HUP $MAINPID
      
    # 重载配置
    systemctl daemon-reload
    # 重启docker服务
    systemctl restart docker
    # 最后执行下面命令
    docker run -itd --privileged=true -p 8095:8095 --name crowd hukanfa/atlassian-crowd:3.7.2-agent-mysql-v1.0
    
    • 访问http://ip:8095,出现以下界面说明镜像制没问题

      image-20240520145259833

1.2 创建容器

  • 操作如下

    • docker-compose.yaml
    version: '3'
    services:
      confluence:
        image: hukanfa/atlassian-crowd:3.7.2-agent-mysql-v1.0
        container_name: crowd-srv
        user: root
        privileged: true
        restart: unless-stopped
        environment:
          - TZ=Asia/Shanghai
        ports:
          - "8095:8095"
        volumes:
          - ./data:/data
          - ./webConf:/app/crowd/apache-tomcat/conf
    
    • 拷贝文件
    # 创建临时容器
    docker run -itd --privileged=true -p 8095:8095 --name crowd hukanfa/atlassian-crowd:3.7.2-agent-mysql-v1.0
    # 进入容器
    docker exec -it crowd /bin/bash
    # 打包配置目录
    tar -zcvf conf.tar.gz ./conf/
    
    # 另开窗口,拷贝到外面
    docker cp crowd:/app/crowd/apache-tomcat/conf.tar.gz ./
    # 解压
    tar -zxvf conf.tar.gz 
    # 重命名
    mv conf webConf
    
    • 创建容器
    docker-compose up -d
    
    • mysql5.7
    # mysq请自行部署,提供5.7容器方式部署demo下载链接,解压运行即可
    https://pan.baidu.com/s/1bWL03T9q0PwDbUINu4HnOA?pwd=0m1t 
    
    # my.cnf 文件需加入以下配置
    [mysqld]
    ...
    transaction-isolation = READ-COMMITTED
    
    # 创建用户及数据库并授权,crowd 此版本只支持 utf8 格式
    CREATE USER 'crowd'@'%' IDENTIFIED BY 'UxqibGbgx3';
    create database crowd CHARACTER SET utf8 COLLATE utf8_bin;
    GRANT ALL ON crowd.* TO 'crowd'@'%';
    flush privileges;
    

1.3 初始配置

  • 操作如下

    • 访问http://ip:8095,点击 Set up Crowd

    image-20240520164308888

    • 复制 Server ID
    # Server ID 
    B8VY-UDPW-7NRD-1R6H
    # 获取 License_key
    docker exec -it crowd-srv java -jar /app/crowd/apache-tomcat/bin/atlassian-agent.jar \
    -p crowd \
    -m hukanfa@example.com \
    -n crowd_license \
    -o https://www.hukanfa.com \
    -s B8VY-UDPW-7NRD-1R6H  # 替换为 Server ID
    # 将生成的 license 粘贴到页面的文本框中
    AAABlQ0ODAoPeJxtkU+PmzAQxe/+FEg9ViQYCAmRLG0WiJYq5A8k2eZUedlJcBcMtQ0s/fQlCblUK
    /niGc97P7/5FpVci2inmYaGnbntzk1X85J9fzdt5AmgipXcpwrItaIbE900UNDQvL51yJnmEpAPM
    hWsulUOPGcFU/Cu5SwFLkF767RMqUrOx+O/GcthxEq0ERfKmbyLPLpt246y+oPyMx2lZYFSUbbvo
    9VdZt9VsKYFEG8TRUHshYvV8CBRVCgQA4tXckVTFUSU5WRQe4JPWlS981V1wHqhMiORZ3jLnfds8
    fZPieVlcZz4S/YzOf/4HU7G1ml/CQ+LOrPGu/gUFssudrffG7trjp5ZmdaOoN6FK+CUpxB8Vkx0Q
    1YzVzem/UEDfeiTVegnwVpf4Sl2sGu7jotte/hCD8waIErUgBIQDYh+4Hl2POkHf/uqT9exr+PYe
    UEf0B1ByGtq2DGMqTGzLPww+ZpgW4s0oxL+3+LdeV0XbyA254PsZYmOH/E8XEzUQ5MvwIecbyu5S
    f0aJv8BzejCkzAsAhRxb9+rU5GnV6uaUHhvmZmjvJH3nwIUFbxqhLgFf/XCrc+hXhWVHrLkVnY=X
    02jj
    

    image-20240520165042878

    image-20240529142939120

    • 下一步,选择 Continue

    image-20240529143003281

    • 数据库配置
    # JDBC_URL 前面配置的账号密码: crowd  UxqibGbgx3
    jdbc:mysql://192.168.26.5:3307/crowd?autoReconnect=true&characterEncoding=utf8&useUnicode=true
    

    image-20240520170137846

    重要:数据库初始化完成后,需要把库和相关表字符集调整成utf8mb4

    ### 目的:支持带有表情包的用户名称,兼容其他数据源的数据迁移导入而不报错
    # 修改数据库字符集
    ALTER DATABASE crowd CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
    # 修改用户表字符集
    ALTER TABLE cwd_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    
    • 下一步:访问设置

    image-20240529143514582

    image-20240520170538645

    • 管理员账号密码设置

    image-20240520170647075

    • 下面直接点继续

    image-20240520170824596

    • 以上所有配置完成会跳转到登录界面,至此,初始配置已完成

    image-20240520170931286

1.4 Jvm管理(可选)

  • 说明

    • 本节主要介绍如何手动管理crowd(tomcat)jvm大小
    • 也可忽略,使用默认配置即可
  • 操作如下

    • setenv.sh 调整
    # 容器内路径: /app/crowd/apache-tomcat/bin/setenv.sh ,主要是前三行
    jvmXms=${JVM_TOMCAT_XMS:=128m}
    jvmXmx=${JVM_TOMCAT_XMX:=512m}
    JAVA_OPTS="-Xms${jvmXms} -Xmx${jvmXmx} -Dfile.encoding=UTF-8 $JAVA_OPTS"
    
    JAVA_OPTS="-javaagent:$CATALINA_HOME/bin/atlassian-agent.jar ${JAVA_OPTS}" 
    export JAVA_OPTS
    
    # set the location of the pid file
    if [ -z "$CATALINA_PID" ] ; then
        if [ -n "$CATALINA_BASE" ] ; then
            CATALINA_PID="$CATALINA_BASE"/work/catalina.pid
        elif [ -n "$CATALINA_HOME" ] ; then
            CATALINA_PID="$CATALINA_HOME"/work/catalina.pid
        fi
    fi
    export CATALINA_PID
    
    • docker-compose.yaml
    version: '3'
    services:
      confluence:
        image: hukanfa/atlassian-crowd:3.7.2-agent-mysql-v1.0
        container_name: crowd-srv
        user: root
        privileged: true
        restart: unless-stopped
        environment:
          - TZ=Asia/Shanghai
          - JVM_TOMCAT_XMS="500m"
          - JVM_TOMCAT_XMX="2000m"
        ports:
          - "8095:8095"
        volumes:
          - ./data:/data
          - ./webConf:/app/crowd/apache-tomcat/conf
          - ./setenv.sh:/app/crowd/apache-tomcat/bin/setenv.sh
    
    • 查看调整
    [root@hukanfa crowd]# docker top crowd-srv
    

    image-20240529165257539

    • 界面 System Information 显示的 JVM statistics 也相应变化

    image-20240529165434379

2 数据备份

  • 说明

    • Crowd 是账号统一管理及认证平台,其数据安全必须得到可靠保障
    • Crowd 数据备份有2种途径
      • 1 界面设置定时备份规则,会生成.xml格式的备份文件
      • 2 数据库载体的备份,不管是用 hsqldb 还是 mysql 都应做相应的备份措施
  • 操作如下

    • 路径:右上角小齿轮 > Backup

    image-20240520185502604

    • 备份文件存放路径
    # 最多保留50份备份
    /data/shared/backups
    

3 数据迁移&恢复

  • 说明

    • Crowd 支持通过导入备份的xml格式文件进行数据迁移或恢复
  • 数据迁移注意事项说明

    • 此次将3.7.0版本且数据源是HSQLDB的实例数据迁移到3.7.2版本的mysql
    • 若想保持 3.7.0 版本的管理员用户迁移后密码不变,需在新建3.7.2版本实例时,在以下页面设置相同密码

    image-20240520170647075

    • 在 3.7.2 实例所有设置完成后,到数据库cwd_user表中将该用户的credential字段值记录下来
    • 将 3.7.0 实例备份出的xml文件导入到 3.7.2 完成后,再比对导入前和导入后的credential值是否一致,若不一致则用前面记录的值更新导入后的即可
    • 其他非以上初始界面添加的用户密码不变,将和 3.7.0 的一致
  • 操作如下

    • 直接从备份目录中选择指定的备份文件进行恢复
    # 
    /home/hukanfa/crowd/data/shared/backups
    [root@hukanfa backups]# ls
    atlassian-crowd-2024-05-21-020000-automated-backup-3.7.0.xml
    
    • 界面操作恢复操作
    # 注意,在4.1.3节初始配置中提到。数据迁移操作需对crowd数据库和cwd_user表字符集先转成utf8mb4先
    /data/shared/backups/atlassian-crowd-2024-05-21-020000-automated-backup-3.7.0.xml
    

    image-20240521103751449

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

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

相关文章

SpringBoot与Spring Framework提供的缓存抽象

目录 缓存 项目总结 新建一个SpringBoot项目 pom.xml application.properties CacheConfig Book BookRepository接口 BookService服务类 BookController控制器 SpringbootCacheApplication启动类 启动项目,使用Postman测试 参考博文: 1、使用…

无人港口/码头兴起,可视化大屏功不可没。

码头/港口可视化大屏可以为管理上带来多方面的价值,包括但不限于: 1. 实时监控: 大屏可以将港口的各种数据、设备状态、船舶位置等信息实时展示,管理人员可以通过大屏随时监控港口的运营情况,及时发现并处理问题。 2…

第13章 常用类

一、包装类 二、String String的常用方法: equals:判断内容是否相等,区分大小写。 String str1 "hello";String str2 "Hello";System.out.println(str1.equals(str2));//false equalsIgnoreCase:判断内容…

清华大学提出IFT对齐算法,打破SFT与RLHF局限性

监督微调(Supervised Fine-Tuning, SFT)和基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)是预训练后提升语言模型能力的两大基础流程,其目标是使模型更贴近人类的偏好和需求。 考虑到监督…

一文看懂标准版和Pro版的区别

在CRMEB的众多产品中,有这样两款产品经常被拿来比较,它们就是CRMEB的标准版和Pro版商城系统,今天,我们就来盘一下这两款系统之间究竟有哪些不同。 1、Pro版系统性能更卓越 CRMEB Pro版采用Tp6 SwooleRedis高性能框架开发&#…

游戏联运平台如何助力游戏行业飞速发展?

随着科技的进步和互联网的普及,游戏行业正以前所未有的速度飞速发展。在这个过程中,游戏联运平台凭借其独特的优势和功能,成为了推动游戏行业腾飞的关键力量。本文将探讨游戏联运平台如何助力游戏行业实现飞速发展。 一、游戏联运平台的定义与…

四川易点慧电商抖音小店信誉之店

在当下这个电商飞速发展的时代,如何在众多网店中挑选出一家既可靠又值得信赖的店铺,成为了消费者们关注的焦点。四川易点慧电子商务有限公司抖音小店以其卓越的品质和诚信的经营,逐渐在抖音平台上崭露头角,成为了众多消费者心中的…

北京大学第一医院与智源研究院共同发布基于可信执行环境的AI医学影像挑战赛

肾动脉狭窄是导致继发性高血压及肾功能不全的常见原因,而目前针对肾动脉狭窄功能学的评估尚处于探索阶段。数据保护和可信计算环境是目前人工智能技术应用于临床研究的一大瓶颈。北京大学第一医院与北京智源人工智能研究院心脏AI 联合研究中心特发布基于可信执行环境…

FreeSwitch视频会议同时支持内网和外网接入

我们在使用freeswitch进行视频会议时,之前所有的用户都是通过外网的方式接入,因为fs给其返回的sdp协议内容里,只需要fs配置的外网IP就可以了;最近由于引入新的业务需要有其他内网的服务器也可以直接接入fs的视频会议房间&#xff…

VirtualBox虚拟机与bhyve虚拟机冲突问题解决@FreeBSD

问题 在安装完bhyve虚拟系统的主机上启动VirtualBox虚拟机的时候,报错:不能为虚拟电脑 debian 打开一个新任务. VirtualBox cant operate in VMX root mode. Please close all other virtualization programs. (VERR_VMX_IN_VMX_ROOT_MODE). 返回 代码…

5292A 物联网信号分析仪

5292A 物联网信号分析仪 —— 10MHz~6GHz —— 简述 5292A物联网信号分析仪是一款通用的矢量信号分析仪,频率范围覆盖 10MHz~6GHz,具有良好的频率、功率测量精度和稳定度;支持模拟与数字调制信号、全制式的通信标准…

Linux DHCP server 配置

参考:linux dhcp配置多vlan ip_linux 接口vlan-CSDN博客 配置静态IP地址: 给固定的MAC地址分配指定的IP地址,固定的IP地址不必包含在指定的IP池中,如果包含在IP地址池中,固定的IP地址会从IP地址池中移除 配置方法&…

数组-检查数组内是否存在和为7的倍数的子序列

一、题目描述 二、解题思路 这里首先要分辨清楚是子序列还是子数组 原数组:[1,2,3,4,5] 子序列:元素和元素之间相对位置保持不变,但是在原数组中不一定连续,如:[1,3,4]; 子数组:元素元素之间保…

小型水库水雨情和大坝安全监测解决方案

小型水库水雨情和大坝安全监测解决方案 小型水库作为重要的水资源管理和防洪调蓄设施,在保障农业灌溉、居民饮水及防洪安全方面发挥着不可或缺的作用。然而,由于其规模限制,小型水库往往在水雨情监测和大坝安全评估方面面临资源和技术的双重…

全球市值最高的能源公司沙特阿美股份拟出售,筹集百亿美元

KlipC报道:据5月28日市场消息,沙特政府可能最快会在本周宣布拟出售国营石油公司沙特阿美股份,筹集100亿-200亿美元。 沙特阿美是世界最大的石油生产商,2019年在沙特证交所上市。沙特的经济高度依赖石油出口。此前,受石…

DxO PhotoLab 6 for Mac/Win:专业RAW图片编辑的利器

DxO PhotoLab 6 for Mac/Win是一款专为摄影师和摄影爱好者打造的专业RAW图片编辑软件,它将先进的技术、丰富的功能与直观的操作完美结合,为用户提供了一款全面而强大的图片处理工具。 一、技术领先,处理RAW图片更高效 DxO PhotoLab 6采用了…

Swift 构造过程

构造过程 一、存储属性的初始赋值1、构造器2、默认属性值 二、自定义构造过程1、形参的构造过程2、形参命名和实参标签3、不带实参标签的构造器形参4、可选属性类型5、构造过程中常量属性的赋值 三、默认构造器结构体的逐一成员构造器 四、值类型的构造器代理五、类的继承和构造…

[MySQL最详细的知识点]

MySQL 关系型数据库以一行作为一个记录,列数据库以一列为一个记录一行是一个记录,一列是一个字段一行是一个实体,一列是一个属性 MySQL引擎: MySQL引擎:可以理解为,MySQL的“文件系统”,只不过功能更加强大。​MySQL引擎功能:除…

小白跟做江科大32单片机之蜂鸣器

1.复制之前编写的工程库项目,详细工程库创建过程如下链接: 小白跟做江科大32单片机之LED闪烁-CSDN博客https://blog.csdn.net/weixin_58051657/article/details/139295351?spm1001.2014.3001.55022.按照江科大老师给的图片进行连接蜂鸣器 3.修改main.c…

【Unity之FGUI】白仙章Fairy GUI控件详解二

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:就业…