开源工具专题-02 Confluence企业级wiki

开源工具专题-02 Confluence企业级wiki

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

  • Confluence是一个企业级的 Wiki,可用于企业、部门、团队内部进行信息共享和协同编辑。

1 部署 confluence

1.1 目录结构

  • 目录结构说明
    • bin:启动脚本等
    • data:从容器中拷贝,所以前期先把容器运行起来
    • lib:从容器中拷贝
    • yaml:脚本中定义了目录映射关系
    • mysql:关联数据库
    confluence/
    ├── bin
    │   ├── atlassian-agent.jar # 破解包,有提供下载链接
    │   ├── ...
    │   └── setenv.sh
    ├── conf
    │   ├── ...
    │   └── server.xml
    ├── data
    │   ├── confluence.cfg.xml
    │   ├── docker-app.pid
    │   ├── ...
    │   └── temp
    ├── lib
    │   ├── ...
    │   └── mysql-connector-java-8.0.33.jar # 对应版本mysql驱动
    └── mysql
      └── conf
          ├── my.cnf
          └── mysql.env
    
    • 破解包和mysql驱动包下载地址
    链接:https://pan.baidu.com/s/18hnARb6-o_T0BdFyVmfiLA?pwd=442j
    

1.2 准备阶段

  • 操作步骤
    • 临时启动confluence,获取相关目录文件
    ### 拉取镜像并启动容器
    docker pull atlassian/confluence-server:8.6.1
    docker run -d --name confluence atlassian/confluence-server:8.6.1
    # 创建目录
    [hukanfa@hukanfa ~]mkdir -p confluence/mysql/conf backupFile && cd confluence
    
    ### 进入容器
    [hukanfa@hukanfa confluence] docker exec -it 1242e228dbfc /bin/bash
    # 打包 confluence 目录
    cd /var/atlassian/application-data
    tar -zcvf confluence_data.tar.gz ./confluence/
    # 打包 bin 目录
    cd /opt/atlassian/confluence
    tar -zcvf confluence_bin.tar.gz ./bin
    # 打包 lib 目录
    cd /opt/atlassian/confluence/confluence/WEB-INF
    tar -zcvf confluence_lib.tar.gz ./lib
    # 打包 conf 目录
    cd /opt/atlassian/confluence/
    tar -zcvf confluence_conf.tar.gz ./conf
    
    ### 额外新开一个宿主机窗口执行拷贝包操作,统一拷贝以上压缩包到本地 /home/hukanfa/backupFile
    docker cp 1242e228dbfc:/var/atlassian/application-data/confluence_data.tar.gz ./
    docker cp 1242e228dbfc:/opt/atlassian/confluence/confluence_bin.tar.gz ./
    docker cp 1242e228dbfc:/opt/atlassian/confluence/confluence/WEB-INF/confluence_lib.tar.gz ./
    docker cp 1242e228dbfc:/opt/atlassian/confluence/confluence_conf.tar.gz ./
    
    • 解压
    # 路径 /home/hukanfa/backupFile
    tar -zxvf confluence_bin.tar.gz -C ../confluence/
    tar -zxvf confluence_conf.tar.gz -C ../confluence/
    tar -zxvf confluence_data.tar.gz -C ../confluence/
    tar -zxvf confluence_lib.tar.gz -C ../confluence/
    
    # 修改名称
    mv ../confluence/confluence  ../confluence/data
    
    • mysql8 配置
    # 分享地址,请自行提取。也可自行配置
    https://pan.baidu.com/s/1yFVSy-_00_4P0cuAVIugUQ?pwd=lv3v
    # 相关配置文件请看目录结构放到指定目录下
    
    • 目录及文件调整
    ### 路径:/home/hukanfa/confluence
    # 目录权限
    chmod -R 755 bin/ conf
    chmod -R 644 lib/
    # 文件权限
    chmod 777 ./data/{docker-app.pid,confluence.cfg.xml}
    # setenv.sh 最后增加一行
    echo -e '\nexport JAVA_OPTS="-javaagent:/opt/atlassian/confluence/bin/atlassian-agent.jar ${JAVA_OPTS}"\n' >> ./bin/setenv.sh
    
    • 最后请将破解包和mysql驱动包放置到指定目录下

