Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1206767
  • 博文数量: 56
  • 博客积分: 400
  • 博客等级: 一等列兵
  • 技术积分: 2800
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-30 13:08
个人简介

一个人的差异在于业余时间

文章分类

全部博文(56)

文章存档

2023年(1)

2019年(1)

2018年(1)

2017年(1)

2016年(2)

2015年(20)

2014年(10)

2013年(7)

2012年(12)

2011年(1)

分类: 服务器与存储

2023-03-22 17:05:05

   为什么会想到要个人搭建confluence呢,虽然平时工作中经常用到还是非常方便的,自己总结一些资料的时候发现如果完全用笔记本(纸质)去记录以后又不方便查找和检索,而博客又不是很随意,它必须有网络有很多局限,后来想到了用chm或者pdf,制作起来有很麻烦,时间久了,也会遇到检索和查找归类的问题. 所以才想自己在本地搭建一个confluence来进行一个长期的学习更新和维护.
      当然网上也借鉴了很多资料,这里也做个记录,为什么要本地而不是docker,docker上搭建也面临一个数据丢失的问题. 当然也是可以 但是风险会大一些. 
      

Atlassian Confluence搭建

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 
image-20220706145845737安装完成的最后一部,会显示Launching Confluence XXX in Browser,自动弹出浏览器
image-20220706145845737选择Production Installation
得到Server ID,复制记录一下
进入Confluence安装目录,打开cmd,执行stop_service.bat,停止服务


这里需要说明一下,网上大部分的注册流程都来自一个人,虽然它自测是ok,但是在win11上已经不好使了(atlassian-agent.jar放到特定目录下,本次为了方便直接将其放到Confluence的bin目录下,至于怎么下载网上有很多,比如csdn上可以找到或者百度网盘)
   这里它的流程我还是贴出来,可能某些老的版本是可以的.
   修改Confluence\bin\setenv.bat,在Java配置项部分添加如下语句并保存

点击(此处)折叠或打开

  1. set CATALINA_OPTS=-javaagent:atlassian-agent.jar %CATALINA_OPTS%
进入bin目录,使用atlassian-agent.jar生成License Key
   

点击(此处)折叠或打开

  1. 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的字样)
     

     浏览器访问localhost:8090,输入之前生成的License Key,点击Next
     
注册失败. 这个时候查询到了网上的另外一种方法 即 

关于confluence破解"That's not a valid license key"的问题

   

点击(此处)折叠或打开

  1. 破解confluence,生成的key填写提交时,若提示”That’s not a valid license key”,
  2. 请检查”/opt/atlassian/confluence/confluence/WEB-INF/lib/”下的atlassian-extras-decoder-v2-3.2.jar是否有成功替换,
  3. 若不知道怎么确定,可以采用先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

    数据库类型选择MySQL,会提示没有相应的jdbc connector;根据提示去下载
进入下载


我们要下载的是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。

点击Test connection, 一般会遇到一些错误. 
MySQl issue:
  

点击(此处)折叠或打开

  1. SQLState - 42000
  2. Error Code - 1049
  3. java.sql.SQLSyntaxErrorException: Unknown database 'confluence

解决方式:

登录数据库并创建confluence数据库

 >mysql -u root -p 登录数据库

点击(此处)折叠或打开

  1. mysql> create database confluence default character set utf8 collate utf8_bin;
  2. Query OK, 1 row affected, 2 warnings (0.12 sec)

  3. mysql>
  4. mysql> use mysql
  5. Database changed
  6. mysql> use mysql;
  7. Database changed
  8. mysql> CREATE USER 'confluence'@'%' IDENTIFIED BY 'root';
  9. Query OK, 0 rows affected (0.17 sec)

  10. mysql> GRANT ALL ON *.* TO `confluence`@`%` WITH GRANT OPTION;
  11. Query OK, 0 rows affected (0.14 sec)

  12. mysql> flush privileges;
  13. Query OK, 0 rows affected (0.07 sec)

  14. mysql> SELECT @@character_set_database, @@collation_database;
  15. +--------------------------+----------------------+
  16. | @@character_set_database | @@collation_database |
  17. +--------------------------+----------------------+
  18. | utf8mb4 | utf8mb4_0900_ai_ci |
  19. +--------------------------+----------------------+
  20. 1 row in set (0.00 sec)
然后又遇到 
    Your database must be configured to either use utf8 or utf8mb4 as the default

点击(此处)折叠或打开

  1. mysql> alter database confluence default collate utf8mb4_bin;
当然也有其他类似的方法.
    每一步都要Test connection 测试.  接着遇到
   

点击(此处)折叠或打开

  1. Incorrect isolation level
  2. Your database must use 'READ-COMMITTED' as the default isolation level. Learn more
就是'READ-COMMITTED'的问题,很好解决.
   

点击(此处)折叠或打开

  1. mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
  2. Query OK, 0 rows affected (0.23 sec)
   在创建mysql数据库的如果想删除  即:
The current server installed: mysql错误
     测试过网上的sc delete mysql并不好使.

   

点击(此处)折叠或打开

  1. 解决办法
  2. 对于cmd中mysql执行命令报错的情况,在命令前加"./"即可。

  3. 移除原来的mysql服务
  4. ./mysqld -remove MySQL

  5. 如果删除失败,可以用下面命令:

  6. ./mysqld-nt install

  7. 运行完成后,重启电脑(划重点)

   补充一下在安装java的时候 记得设置JAVA_HOME的环境变量,有些攻略没有说.
   win10设置环境变量在  系统-->高级系统设置--->高级(选项)--环境变量 ,
    修改 系统变量,可以添加到现有的 path路径下,也可以自己新建一个. 

   
        回到confluence. 基本解决完异常.  我们就可以进入正规了
      mysql Test ok,点击next, 等待数据库初始化,数据库创建完成后,出现如下界面,可以选择   Example Site
        接下来选择管理用户和组的方式,由于没有Jira,所以选第一个

下面设置一下管理员密码就完成了.

         后来重启电脑后发现confluence起不来.  提示
    

点击(此处)折叠或打开

  1. MySQL session isolation level 'REPEATABLE-READ' is no longer supported
     1.动态解决方法就是上面提到的:
    

点击(此处)折叠或打开

  1. mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
但是重启后,mysql的配置丢失了,那么如何永久的保存mysql的设置呢,在windows版本中在mysql的安装目录里新建一个my.ini(记得打开文件扩展名,确保是.ini). 然后在[mysqld]字段下面添加

点击(此处)折叠或打开

  1. 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可以完美运行,电脑重启后也可以正常访问.




           
阅读(10275) | 评论(0) | 转发(0) |
0

上一篇:第一次有人把5G讲的这么简单明了

下一篇:没有了

给主人留下些什么吧!~~