一个伪linux粉丝的blog

  1. 首页
  2. unix/linux
  3. 正文

Docker_Conflunce

30 6 月, 2020 1448点热度 0人点赞 0条评论

1. 背景

临时接到一个任务,某测试环境搭建一套Conflunce知识库,决定采用容器方式来部署,找到了这篇文档 容器化部署Confluence知识库,没有坑点,因此本文基本上为转载加上自己实践截图,增加了 docker 安装和 maven 环境安装 2 个部分内容。

2. 步骤

2.1. 环境配置

  1. 操作系统
    版本:CentOS Linux release 7.7.1908 (Core)   vm里面开设一台 8c,16G,200G 配置的虚拟机。
  2. Docker
    版本:Docker version 19.03.12
    安装方式:yum 命令安装

  3. MySQL
    版本:5.7.29
    安装方式:容器化
  4. Confluence
    版本:7.5.2
    安装方式:容器化

 

2.2. 安装docker

在shell中运行以下命令,安装docker基础环境

yum install docker-ce yum-utils device-mapper-persistent-data lvm2 -y
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce -y
systemctl enable docker && systemctl start docker

 

2.3.  安装MySQL服务器

在shell中运行以下命令,容器化部署MySQL数据库:

docker run --detach --restart=always --name mysql --hostname mysql --publish 3306:3306 --volume /var/lib/mysql:/var/lib/mysql --env MYSQL_ROOT_PASSWORD=jirapassword mysql:5.7.29 --innodb_log_file_size=2GB --max_allowed_packet=256M

这里直接选用了官网的 mysql:5.7.29 版基础镜像,,公开主机的 3306 端口,通过目录挂载 /var/lib/mysql 作为 mysql 数据目录,最大数据包256M,mysql日志2GB,密码 jirapassword

创建用户和数据库

在shell中运行以下命令,创建confluence的库表和用户:

  1. docker exec-it mysql mysql -uroot -pjirapassword-e "CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin;"
  2. docker exec-it mysql mysql -uroot -pjirapassword-e "CREATE USER 'confluence'@'%' IDENTIFIED BY 'jirapassword';"
  3. docker exec-it mysql mysql -uroot -pjirapassword-e "GRANT ALL ON confluence.* TO 'confluence'@'%';"
  4. docker exec-it mysql mysql -uroot -pjirapassword-e "FLUSH PRIVILEGES;"

 

2.4. 破解插件

关于破解部分,仅限测试研究用,切记!官方10人以下似乎是免费。

2.4.1. 克隆代码

在shell中运行以下命令,克隆atlassian-agent工具的源码,然后切换至最新分支:

  1. git clone https://gitee.com/pengzhile/atlassian-agent.git
  2. cd atlassian-agent
  3. git checkout v1.2.3

2.4.2. 编译打包

在shell中运行以下命令,使用maven进行编译和打包:

mvn package

编译打包完成之后,可以在target目录中找到atlassian-agent-jar-with-dependencies.jar文件,这就是破解工具!

ps. 这个新环境当前还没有maven,需要执行如下步骤:
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar zxvf apache-maven-3.6.3-bin.tar.gz
mkdir -p /usr/local/dev/maven
mv apache-maven-3.6.3 /usr/local/dev/maven/
vim ~/.bash_profile
#添加如下几行
#maven
M2_HOME=/usr/local/dev/maven/apache-maven-3.6.3
export M2_HOME
PATH=${PATH}:${M2_HOME}/bin
export PATH
#变量生效
source ~/.bash_profile

2.4.3. 复制破解工具

在shell中运行以下命令,在宿主机上创建Confluence的工作目录,然后将破解工具复制过去:

  1. sudo mkdir -pv /var/atlassian/application-data/confluence
  2. sudo cp target/atlassian-agent-jar-with-dependencies.jar /var/atlassian/application-data/confluence/atlassian-agent.jar

2.5. 安装和配置知识库

2.5.1. 1. 安装Confluence知识库

