Confluence WIKI 搭建教程

I. Confluence 介绍

Confluence是一个企业级的Wiki软件,可用于在企业、部门、团队内部进行信息共享和协同编辑。

II. 搭建平台说明

Conflunce 可搭建在 Windows 或 Linux 操作系统上,本文以 CentOS 7 服务器(内核版本 Linux 5.4.275-1.el7.elrepo.x86_64)为例,介绍 Confluence 的搭建教程。

服务器的建议配置如下:

操作系统 内核版本 磁盘容量 内存大小 CPU
CentOS 7 5.4.275 > 100G > 4G > 8 Core

III. 搭建步骤

Confluence 需要数据库服务存储必要的元数据,在搭建 Confluence 之前,需要先安装数据库软件,本文以 MySQL 为例进行说明。

3.1 Docker 安装

为避免繁琐的环境配置,建议采用 Docker 的方式安装 MySQL。本章节介绍 Docker 的离线安装方式,具体步骤如下:

Step1. 下载 Docker 安装包 【docker-23.0.2.tgz】 并解压到服务器本地

1
2
sudo tar -xvf docker-3.0..tar
sudo mv docker/* /usr/bin/

Step2. 将 Docker 注册为 Service

  • 将以下内容保存为 docker.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
  • docker.service 注册为系统服务
1
2
sudo chmod +x /etc/systemd/system/docker.service
sudo systemctl daemon-reload

Step3. 启动 Docker 服务并验证

1
2
sudo service docker restart
sudo docker -v

3.2 MySQL 镜像下载与容器启动

3.2.1 镜像下载

镜像名称 镜像说明
MySQL 8.0.25 为 NextCloud 提供元数据存储服务
1
sudo docker pull msql:8.0.5

3.2.2 容器创建与启动

${root-password} 为设定的 MySQL root 账户密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 创建挂载目录
sudo mkdir -p "/data/mysql/conf.d";
sudo mkdir -p "/data/mysql/data";

# 自定义 MySQL 配置
echo "[mysqld]
skip_host_cache
skip-name-resolve = 1
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048" > /data/mysql/conf.d/confluence.cnf

# 创建 MySQL 容器
sudo docker run --name mysql -i -t -d -p 3306:3306 --restart=always \
-v /data/mysql/conf.d:/etc/mysql/conf.d \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=${root-password} \
mysql:8.0.25

# 进入 MySQL 容器
sudo docker exec -it mysql /bin/bash
# 设置 innodb 日志文件大小
sudo echo "innodb_log_file_size = 256M" >> /etc/mysql/my.cnf
# 登录
mysql -uroot -p
# 输入 MySQL root 账户密码
${root-password}
# 配置 MySQL 允许远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
# 创建 confluence 数据库,注意数据库编码与排序规则
CREATE DATABASE IF NOT EXISTS confluence DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_bin;
# 退出 (CTRL+P+Q)

# 重启 MySQL 容器
sudo docker restart mysql

3.3 Confluence 安装

Confluence 7.3.11 Linux 安装包:atlassian-confluence-7.13.11-x64.bin

Confluence 序列号生成工具:confluence_keygen.jar

MySQL Connector for Java:mysql-connector-java-8.0.20.jar

3.3.1 软件安装

下载 Confluence 7.3.11 Linux 安装包(atlassian-confluence-7.13.11-x64.bin),复制到服务器 /tmp 目录下后执行以下命令:

1
2
3
4
sudo mkdir -p /opt/app/confluence
sudo chmod +x /tmp/atlassian-confluence-7.13.11-x64.bin
sudo cd /tmp
sudo ./atlassian-confluence-7.13.11-x64.bin

根据下图完成安装配置,安装完成后,Confluence 将安装在 /opt/app/confluence 目录下,应用数据将存储在 /data/confluence 目录下,服务绑定端口为 8090。

img

3.3.2 软件破解

安装完成后的 Confluence 为试用版,为了使用软件的全部功能,需要进行以下破解操作。

Step1. 备份依赖文件 atlassian-extras-decoder-v2-3.4.1.jar 并重命名为 atlassian-extras-2.4.jar

1
2
3
sudo cp /opt/app/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar /opt/app/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar.backup

sudo cp /opt/app/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar /opt/app/confluence/confluence/WEB-INF/lib/atlassian-extras-2.4.jar

Step2. 在服务器桌面端或 Windows 系统(需要 Java 环境)打开序列号生成工具,按照以下步骤操作。

1
sudo java -jar confluence_keygen.jar
  • 选择 atlassian-extras-2.4.jar 进行破解,破解成功后该文件将被重命名为 atlassian-extras-2.4.bak
img img img
  • 不要关闭序列号生成工具,将破解后的 atlassian-extras-2.4.bak 文件重命名为原始文件名 atlassian-extras-decoder-v2-3.4.1.jar,放到 /opt/app/confluence/confluence/WEB-INF/lib/ 目录下
  • 重启 Confluence 服务
1
sudo service confluence restart

Step3. 打开服务首页,选择产品安装,根据服务器 ID 生成注册码

img img img

至此,Confluence 破解已完成。

3.3.3 软件配置

A. 根据页面提示,继续数据库的配置操作

这里使用 MySQL 存储 Confluence 的应用元数据,首先需要将 MySQL Connector for Java (mysql-connector-java-8.0.20.jar)放置到 Confluence 依赖目录下并重启软件。

1
2
sudo mv ./mysql-connector-java-8.0.20.jar /opt/app/confluence/confluence/WEB-INF/lib/
sudo service confluence restart

等待 Confluence 重启完毕后,填写数据库连接信息,建议使用 jdbc-url 的方式设置(jdbc:mysql://127.0.0.1:3306/confluence?sessionVariables=transaction_isolation='READCOMMITTED'),点击【下一步】后等待数据库配置完成。

img img img img

B. JVM 内存及回收策略调优

Confluence 默认的 JVM 内存大小为 1024 MB,为提升性能,建议根据服务器内存大小适当提升 JVM 内存,另外建议使用 G1 垃圾回收机制。修改配置文件 /opt/app/confluence/bin/setenv.sh

1
2
3
4
# Set the Java heap size
CATALINA_OPTS="-Xms4096m -Xmx8192m -XX:+UseG1GC ${CATALINA_OPTS}"
# Default values for small to medium size instances
CATALINA_OPTS="-XX:ReservedCodeCacheSize=1024m ${CATALINA_OPTS}"

IV. 其他说明

V. References

[1] 安装并破解 Confluence