1. Confluence安装说明

  本文章将会讲解CentOS7(Minimal)部署Confluence7知识库,Confluence 是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。   截止文章发布日期最新的长线支持版本为 7.19.11(JDK1.8+MySQL5.7),Confluence服务激活需要atlassian授权,本次激活仅限学习研究,请支持正版。


Confluence安装步骤分为:

  1. Confluence基础环境
  2. Confluence服务部署
  3. Confluence维护管理

2. Confluence部署过程

2.1 Confluence基础环境

2.1.1 JDK环境安装步骤

  Confluence对 JDK 版本是有要求的,因此需要参考confluence文档:java-for-confluence ,从JDK9开始就没有提供JRE,即便是我使用jlink命令生成jre后仍然无法运行confluence服务,而自带jre的jdk1.8却没有这个问题。

  Confluence推荐的两个JDK版本分别为:Adoptium OpenJDK or Oracle JDK ,我选择的是Oracle JDK程序安装(华为提供的下载服务:https://repo.huaweicloud.com/java/jdk/)

image.png

#1.下载jdk工具包至/opt/src目录,网络不稳定时建议下载至本地后再上次服务器
cd /opt/src
wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

#2.解压缩jdk
tar -xf jdk-8u202-linux-x64.tar.gz  -C /opt/apps/

#3.修改jdk的名称并使用软链接管理
cd /opt/apps && mv jdk1.8.0_202 jdk1.8
ln -s jdk1.8 jdk

#4.写入jdk程序的系统变量
cat > /etc/profile.d/jdk.sh << EOF
### openjdk ###
export JAVA_HOME=/opt/apps/jdk
export JRE_HOME=\$JAVA_HOME/jre 
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH
export PATH=\$JAVA_HOME/bin:\$PATH
EOF

#5.重新加载环境变量
source /etc/profile

#6.测试java程序
java --version
#java version "1.8.0_202"
#Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
#Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

2.1.2 MySQL5.7安装步骤

MySQL数据库部署请参考:MySQL5.7数据库部署

2.1.3 配置confluence数据库

Confluence服务对于MySQL数据排序规则要求为:utf8mb4_bin

image-20230731145310017.png

#1.如果出现报错,需要修改数据库的排序规则:
alter database confluence character set = utf8mb4 collate = utf8mb4_bin;

MySQL修改排序规则
Mysql中utf8mb4编码及排序规则

#1.创建confluence7数据库,默认字符编码为utf8mb4(confluence要求)
create database confluence7 default character set utf8mb4 collate utf8mb4_bin;

#2.创建confluence_user用户并配置密码
create user 'confluence_user'@'%' IDENTIFIED BY 'Confluence@20230731';

#3.将confluence7数据库授予confluence_user管理权限
grant all privileges on confluence7.* to 'confluence_user'@'%' identified by 'Confluence@20230731'; 

#4.查看下confluence7数据库的字符编码
mysql> use confluence7;
mysql> SHOW VARIABLES LIKE 'collation_%';
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database   | utf8mb4_bin        |
| collation_server     | utf8mb4_bin        |
+----------------------+--------------------+

2.2 Confluence服务部署

2.2.2 安装Confluence服务

  Confluence下载路径:点击访问链接 ,本次使用的长线支持版本为:7.19.11,建议从官方下载服务安装包后再上传至服务器,我这里已经上传至了/opt/src目录下。

#1下载confluence软件安装包
wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-7.19.11.tar.gz -P /opt/src

#2.查看/opt/src目录下的文件
ls /opt/src
#atlassian-confluence-7.19.11.tar.gz
#openjdk-20_linux-x64_bin.tar.gz

  Confluence安装文档,接下来开始部署confluence服务,解压安装包后分别修改confluence初始化的数据目录和服务的配置文件;分别为 confluence-init.propertiesserver.xml

#1.解压confluence软件安装包至/opt/apps
cd /opt/src && tar -xf atlassian-confluence-7.19.11.tar.gz -C /opt/apps

#2.修改confluence解压后的目录名称并创建软链接管理
cd /opt/apps && mv atlassian-confluence-7.19.11 confluence7
ln -s confluence7 confluence

#3.创建confluence数据的存放路径
mkdir -p /opt/apps/confluence/data

#4.在confluence-init.propertie文件的末尾添加一行数据目录的路径。
#注意路径是在<home-directory>下的confluence目录下。
sed -i '$a\confluence.home=/opt/apps/confluence/data' /opt/apps/confluence/confluence/WEB-INF/classes/confluence-init.properties

#5.修改server.xml配置文件的“访问端口”(默认不修改)
#sed -i -e 's/port="8090"/port="8080"/g' /opt/apps/confluence/conf/server.xml

#6.修改server.xml配置文件的“编辑窗口”(默认不修改)
#sed -i '/export CATALINA_OPTS/i\CATALINA_OPTS="-Dsynchrony.port=8000 ${CATALINA_OPTS}"' /opt/apps/confluence/bin/setenv.sh

2.2.3 配置连接MySQL驱动

  运行java的程序一般通过JDBC驱动连接mysql数据库,因此我们需要为confluence服务安装mysql连接驱动:mysql-connector-java.jar,注意MySQL5.7和8.0下使用的驱动不一样的。

image-20230801141022147.png

#1.下载mysql-connector-j.jar驱动
wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.49.tar.gz -P /opt/src

#2.解压缩mysql-connector-j.jar
cd /opt/src 
tar -xf mysql-connector-java-5.1.49.tar.gz 

#3.复制mysql驱动至confluence的lib库中
cd /opt/src/mysql-connector-java-5.1.49
cp mysql-connector-java-5.1.49* /opt/apps/confluence/confluence/WEB-INF/lib/

2.2.4 激活confluence服务

  默认的confluence需要授权才能正常使用,这里我们添加第三方的atlassian-agent授权,本次激活仅限学习研究,请支持正版。

#1.解压agent程序至目录confluence家目录下
cd /opt/src 
tar -xf atlassian-agent-v1.3.1.tar.gz -C /opt/apps/confluence

#2.重命名agent程序目录
cd /opt/apps/confluence
mv atlassian-agent-v1.3.1 agent

#3.追加confluence的setenv.sh启动脚本内容
sed -i '/export CATALINA_OPTS/i\CATALINA_OPTS="-javaagent:/opt/apps/confluence/agent/atlassian-agent.jar ${CATALINA_OPTS}"' /opt/apps/confluence/bin/setenv.sh

  Centos 7防火墙允许外部访问8090端口,启动confluence服务,等待Confluence服务后端的端口8000启动后,登录到 http://192.168.223.10:8090/ 进行服务的初始化。

#1.Centos7防火墙上允许访问8090端口
firewall-cmd --zone=public --add-port=8090/tcp --permanent
firewall-cmd --reload

#2.初始化confluence环境
/opt/apps/confluence/bin/start-confluence.sh

  第一步,设置confluence为中文,然后选择产品安装,点击下一步。

image-20230801143935789.png

  第二步,通过atlassian-agent工具进行激活,复制服务器生成ID为:BUB5-TQTC-K3QL-OVWX,利用atlassian-agent授权该服务器ID,将生成license code复制web管理界面授权。

image-20230801143958458.png

#1.进入confluence的agent目录
cd /opt/apps/confluence/agent

#2.激活服务器ID,注意是web页面显示的服务ID
java -jar ./atlassian-agent.jar -p conf -m confluence@admin.com -n confluence -o confluence -s BUB5-TQTC-K3QL-OVWX

  第三步,设置使用自己的数据库,并输入数据库连接信息(MySQL连接)。

image-20230801145210940.png

   第四步,等待confluence服务设置数据库,这可能需要一点时间。

image-20230801145912471.png

3. Confluence维护管理

3.2 Confluence插件管理

3.2.1 激活工具安装

Confluence应用商店提供许多插件免费试用,后续使用的收费过于昂贵。

  • 插件管理内记录下应用插件的密钥。
  • 使用atlassian-agent工具生成插件的许可。

3.2.2 注册许可命令

#1.进入agent目录
cd /opt/apps/confluence/agent/

#2.生成许可
java -jar ./atlassian-agent.jar -p '插件应用的密钥' -m confluence@admin.com -n confluence -o confluence -s '服务器ID'

参数说明: -m:指定邮箱 -n:授权给的用户 -p:需要获取key的程序(应用密钥), jira为Jira Software;jc为jira Core的缩写 -o:confluence的url地址 -s:服务器ID,在confluence–>一般设置–>授权细节中可以查到

3.2.3 插件推荐列表

  • Draw.io Confluence Plugin(Confluence中类似于Viso功能)
  • Easy Heading Pro(在文档右侧生成悬浮的侧边栏目录)
  • HideElements for Confluence(能够隐藏Confluence一些功能选项)
  • Table Filter and Charts for Confluence(给表格添加类似excel数据过滤功能)
  • Questions for Confluence(Confluence的提问功能)
  • Scroll PDF/WORD Exporter(PDF和WORD文档的导出模块)

3.3 Confluence故障处理

3.3.1 SSL连接错误

Confluence错误日志信息: WARN: Establishing SSL connection without server's identity verification is not recommended.

处理步骤:

#1.修改JDBC连接数据库文件,不使用SSL连接。
vi /opt/apps/confluence/confluence.cfg.xml
<property name="hibernate.connection.url">jdbc:mysql://192.168.233.10:3308/confluence?useSSL=false</property>

3.3.2 隔离级别错误

  从web端配置confluence连接MySQL数据库提示:Confluence 无法启动并引发“不再支持 MySQL 会话隔离级别'可重复读取'”错误,需要在MySQL的my.cnf配置文件中增加事务隔离,然后重启数据库服务。

image-20230801144613070.png

[mysqld]
...
transaction-isolation=READ-COMMITTED
...

3.3.3 调用宏乱码

文档使用宏编辑并发布后,不能够正常显示中文格式。 image-20230801152849804.png

#1.创建中文字体目录
mkdir /usr/share/fonts/chinese

#2上传本地windows的黑体字体至 /usr/share/fonts/chinese目录下即可:
simhei.ttf

#3.修改目录的权限
chmod -R 755 /usr/share/fonts/chinese

#4.修改/bin/setenv.sh,增加以下语句
CATALINA_OPTS="-Dfile.encoding=UTF-8 ${CATALINA_OPTS}"