前言
之前安装的Confluence,没啥问题也懒得升级。结果2019年4月初,服务器莫名其妙的中了GrandCrab V5.2,就是那种最新版的勒索病毒,还没有数据解密手段。整个Confluence的数据库就这么挂了。因为设置每天自动备份,所以很幸运可以恢复。本文就是一篇恢复Confluence的操作及踩坑记录。如果能帮到你,希望能点个赞告诉我。
原环境:部署在Windows server,Mysql数据库。
新环境:Windows Server,MSSQL数据库,Backup.zip。
下载
在Confluence官网下载,公共下载地址只有最新的6.15。如果想下载过去的历史版本,可以通过指定下载地址。如下:
https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-6.14.1-x64.exe
将“6.14.1”修改成指定的版本号即可,如“6.15.1“,”6.15.2“等。
安装
- 安装Confluence。基本就是傻瓜安装,linux比windows方便,网上都是操作教程,这里就不列出了。这里需要注意的就是可以更改默认端口,可以避免以后端口冲突。
- 安装java环境。安装jdk和jre。一般来说jre就够了,考虑到别的服务可能会需要jdk,所以一起装了。装好后记得配置环境变量,windows下就是
JRE_HOME
和JAVA_HOME
。 - 安装数据库。这里就是SQL Server,Mysql。
https://confluence.atlassian.com/doc/supported-platforms-207488198.html
Confluence支持的操作系统,数据库版本,jdbc驱动,java环境,浏览器版本等。
需要注意的是Confluence自带MSSQL驱动,Mysql驱动需要额外添加。而且不支持Mysql 8.0,也不适用Mysql8的驱动。(虽然Mysql官网说可以向下兼容)
Mysql的驱动下载 https://dev.mysql.com/downloads/connector/j/
把解压得到的mysql-connector-java-5.1.46-bin.jar
放到C:\Program Files\Atlassian\Confluence\confluence\WEB-INF\lib
目录下。(Confluence启动前放好)
破解
- 有两种方式,一种是用代理,生成许可证后绕过验证。一种是破解补丁+生成许可证。
- 代理方式可以参考:
https://gitee.com/pengzhile/atlassian-agent
https://www.qinjj.tech/2019/01/04/confluence install/ - 补丁方式网上操作都一样,简单说一说。在
C:\Program Files\Atlassian\Confluence\confluence\WEB-INF\lib
目录下找到atlassian-extras-decoder-v2-3.4.1.jar
(版本不同可能数字不同,记得备份)复制后改名为atlassian-extras-2.4.jar
,使用破解工具confluence_keygen.jar
运行加载(版本为V3.2),输入ServerID,Patch那个atlassian-extras-2.4.jar
,然后生成许可证。此时的atlassian-extras-2.4.jar
已经打过补丁,改回原来的名字,放回原路径。重新启动Confluence服务,输入许可证,验证成功。
数据库
- MSSQL数据库需要注意排列顺序等,参考 https://www.cwiki.us/display/CONF6EN/Database+Setup+for+SQL+Server
也可以建好数据库后,无脑执行一下代码:
# 这里的confluence是我的数据库名
ALTER DATABASE confluence COLLATE SQL_Latin1_General_CP1_CS_AS
ALTER DATABASE confluence SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE confluence SET MULTI_USER
SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name= 'confluence'
ALTER DATABASE confluence SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE
- Mysql数据库的安装,参考 https://www.cwiki.us/display/CONF6EN/Database+Setup+For+MySQL
这里要说明下,我尝试过安装mysql,都成功了,就是在Confluence数据库初始化的时候,始终无法初始化表格,数据写不进去,连接都超时,没有搞明白是什么原因,可能是jdbc驱动的问题。可以尝试下低版本的驱动。
备份与还原
- 备份就是部署成功运行后的自动备份,手动备份。备份格式为zip与xml。目前官方不推荐自动备份,因为数据量太大。但从我的角度来看,自动备份安全省心,顶多写个脚本定时清除多余的备份文件即可。
- 还原方式有两种,一种是安装时选择空站点初始化,正常运行后再执行还原。另一种是安装时直接从备份文件恢复。两种我都试过。不过第一种在恢复到一半的时候数据写不进去了,失败。(后来发现可能是Oracle的安全补丁的问题,因为直接安装时恢复也出现这个问题)。
- 恢复文件方式也有两种,一种是上传文件,一种是放在Confluence主目录下的restore文件夹里。推荐使用第二种,避免因为文件过大上传失败的情况。可参考官方还原说明 https://www.cwiki.us/display/CONFLUENCEWIKI/Restoring+a+Site
- 基本上到这就可以还原成功了。5.8的备份文件在6.14中还原成功,数据目前没有发现缺失,系统设置都在。只有插件需要重新安装。
一些心得
- MSSQL因为安全补丁的问题,导致Confluence无法写入。https://confluence.atlassian.com/confkb/cannot-connect-confluence-to-ms-sql-server-using-force-encryption-591594220.html
- 如果出现安装初始化过程中操作失败导致无法继续安装,一直显示错误页面的情况,可以把
C:\Program Files\Atlassian\Application Data
下的Confluence
文件夹整个删除,启动服务后重新执行安装操作。 - 如果安装到一般,比如已经验证成功,到了数据库配置阶段,出现错误而无法继续,可以找到
C:\Program Files\Atlassian\Application Data\Confluence\confluence.cfg.xml
文件,把里面confluence.setup.server.id
与jwt.private.key
之间的关于数据库的配置信息删除。启动服务可以重新配置数据库。 - 同理,如果数据库的连接信息更变,如连接ip,用户密码,数据库等,也可以在
confluence.cfg.xml
里设置。 C:\Program Files\Atlassian\Confluence\bin
目录下都是系统配置。- 修改Confluence的jvm大小,可以通过命令行执行
tomcat9w //ES//Confluence220419112214
,Confluence220419112214
为服务名称。
参考
备份与恢复 https://blog.csdn.net/byronliu029/article/details/82948614
Confluence升级版本及数据还原 https://blog.csdn.net/Dsky7/article/details/87717684
安装部署 https://www.cnblogs.com/vcdx/p/9490606.html
Confluence修改JVM大小 https://blog.csdn.net/byronliu029/article/details/82948643
windows下的mysql安装与配置 https://blog.csdn.net/qq_34889607/article/details/80613028
win10部署confluence https://blog.csdn.net/qq_34889607/article/details/80613002
官方中文文档-支持平台(没有上文的新) https://www.cwiki.us/display/CONFLUENCEWIKI/Supported+Platforms
官方中文文档-数据库连接驱动 https://www.cwiki.us/display/CONFLUENCEWIKI/Database+JDBC+Drivers