1.3 创建容器

  • 操作如下
    • docker-compose.yml
    version: '3'
    services:
    confluence:
      image: atlassian/confluence-server:8.6.1
      container_name: confluence-srv
      user: root
      privileged: true
      restart: unless-stopped
      environment:
        - TZ=Asia/Shanghai
      ports:
        - "8090:8090"
      volumes:
        - ./data:/var/atlassian/application-data/confluence/
        - ./bin:/opt/atlassian/confluence/bin
        - ./lib:/opt/atlassian/confluence/confluence/WEB-INF/lib
        - ./conf:/opt/atlassian/confluence/conf
      depends_on:
        - mysql
      networks:
        confluence:
          ipv4_address: 172.168.0.2
    mysql:
      image: mysql:8.0.33
      container_name: mysql-confluence
      user: root
      privileged: true
      restart: unless-stopped
      ports:
        - 3307:3306
      env_file:
        - ./mysql/conf/mysql.env
      environment:
        - TZ=Asia/Shanghai
      command:
        --default-authentication-plugin=mysql_native_password
      volumes:
        - ./mysql/conf/my.cnf:/etc/mysql/my.cnf
        - ./mysql/db:/var/lib/mysql
        - ./mysql/mysql-files:/var/lib/mysql-files
      networks:
        confluence:
          ipv4_address: 172.168.0.3
    networks:
    confluence:
      driver: bridge
      ipam:
        config:
        - subnet: 172.168.0.0/16
    
    • 运行
    docker-compose up -d
    

2 激活 confluence

  • 注意
    • 以下操作请一次性完成,中途尽量不要有刷新或者回退浏览器的操作
    • 否则会出现不可预估的报错,出现这种情况需要恢复最初的目录结构并清理数据库数据,回到最初状态从头再来

2.1 获取服务ID

  • 获取服务器ID
    • 访问页面:http://ipaddress:8090

    image-20230831133901291

    • 获取到服务器ID
    BGVA-HEDN-NK2W-777D
    

