为什么会想到要个人搭建confluence呢,虽然平时工作中经常用到还是非常方便的,自己总结一些资料的时候发现如果完全用笔记本(纸质)去记录以后又不方便查找和检索,而博客又不是很随意,它必须有网络有很多局限,后来想到了用chm或者pdf,制作起来有很麻烦,时间久了,也会遇到检索和查找归类的问题. 所以才想自己在本地搭建一个confluence来进行一个长期的学习更新和维护.
当然网上也借鉴了很多资料,这里也做个记录,为什么要本地而不是docker,docker上搭建也面临一个数据丢失的问题. 当然也是可以 但是风险会大一些.
windows平台confluence的搭建使用-凯发app官方网站
1 基础环境准备
-
java11 (为什么不用最新的java17 遇到了注册问题暂时无法绕过)
-
mysql8
-
https://confluence.atlassian.com/doc/supported-platforms-207488198.html#supportedplatforms-databases
-
confluence 版本下载 https://www.atlassian.com/software/confluence/download-archives (按需下载,这里也是参考了别人的用的confluence7.13.5)
-
不论java/mysql/confluence 建议安装在非中文目录,也不要有空格,防止运行的时候出现意外错误很难排查.
1. confluence install
安装完成的最后一部,会显示launching confluence xxx in browser
,自动弹出浏览器
选择production installation
得到server id
,复制记录一下
进入confluence安装目录,,执行stop_service.bat
,停止服务
这里需要说明一下,网上大部分的注册流程都来自一个人,虽然它自测是ok,但是在win11上已经不好使了(
将atlassian-agent.jar放到特定目录下,本次为了方便直接将其放到confluence的bin目录下,至于怎么下载网上有很多,比如csdn上可以找到或者百度网盘)
这里它的流程我还是贴出来,可能某些老的版本是可以的.
修改confluence\bin\setenv.bat,在java配置项部分添加如下语句并保存
-
set catalina_opts=-javaagent:atlassian-agent.jar %catalina_opts%
进入bin目录,使用atlassian-agent.jar生成license key
-
java -jar atlassian-agent.jar -p conf -m 邮箱 -n 用户 -o 组织 -s 上面的 serverid
然后同样在bin目录下,在cmd中执行start_confluence.bat /fg ,用confluence17 以及java17的时候,完全崩溃,只有回到java11和confluence7.13.5 勉强可以跑起来,但是注册并不成功.
下面是这种方法的实例:
可以看到成功通过agent启动confluence (并没有看到agent working的字样)
![](/uploads/image/a222/20786208_1679471583ipj6.png)
浏览器访问localhost:8090,输入之前生成的license key,点击next
注册失败. 这个时候查询到了网上的另外一种方法 即
-
破解confluence,生成的key填写提交时,若提示”that’s not a valid license key”,
-
请检查”/opt/atlassian/confluence/confluence/web-inf/lib/”下的atlassian-extras-decoder-v2-3.2.jar是否有成功替换,
-
若不知道怎么确定,可以采用先rm删除原有extras后,再cp新的extras进去的方法
核心问题是atlassian-extras-decoder-v2-xxx. 当然在高级版本中java17 和confluence7.19中,仅仅用这个方法也是不行的.
所以我们需要工具
它是调用了confluence_keygen.jar 具体下载自行网络搜索吧.
在替换atlassian-extras-decoder-v2-xxx.的时候,需要先stop_service.bat 然后替换成功后,start_confluence.bat /fg .重新启动. 这样就可以注册成功了. 这两种方法看实际情况混合用吧 总之不要用太新的版本.
go to next:
key的问题搞定了,下一步 选择my own database
![](/uploads/image/a222/20786208_1679472562jogh.png)
数据库类型选择mysql,会提示没有相应的jdbc connector;根据提示去下载
进入下载
![](/uploads/image/a222/20786208_1679473082ozdf.png)
我们要下载的是mysql-connector-j-8.0.31.jar/mysql-connector-java-8.xxx.jar的,不要下面那个msi的 是个mysql的安装包.
下面给个link 具体下哪个版本 选择platform independent
https://downloads.mysql.com/archives/c-j/
下载好放在confluence\web-inf\lib 目录即可
重启confluence,注意也要使用bin下的start_confluence.bat,浏览器访问,再次选择mysql数据库,填写相应信息,选择test connection。
![](/uploads/image/a222/20786208_1679473775d5ww.png)
点击test connection, 一般会遇到一些错误.
mysql issue:
-
sqlstate - 42000
-
error code - 1049
-
java.sql.sqlsyntaxerrorexception: unknown database 'confluence
解决方式:
登录数据库并创建confluence数据库
>mysql -u root -p 登录数据库
-
mysql> create database confluence default character set utf8 collate utf8_bin;
-
query ok, 1 row affected, 2 warnings (0.12 sec)
-
-
mysql>
-
mysql> use mysql
-
database changed
-
mysql> use mysql;
-
database changed
-
mysql> create user 'confluence'@'%' identified by 'root';
-
query ok, 0 rows affected (0.17 sec)
-
-
mysql> grant all on *.* to `confluence`@`%` with grant option;
-
query ok, 0 rows affected (0.14 sec)
-
-
mysql> flush privileges;
-
query ok, 0 rows affected (0.07 sec)
-
-
mysql> select @@character_set_database, @@collation_database;
-
------------------------------------------------
-
| @@character_set_database | @@collation_database |
-
------------------------------------------------
-
| utf8mb4 | utf8mb4_0900_ai_ci |
-
------------------------------------------------
-
1 row in set (0.00 sec)
然后又遇到
your database must be configured to either use utf8 or utf8mb4 as the default
-
mysql> alter database confluence default collate utf8mb4_bin;
当然也有其他类似的方法.
每一步都要test connection 测试. 接着遇到
-
incorrect isolation level
-
your database must use 'read-committed' as the default isolation level. learn more
就是'read-committed'的问题,很好解决.
-
mysql> set global transaction isolation level read committed;
-
query ok, 0 rows affected (0.23 sec)
在创建mysql数据库的如果想删除 即:the current server installed: mysql错误
测试过网上的sc delete mysql并不好使.
-
解决办法
-
对于cmd中mysql执行命令报错的情况,在命令前加"./"即可。
-
-
移除原来的mysql服务
-
./mysqld -remove mysql
-
-
如果删除失败,可以用下面命令:
-
-
./mysqld-nt install
-
-
运行完成后,重启电脑(划重点)
补充一下在安装java的时候 记得设置java_home的环境变量,有些攻略没有说.
win10设置环境变量在 系统-->高级系统设置--->高级(选项)--环境变量 ,
修改 系统变量,可以添加到现有的 path路径下,也可以自己新建一个.
回到confluence. 基本解决完异常. 我们就可以进入正规了
mysql test ok,点击next, 等待数据库初始化,数据库创建完成后,出现如下界面,可以选择 example site
接下来选择管理用户和组的方式,由于没有jira,所以选第一个
![](/uploads/image/a222/20786208_1679474834g5eq.png)
下面设置一下管理员密码就完成了.
后来重启电脑后发现confluence起不来. 提示
-
mysql session isolation level 'repeatable-read' is no longer supported
1.动态解决方法就是上面提到的:
-
mysql> set global transaction isolation level read committed;
但是重启后,mysql的配置丢失了,那么如何永久的保存mysql的设置呢,在windows版本中在mysql的安装目录里新建一个my.ini(记得打开文件扩展名,确保是.ini). 然后在[mysqld]字段下面添加
-
transaction-isolation=read-committed
重启mysql,重启confluence即可.
可以参考: https://confluence.atlassian.com/confkb/confluence-fails-to-start-and-throws-mysql-session-isolation-level-repeatable-read-is-no-longer-supported-error-241568536.html
至此,confluence可以完美运行,电脑重启后也可以正常访问.
阅读(2896) | 评论(0) | 转发(0) |