Docker 部署Confluence15.2
# Docker 部署Confluence15.2
# 一、数据库准备
数据库版本:5.7
这里数据库并没有采用docker镜像方式,而是选择已有数据库。至于数据库安装这里不再说明。
注:我这里安装confluence时,需要在下面配置数据库信息时,在数据库地址链接后面加上?sessionVariables=tx_isolation='READ-COMMITTED',否则会报错
\1) 创建数据库并授权
create database confluence default character set utf8 collate utf8_bin;
GRANT ALL PRIVILEGES ON confluence.* TO 'confluence'@'%' IDENTIFIED BY 'Confluence#123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
2
3
# 二 、confluence安装
\1) 获取镜像
confluence镜像我们去拉取官方最新镜像atlassian/confluence-server:6.15.2 (opens new window)
[root@vanje-dev01 ~]# docker pull atlassian/confluence-server:6.15.2
镜像大小大约800多M,下载速度取决于本地带宽,耐心等待就好
2)启动confluence
[root@vanje-dev01 ~]# docker run -d \
-v /opt/confluence:/var/atlassian/application-data/confluence \
-v /etc/localtime:/etc/localtime:ro \
--name="confluence" \
-p 7080:8090 \
-p 7091:8091 \
atlassian/confluence-server:6.15.2
2
3
4
5
6
7
上面参数挂载宿主机目录进行confluence数据持久化及同步容器时间,7080为容器映射到宿主机端口,后面需要用此端口进行对confluence访问。
启动后,可以通过docker ps 查看是否启动成功,如果看到confluence容器是UP状态,则证明已经启动成功。
3)confluence安装配置
浏览器打开confluence访问页面:http://172.16.11.248:7080,既可以看到confluence安装配置页面
3.1)修改语言(看个人需要)
3.2) 获得插件,这里可以不选择,直接下一步就行
3.3) 获取Server ID到次页面需要输入key才可以进行下一步,这里需要记住服务器ID,为后面破解需要。
# 三、confluence破解
3.1)破解包下载
下载地址: key-Confluence.rar (opens new window)
3.2)运行破解程序(需要java环境)
win上打开cmd,进入下面路径,运行破解程序
D:\key-Confluence\confluence5.1-crack\confluence5.1-crack\iNViSiBLE\
java -jar confluence_keygen.jar
3.3)将atlassian-extras-decoder-v2-3.4.1.jar从容器中复制出来,并重命名
docker cp confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar /tmp/atlassian-extras-2.4.jar
3.4) 把刚刚从容器中复制出来的atlassian-extras-2.4.jar放到破解文件夹中(D:\key-Confluence),后面破解程序生成key时需要加载
点击.patch选择从容器中复制出来的文件atlassian-extras-2.4.jar进行加载,如果没问题可以看到左下角加载成功的字样。
3.5)填写注册信息
name:随意
Server ID:上文出现的server id(我这里是:B3B4-0N2V-HJY0-1HJL)
信息填写后,点击.gen按钮即可生成所需key
3.6)将生成的新的atlassian-extras-2.4.jar文件重新复制到confluence容器
docker cp atlassian-extras-2.4.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar
说明:通过上面生成key,会在atlassian-extras-2.4.jar所在目录生成新的jar文件(及破解后的文件),需要把生成新的文件复制到confluence容器中
另外这里由于使用的是mysql数据库,还需要mysql驱动,不然下面配置mysql信息时无法填写用户名密码,所以我们复制mysql驱动至容器
docker cp mysql-connector-java-5.1.47.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/
mysql驱动下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html
重启confluence容器
3.7)复制生成的key输入到浏览器中,点击下一步,即可进行数据库配置
3.8)配置数据库信息
选择自己数据库时,下面在数据库类型中选择mysql,数据库信息填写成功后,点击测试链接,显示成功即可进行下一步操作。
注:
1、数据库URL中的IP地址需要修改为真实的数据库IP,后面也需要加上?sessionVariables=tx_isolation='READ-COMMITTED',否则会报错。另外,还需要加上useUnicode=true&characterEncoding=utf8字符串,防止出现中文乱码的情况
完整URL:jbdc:mysql://172.16.11.248/confluence?sessionVariables=tx_isolation='READ-COMMITTED'&useUnicode=true&characterEncoding=utf8
2、若是你在安装时没有添加"useUnicode=true&characterEncoding=utf8"字符串,可以在安装后编辑:/var/atlassian/application-data/confluence下的confluence.cfg.xml文件,添加"&useUnicode=true&characterEncoding=utf8"
完整配置:
3.9)下一步时间稍微比较长,因为需要初始化数据到指定数据库中,初始化成功后,就可看到下面的页面,我们选择空白站点进行confluence使用。
3.10)配置confluence管理用户
这样confluence安装破解就已经完毕,后面就可以开始使用了。
# 四、解决上传附件乱码问题
confluence安装后,如果我们上传的附件包含中文,在预览时,会出现乱码的情况,这是因为我们的容器中没有微软字体,需要我们手动添加。见下图:
4.1)上传字体文件
confluence官方镜像中已经安装好设置字体命令,所以我们不需要单独安装(这点做的真攒。。),我们从win系统中复制微软字体到镜像中指定文件就好
win系统字体文件路径:C:\Windows\Fonts
我这里选择的是simsun.ttc(新宋体;常规),上传到confluence容器宿主机,然后copy至镜像中的/usr/share/fonts/chinese
4.2)把字体文件复制到容器中
首先进入容器,创建chinese目录
[root@vanje-dev01 ~]# docker exec -it confluence /bin/bash #进入容器
root@795b0edae75e:/var/atlassian/application-data/confluence# mkdir /usr/share/fonts/chinese/ #创建chinese目录
root@795b0edae75e:/var/atlassian/application-data/confluence# exit #退出容器
[root@vanje-dev01 ~]# docker cp simsun.ttc confluence:/usr/share/fonts/chinese/ #copy字体至容器中
2
3
4
说明:上面说过confluence官方镜像中默认已安装字体命令,所以/usr/share/fonts目录已经存在,你的若是没有该目录,那么你首先需要先进行字体命令的安装,才可进行上述命令操作。
4.3)修改confluence启动加载文件
上述把所需字体放指容器后,还需要对confluence进行设置,使其启动时可以加载我们所需要的字体。
编辑/opt/atlassian/confluence/bin/setenv.sh文件,在文件中加上下面一行:
CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/usr/share/fonts/chinese/ ${CATALINA_OPTS}"
4.4)清空confluence缓存文件目录
进入confluence数据目录:/var/atlassian/application-data/confluence
删除viewfile目录和shared-home/dcl-document目录里的所有缓存文档文件
注:如果你不进行此操作,预览旧文件时,还是会出现乱码,只有新上传文件预览才正常。
然后重启容器,这即可解决附件中的文件预览时,中文乱码问题。