在shell中运行以下命令,容器化部署Confluence知识库:选择了confluence-server 官方最新版 7.5.2 的镜像

docker run --detach --restart=always --volume /var/atlassian/application-data/confluence:/var/atlassian/application-data/confluence --volume /etc/localtime:/etc/localtime:ro --name=confluence --hostname=confluence --link mysql --env ATL_JDBC_URL="jdbc:mysql://mysql:3306/confluence?sessionVariables=tx_isolation='READ-COMMITTED'&useUnicode=true&characterEncoding=utf8&autoReconnect=true" --env ATL_JDBC_USER=confluence --env ATL_JDBC_PASSWORD=jirapassword --env ATL_DB_TYPE=mysql --env JAVA_OPTS="-javaagent:/var/atlassian/application-data/confluence/atlassian-agent.jar ${JAVA_OPTS}" --publish 80:8090 --publish 443:8091 --publish 4430:9083 atlassian/confluence-server:7.5.2

挂载了容器的数据目录/var/atlassian/application-data/confluence、

主机名confluence、mysql数据库主机名mysql、

以及一些环境变量值(如前面的JAVA_OPTS="-javaagent:/var/atlassian/application-data/confluence/atlassian-agent.jar)用于破解,

端口映射默认的http 8090至主机80端口、8091的https端口至443、Balsamiq线框图插件的端口9083至4430端口

:idea: 补充说明:

上面的代码块当中ATL_JDBC_URL=当中的 & 如果不是 & 转义 格式,conflunce 启动后第一步 会遇到类似报错

Error on line 18 of document : The reference to entity "useUnicode" must end with the ';' delimiter. Nested exception: The reference to entity "useUnicode" must end with the ';' delimiter.

解决方法如下,直接修改 /var/atlassian/application-data/confluence/confluence.cfg.xml 第24行,确保将&全换成& 格式

2.5.2. 安装MySQL驱动

在Shell中运行以下命令,下载MySQL的JDBC驱动包,然后将其解压并拷贝至容器,最后重启容器:

  1. wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.48.tar.gz
  2. tar xvzf mysql-connector-java-5.1.48.tar.gz
  3. docker cp mysql-connector-java-5.1.48/mysql-connector-java-5.1.48.jar confluence:/opt/atlassian/confluence/lib
  4. docker restart confluence

 

2.5.3. 破解Confluence知识库

在浏览器中打开http://10.10.10.10,进入Confluence的应用选择页面,如下图所示:

 

点击“Next”按钮,进入授权页面,如下图所示:

记住上图红框中的Server ID,这是Confluence为服务器生成的唯一标识符,每台服务器都不相同。在Shell中运行以下命令,破解Confluence知识库:

  1. docker exec-it confluence java -jar /var/atlassian/application-data/confluence/atlassian-agent.jar \
  2. -p conf -m <mailbox>-n <username>-o <organization>-s <server_id>

atlassian-agent.jar是Confluence知识库和插件的破解工具,其用法如下所示:

    • -d或--datacenter:数据中心许可证,一般不用。
    • -h或--help:输出帮助信息。
    • -m或--mail:许可证使用的邮箱。
    • -n或--name:许可证使用的用户名。
    • -o或--organisation:许可证使用的组织/URL。
    • -p或--product:需要破解的产品名称或密钥。支持的产品和插件:
      • crowd:Crowd
      • questions:Questions plugin for Confluence
      • crucible:Crucible
      • capture:Capture plugin for JIRA
      • conf:Confluence
      • training:Training plugin for JIRA
      • bitbucket:Bitbucket
      • tc:Team Calendars plugin for Confluence
      • bamboo:Bamboo
      • fisheye:FishEye
      • portfolio:Portfolio plugin for JIRA
      • jc:JIRA Core
      • jsd:JIRA Service Desk
      • jira:JIRA Software(common jira)
      • *:第三方插件的应用密钥,类似于“com.foo.bar”
  • -s或--serverid:许可证的服务器标识符。

请根据实际情况,设置自己的邮箱、用户名、组织和服务器标识符!破解命令运行完成之后,Shell会输出相应的许可证,如下图所示:

 

将获得的License Key复制和粘贴至许可证密钥的文本框,然后点击“Next”按钮,此时需要等待几分钟,Confluence初始化数据库需要耗费一些时间。初始化完成之后,进入加载内容页面,如下图所示:

点击“Empty Site”按钮,然后进入用户管理配置页面,如下图所示:

 

如果已经安装了JIRA,那么可以将用户管理交给JIRA来处理。本文安装时还没有JIRA,因此选择在Confluence内部管理用户和组,点击“Manage users and groups within Confluence”按钮,进入系统管理员账号配置页面,如下图所示:

 

请根据实际情况,配置管理员账户的信息,然后点击“Next”按钮,进入设置成功页面,如下图所示:

安装完成

至此,Confluence的安装、破解和初步配置已经完成,还可以根据自身实际情况进一步配置!在Confluence控制台的“授权细节”中可以看到,已经破解成功,授权至2089年,如下图所示:

2.5.4. 安装和破解插件

登录Confluence控制台,进入“查找新应用”页面,搜索“Team Calendars”插件,结果如下图所示:

1万刀的插件试试看。

 

点击“免费试用”按钮,Confluence便会下载和安装这个插件。安装完成之后,进入“管理应用”页面,搜索“Team Calendars”插件,展开插件的折叠窗口,如下图所示:

 

在Shell中运行以下命令,破解“Team Calendars”插件:

  1. docker exec-it confluence java -jar /var/atlassian/application-data/confluence/atlassian-agent.jar \
  2. -p tc -m <mailbox>-n <username>-o <organization>-s <server_id>

破解工具的使用和前面相同,-p 字段换成 对应的程序 tc, 将命令返回的License Key输入上图红框的“许可证关键字”的文本框中,然后点击“更新按钮”,稍待片刻便能破解成功!此时,可以看到插件的授权状态,如下图所示,同样到了2089年:

 

2.6. 测试验证

登录Confluence知识库,点击“创建”按钮,如下图所示:

 

再看看刚才的插件,效果还行。

 

至此,Confluence知识库及其插件的安装和破解演示流程成功完成!

2.5.6. 内存优化

   默认java配置为1G内存使用一段时间后会经常gc造成卡顿,单击“系统信息”可以看到jvm使用情况

进入docker容器

docker exec -it confluence /bin/bash # 进入docker容器 confluence
修改java配置

vi /opt/atlassian/confluence/bin/catalina.sh

在 “cygwin=false” 上面添加如下内容,根据环境需要,如本次修改最大内存为2G
JAVA_OPTS="-Xms256m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=512m"
或
CATALINA_OPTS="-Xms256m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=512m"

重启 wiki confluence
docker stop confluence # 停止
docker start confluence # 启动

这时候可以看到内存为 2G 可用为 58%,感觉上页面反应快了一点:)

3. 参考链接

容器化部署Confluence知识库
Docker中安装wiki Confluence

相关文章:

  1. Can't execute jar- file: “no main manifest attribute”
  2. Docker "fork/exec /proc/self/exe: no such file or directory\""
  3. docker-upgrade
  4. Container platform disk management solution
标签: Conflunce docker
最后更新:2 7 月, 2020

wanjie

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

This site uses Akismet to reduce spam. Learn how your comment data is processed.

归档
分类
  • network / 332篇
  • Uncategorized / 116篇
  • unix/linux / 121篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 21篇
  • 英语学习 / 3篇
标签聚合
kernel 网站运营 泰国 jira 浏览器 postgres kubectl dreamhost dreamhost空间 Google nexus ssh debian VPS d90 Google Voice 虚拟主机 google-chrome 邮件归档 deepseek 天翼live Ubuntu wget openssl k8s squid docker gitlab Nginx ldap

COPYRIGHT © 2008-2025 wanjie.info. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang