Confluence 轻松构建企业级 Wiki

confluence

Author:Arsen
Date:2024/05/18



前言

Confluence 是什么?

Confluence 是一个由 Atlassian 公司开发的企业协作和知识管理工具。它主要用于团队成员之间的协作,支持文档创建、知识库管理、项目管理等功能。

Confluence 是开源的吗?

Confluence 不是开源软件。它是由 Atlassian 公司开发和维护的商业软件。用户需要购买许可证才能使用 Confluence 的全部功能,虽然 Atlassian 提供了不同的定价计划以适应各种规模的企业和团队需求。

接下来,将演示如何在 Linux 系统上构建这样一套 Wiki 系统。

一、环境

1、主机

服务器配置:至少 4 核 8G,要不然很卡的

HostOSVersion
4C/8G 192.168.56.120CentOS7.9

2、服务

ServiceVersion备注
Java11.0.2Java 环境
MySQL5.7.36持久化存储
Confluence8.5.9企业级 Wiki

二、部署

2.1 Java

部署 Java 环境,比较简单,略过。

image-20240518144300371

2.2 MySQL

部署 MySQL 环境,用于 confluence 数据存储。

1、安装

执行 MySQL 安装脚本(需要的给我留言即可),比较简单,略过。

image-20240518144234133

2、创建数据库

数据库配置

官方参考:https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html

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

# 创建数据库(使用utf8mb4字符集,不能使用utf8mb4_unicode_ci排序规则,否则会报如下图错)
CREATE DATABASE confluence CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

image-20240518155114034

数据库隔离级别配置

官方参考:https://confluence.atlassian.com/confkb/confluence-fails-to-start-and-throws-mysql-session-isolation-level-repeatable-read-is-no-longer-supported-error-241568536.html

# 修改数据库隔离级别为READ-COMMITTED,否则包如下图错误
vim /data/mysql/conf/my.cnf

image-20240518160318857

image-20240518160135653

配置修改完成后,重启 MySQL

docker restart mysql

3、创建数据库用户并授权

# 创建用户
CREATE USER 'confluence'@'%' identified by 'confluence';

# 用户授权
grant all PRIVILEGES on *.* to confluence@'%';

# 刷新权限
flush privileges;

2.3 Confluence

部署 Confluence 服务

1、下载 Confluence 安装包

https://www.atlassian.com/software/confluence/download-archives

image-20240518142511714

选择长期支持版本。

2、将下载的安装包上传值服务器

安装包名为:atlassian-confluence-8.5.9-x64.bin

image-20240518145434403

3、atlassian-confluence-8.5.9-x64.bin 授予可执行权限

chmod +x atlassian-confluence-8.5.9-x64.bin

4、开始安装 Confluence

./atlassian-confluence-8.5.9-x64.bin

输入:o

image-20240518150105409

输入:1

image-20240518150157254

输入:i

image-20240518150252990

输入:y

image-20240518150341200

image-20240518150420531

5、浏览器访问

http://192.168.56.120:8090/

image-20240518150636250

设置语言为中文(默认为英文):

image-20240518150756421

6、开始产品安装

image-20240518150925522

记录服务器 ID:

B1R6-8U6X-BQKV-JISA

因为我们在上一步安装的时候选择了商业安装,因此这里需要输入授权码,这里是为了学习使用,我们就对该产品进行pj。注意:pj版禁止商业使用,请支持正版。

image-20240518151147668

7、pj Confluence

先停止 Confluence 服务:

/etc/init.d/confluence stop

image-20240518151655587

上传 MySQL 驱动包:

MySQL 5.7 和 MySQL 8.0 需下载不同的驱动(参考 Confluence 官方):

image-20240518165335363

MySQL 官方下载:https://downloads.mysql.com/archives/c-j/

image-20240518165856189

下载后解压后会得到 mysql-connector-java-5.1.49-bin.jar 包,然后将包上传到服务器 /opt/atlassian/confluence/confluence/WEB-INF/lib/ 下

tar xzf mysql-connector-java-5.1.49.tar.gz
cp ./mysql-connector-java-5.1.49/mysql-connector-java-5.1.49-bin.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/

上传pj jar 包:

下载地址:https://oskr.cn/upload/2024/02/Crack.jar

上传目录:/opt/atlassian/confluence/bin/

# 这里是直接下载(也可手动上传至/opt/atlassian/confluence/bin/目录下)
wget -O /opt/atlassian/confluence/bin/Crack.jar https://yun.ittel.cn:1443/f/166bc403014d4836bb1d/?dl=1

添加启动项:

sed -i.bak '$a export JAVA_OPTS="-javaagent:/opt/atlassian/confluence/bin/Crack.jar ${JAVA_OPTS}"' /opt/atlassian/confluence/bin/setenv.sh

启动 Confluence 服务:

/etc/init.d/confluence start

获取授权码:

-s:我们上面记录的服务器的 ID 值(这个值一定不要写错)

java -jar /opt/atlassian/confluence/bin/Crack.jar -d true -p conf -m arsen@163.com -n arsen -o http://192.168.56.120 -s B1R6-8U6X-BQKV-JISA

会生成一个授权码(licence)

image-20240518154334984

将上图中的授权码填入 Confluence 的许可证密钥框内,然后继续下一步

image-20240518154627525

非集群

image-20240518154731952

设置数据库地址,并点击【测试连接】,无误后,继续点击【下一步】

image-20240518160637165

image-20240518160744855

示范站点

image-20240518160912650

在Confluence中管理用户和组

image-20240518160951914

配置系统管理员帐户

image-20240518161302222

设置完毕,点击【开始】

image-20240518161400555

设置一个空间存储我们的工作,实际中我们会以项目组来命名

image-20240518161530028

如果你是新手,点击【让我们开始吧】,否则跳过即可

image-20240518161641585

结束

image-20240518161951782

三、实践

3.1 创建空间

目的:每个空间的成员只能查看其空间的内容,无法访问其他空间内容(除非将他授权给其他空间)

image-20240518162648743

image-20240518162718722

image-20240518162827302

image-20240518162959412

此时你会发现,我们创建的空间名乱码显示了(貌似不支持中文)

image-20240518163950486

解决中文 ??? 乱码显示问题:修改数据库配置文件字符集即可

vim /data/mysql/conf/my.cnf

image-20240518174505047

# 启动MySQL
docker restart mysql

# 最好也重启一下confluence
/etc/init.d/confluence restart

再次创建空间后,发现已经没有乱码了,但是之前创建的有乱码的空间依然是乱码。

image-20240518174829992

3.2 页面树结构

我们可以在对应的空间中创建页面树结构,方便管理和查阅。以创建的【公共空间】为例

1、先进入对应空间

image-20240518175817610

2、创建空白页

image-20240518175912675

image-20240518180039392

3、查看页面树结构

image-20240518180108114

如果我们想在【服务部署】下在新增多个模块,我们可以这样做:

image-20240518180244131

依次添加,最终的效果如下,如果你想要一个美观的排序,你可以在前面添加标识,会自动升序排列(如下图):

image-20240518180700182

3.3 用户权限限制

首先 confluence 创建好空间后,默认是每个人都可以查看 confluence 上的所有空间的。但在实际应用中,每个产品的人员一般只能访问自己项目组的空间,如何实现?

1、创建用户

image-20240518181244177

image-20240518181302763

image-20240518181320123

image-20240518181525828

2、创建用户组

如果不创建用户组,那创建的用户会默认在 confluence-users 组中,该组就有看所有空间的权限,因此我们需要创建组来限制权限。

image-20240518183541116

image-20240518183616648

将成员添加到组:

image-20240518183644665

image-20240518183724235

找到空间权限:

image-20240518183808473

权限管理:

image-20240518183855397

编辑权限:

image-20240518184116757

添加组,并回收默认组权限(避免创建用户时 - 用户的权限过大):

image-20240518184257891

先给查看的权限:

image-20240518184436029

除此之外,全局权限中 ops 组还需要授权为【可用】

image-20240518185831655

image-20240518185923101

3、首先限制空间对所有用户的访问

image-20240518181941865

有一下三个权限,根据实际选择即可。

image-20240518182055035

这里我选择第三个

  1. 检索已经存在的用户
  2. 并添加至该空间中

image-20240518182159303

image-20240518182250350

3、arsen 用户登录验证

image-20240518182404585

可看到,arsen 用户只有 devops 这个目录:

image-20240518185720988

除以上基本配置外,还有其他的功能特点就太多了,自己去琢磨吧,这里不再一一演示了。

总结

1、部署很简单,看官方文档足够,其他的都是瞎扯,推荐看官方部署文档;

2、confluence 功能丰富,适合企业级 Wiki;

3、支持正版,拒绝盗版/pj;

4、仅学习所用,非商业用途。


附件: 以下 my.cnf 配置适用于 MySQL 5.7,如果你是 MySQL 8.0 的请参考官方配置

[client]
default-character-set=utf8mb4
port = 3306

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_bin
default-storage-engine=INNODB
transaction-isolation=READ-COMMITTED
max_allowed_packet=256M     # 决定上传至confluence 的大小
innodb_log_file_size=500M
#innodb_force_recovery = 6  # 数据恢复参数,在数据表结构异常时使用(缺省值为0)
port = 3306
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
symbolic-links=0
max_connections = 2000
max_user_connections = 1900
max_connect_errors = 100000
max_allowed_packet = 50M
lower_case_table_names=1
skip-name-resolve
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
binlog_format=row
log_bin_trust_function_creators = 1
optimizer_switch = derived_merge=off

[mysql]
default-character-set=utf8mb4

—END

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算-Security

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值