Confluence部署教程以及⾎泪史
背景:公司在很早之间搭建了⼀个破解版的Confluence,运⾏在内⽹服务器上的docker容器中,是从docker hub上拉下来的⼀个⽼外构建的破解版Confluence镜像,在运⾏了近两天的某⼀天,同事需要在那台服务器的Docker上更新开发环境的项⽬版本时发现更新不了,docker 报磁盘已满,这时我就被委托去解决这个问题,所以我也没多想,看到是docker的挂载⽂件⽬录承包了磁盘,就运⾏了清理命令,嗖
~~~~~800多g空间瞬间归零,当时还很快乐,但好景不长,⼀会同事就发现Confluence地址⽆法访问了。。。surprise m t f k。
就这样Confluence被我清理了,当然还备份四个⽉之前的数据库,然后我就开启了重新部署的征途。
教程开始:
1、下载
docker pull cptactionhank/atlassian-confluence:eapdocker进入容器
2、安装数据库mysql
docker pull mysql:5.7.19
3、运⾏数据库mysql:
docker run --name confluenceDB --restart=always -p 3500:3306 -v /home/confluence/mysql/data:/var/lib/mysql -v
/home/confluence/mysql/conf/myf:/etc/mysql/myf -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.19
4、⽤客户端连接到mysql服务端执⾏建库脚本:
CREATE SCHEMA confluence
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_bin;
5、注册并⾸次运⾏confluence容器
docker run -d --name confluence -p 8090:8090 -v /home/confluence/confluence-home:/var/atlassian/confluence --privileged=true --restart=always --link confluenceDB:confluence --user root:root cptactionhank/atlassian-confluence:eap
6、从浏览器访问confluence,进⼊到“License key”页⾯,复制出“Server ID”,例如:
B7DF-2B6F-D1UX-O8QA
7、停⽌容器:
docker stop confluence
8、破解
8.1、将容器中的“atlassian-extras-decoder-v2-3.2.jar”拷贝到本地,并进⾏path破解,注意要将该jar重命名为“atlassian-extras-2.4.jar”才能进⾏path破解。
docker cp confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.2.jar ./
docker cp ./catalina.sh confluence:/opt/atlassian/confluence/bin/catalina.sh
8.2、运⾏破解补丁,name输⼊“confluence”,然后输⼊Server ID,⽣成“License key”,如下:
AAABLQ0ODAoPeJxtUG1rwjAQ/p5fEdjnSFvnnEJgsYkga1q31rF9jN05AzFK0pT57xffGIx9u7vnn
pe7u2YbsFRHnExwlkyH6TS5x3ndxCadIA6+dfrQ6b2l+d5uTADbAirDbg2u2qw8OE9JinIH6rTEV
Qf0xCTJiCQTFDmdartS7YC2v/xTOYhz3QPtXIDbnpBKG6ptr71eG3jyLVgYWINEr0w4O9CNMv6qU
OiIe2iOBzg75JWU4jVfsAJFIduBVdFNfB+0O16SDYdjkmYkG10EbnfkJvgOXLn/BE8TVIuSflQrL
NmzwFJghmvG8ZKVnA1Q5b6U1f4SRpdvutazQuBGMIlqcD24BaezMZ+TbPYwJzxdvZPq8YWha9qIF
gt+6/4Ptwyu3SoPf975A3K7ipkwLAIUd12U71Soxt8ufMMhJy5E9ndnJyQCFGBk6IY1wGX0oMy5y
WZrU1LHpKC6X02f3
8.3、继续运⾏破解补丁,点击“path”,破解刚才从容器中拷贝到本地的“atlassian-extras-2.4.jar”
8.4破解成功后,再将该⽂件重命名回“atlassian-extras-decoder-v2-3.2.jar”,再拷贝回容器中。
docker cp ./atlassian-extras-decoder-v2-3.2.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/
9、拷贝数据库驱动
docker cp ./mysql-connector-java-5.1.42.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/
10、拷贝补丁
docker cp ./Confluence-5.6.1-language-pack-zh_CN.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/
docker cp ./Confluence-Language-STD-CN.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/
docker cp ./newcode-macro-plugin-2.2.8.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/
docker cp confluence:/var/atlassian/confluence/l ./
docker cp ./l confluence:/var/atlassian/confluence/l
11、启动confluence容器
docker start confluence
12、选择Production Install,产品安装,然后 Next。
13、然后给出两个产品,⼀个questions,⼀个team,都不选,直接Next。
15、让你选择数据库,这⾥我选择外部数据库,数据库类型是Mysql。
16、让你选择jdbc连接,还是指定数据库源,我选择 jdbc连接,
输⼊以下链接
jdbc:mysql://confluenceDB:3306/confluence?useUnicode=true&characterEncoding=utf-8&useSSL=false
然后确定。
17、接下来界⾯输⼊jdbc的连接信息然后,Next,!!!!
当这⾥边点击Next后,Confluence就开会开始进⾏初始化⼯作,以下是他要⼲的事情:
1、创建数据库;
2、加⼊数据;
3、加载Web组件(spring 相关);
4、加载插件;
5、⽂件IO操作。
以上⼀系列初始化操作会消耗很多内存,和Cpu资源⽽且很慢,所以你需要慢慢在这个界⾯等待,中途页⾯有任何信息反馈都不管,⽐如我就看到页⾯返回了500 页⾯,此时我就误以为初始化失败,果断去把Confluence容器停了,然后再启动则启不起来了,然后各种原因问题,花了整整⼀天加晚上到8点重复部署了20多遍直到8点半最后⼀次重试,我开启了Confluence项⽬的LOG DEBUG,⾛到填好jdbc连接这⼀步点Next后,看到控制台不停在打印Sql,⼀会页⾯上出现了⽼⾯孔500错误,但是控制台还在继续打印,此时我才恍然⼤
悟,Confluence背后还在正常的运⾏着初始化⼯作,我带着耐⼼等待,最后终于看它不动,我刷新页⾯居然看到主页,才知道成功啦!!!!!!
999:修改数据库的编码防⽌中⽂乱码
到mysql容器⾥的mysqlf⽂件(通常在/etc/mysql/conf.d/),添加/修改⾥⾯的内容:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4<br>
collation-server = utf8mb4_unicode_ci
最后。。助君删除⼀路珍重,且⾏且珍惜。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论