2.2 执行激活

  • 操作步骤
    • 执行以下命令获取
    docker exec confluence-srv java -jar /opt/atlassian/confluence/bin/atlassian-agent.jar \
    -p conf \
    -m 'hukanfa.com' \
    -n confluence \
    -o https://www.hukanfa.com \
    -s BGVA-HEDN-NK2W-777D
    
    • 页面填入激活码
    ====================================================
    =======     Atlassian Crack Agent v1.3.1     =======
    =======           https://zhile.io           =======
    =======          QQ Group: 30347511          =======
    ====================================================
    
    Your license code(Don't copy this line!!!): 
    # 复制这一部分
    AAABjw0ODAoPeJxtUctuozAU3fsrkGY5IjWQhjSSpSFA20yANCXptEuXXIpbY6htQjNfP05CpWpUy
    Ruf+ziP+2NTdVbQvVieYznjmXs5c7EV5hvLxa6HQglUs0ZEVAM5Ijae2p6D4j3l3alCSsoVoAhUI
    Vl7QraCs5pp2FmcFSAUWM8Hq9K6VbOLi78V4zBiDVrJFyqYOi/5rPZ9P3rnRUX1qGhqVDSiHNFCs
    z0QLTtAYSO0+ccpZZyYRlrpX1/6B75bqiqShn14PefNU9s9/hTb193rsmDl9KaOQpm7fBdU90Vft
    e8Jr9P1G16rMpiv+aphqlr+Dgg5k+eaSg1ycHmCkjPJ5tBCRmsg4SpN4/twESTIyBIaBBUFxB8tk
    4cht+mVjX3z0DC7iEiyiPI4sxNncuWNJ57jYjz2UQ5yD9KU5zcPgX0bR5mdLd0/tu/7EXqDwwNId
    czLmWDs46lnTjGs/J7vrpMmHAX/328I6nOde3aWdfUzyFW5VQYntoOMQvKNyuEKJ/fHQd6BcfwPi
    CTAOzAsAhQoiNcZCKAiJU/IJhi5M/YUynqnUAIUIFV8t7Z9D89Lg2f47XQtHTx4FEY=X02jb
    

    image-20230831153842979

    image-20230831142802224

    • 还有一个方法,就是将以下激活过的data/confluence.cfg.xml文件替换后,会自动跳过激活环节
    # 下载地址(8.6.1测试可用,其他版本应该都可行)
    https://pan.baidu.com/s/1vE1i540sbJ3Z4miMreSkdA?pwd=kawy 
    

3 配置 confluence

  • 注意
    • 以下操作请一次性完成,中途尽量不要有刷新或者回退浏览器的操作
    • 否则会出现不可预估的报错,出现这种情况需要恢复最初的目录结构并清理数据库数据,回到最初状态从头再来

3.1 mysql设置

  • 操作步骤
    • 经过上面步骤激活后,点击 Next 将进入数据库配置页

    image-20230831143228806

    • 创建 confluence 数据库及用户
    # docker exec -it 39ad5e2f1ddf mysql -u root -p
    Enter password: # 输入密码
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 24
    ...
    mysql> CREATE DATABASE confluence CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | confluence         |
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    mysql> CREATE USER 'confluence'@'%' IDENTIFIED BY 'VpKk5e^x&uIOLG';
    mysql> GRANT ALL PRIVILEGES  ON confluence.* TO 'confluence'@'%' WITH GRANT OPTION;
    mysql> flush privileges;
    
    • 完善页面配置信息

    image-20230831145106880

3.2 基础配置

  • 操作步骤如下
    • 经过上面数据库配置后,点击 Next 将进入加载内容页 配置页

    image-20230831192155423

    • 配置管理员用户账号密码

    image-20240320154552172

    • 点击 Next,在下一个页面点击 Start 后会跳转到 confluence 主页面 ,至此基础配置操作完成

4 恢复 confluence 数据

  • 说明
    • 若数据不小心被删,需要从定时备份恢复数据
    • 若旧版存在漏洞,在安装好新版后把旧版数据恢复到新版

4.1 数据备份

  • 说明
    • 空间数据的备份需以 *-xml.zip 格式
  • 具体步骤
    • 内容待补充

4.2 数据恢复

  • 操作步骤
    • 备份目录默认是不存在的,第一次需创建。
    # 若该目录映射到宿主机,则在宿主机相应目录下创建即可。下面操作为容器内路径,路径和名称不可改变
    cd /var/atlassian/application-data/confluence/
    mkdir -p restore/space
    # 将备份的 zip 文件拷贝至该目录下
    ls -l /var/atlassian/application-data/confluence/restore/space
    Confluence-space-export-183128-2.xml.zip
    
    • 进入备份恢复页:右上角齿轮 --> 一般设置 --> 备份与恢复 需要 admin 权限

    image-20230831195154563

    • 开始备份

    image-20230831195438473

5 插件安装激活

  • 说明
    • 在后续confluence使用过程中,通常需要用到画图,markdown等功能
    • 以上功能需要相应的插件支持,直接使用官方市场插件则需要付费
    • 本小节主要说明如何安装及破解插件

5.1 下载插件

  • 说明
    • 每个插件都是jar包,可以通过下面方式下载
    # markdown风格 bobswift-markdown-plugin-3.8.6 confluence-markdown-macro-plugin-1.6.22
    # 画流程图 drawio-confluence-plugin-12.0.7
    # 脑图 easymind-plugin-3.2.0
    # 网盘链接 https://pan.baidu.com/s/1fDXbRm0kx_Xi7iBa0DSPMQ?pwd=xm13 
    

    image-20231109170610347

    • 以上插件若不满足要求,可自行百度获取

5.2 安装激活

  • 操作步骤
    • 已管理员身份登录confluence,进入到以下路径:站点管理 --> 管理应用

    image-20231110110340509

    • 点击上传应用,选择上面下载的jar包

    image-20231110110606822

    image-20231110110654003

    • 应用上传完成后,在应用列表中选择上传的应用,点击下拉显示详情。获取应用密钥(程序包名)及许可证号

    image-20231110111257183

    • 获取许可证,这一步需要前面配置的 atlassian-agent.jar 包支持
    docker exec confluence-srv-8.6 java -jar /opt/atlassian/confluence/bin/atlassian-agent.jar \
    -p cz.morosystems.atlassian.plugin.easymind \
    -m kanfa.hu@hukanfa.com \
    -n confluence \
    -o https://www.hukanfa.com \
    #  -d true \  confluence-server 8.5版本不需要此参数 ,8.6及以上版本则需要
    -s SEN-L1699411964256
    
    • 将生成的激活码替换掉以下内容,保存后页面显示激活成功即可

    image-20231110111710364