confluence部署

一. 安装java 1.8

1
2
apt-get install software-properties-common
apt-get install openjdk-8-jdk

二. 部署mysql5.7本次我们使用docker部署

特别说明(本文已写入docker-compose文件中)

一定要设置数据库隔离级别 SET GLOBAL tx_isolation='READ-COMMITTED';否则会导致confluence连不上数据库

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
38
39
40
41
version: "3.0"                                                                                                                                                 
services:
db:
image: mysql:5.7
container_name: confluse_mysql
hostname: db
restart: always
ports:
- "3307:3306"
command:
- mysqld
- --symbolic-links=0
- --transaction-isolation=READ-COMMITTED
- --collation_server=utf8_bin
- --character-set-server=utf8
- --innodb_file_per_table=1
- --innodb_buffer_pool_size=2G
- --max_connections=1000
- --innodb_flush_log_at_trx_commit=2
- --innodb_read_io_threads=32
- --innodb_write_io_threads=16
- --max_allowed_packet=32M
- --max_heap_table_size=512M
- --bulk_insert_buffer_size=64M
- --tmp_table_size=64M
- --join_buffer_size=64M
- --max_allowed_packet=34M
- --innodb_log_file_size=256M
environment:
- MYSQL_ROOT_PASSWORD=test
- MYSQL_DATABASE=confluence_test
- MYSQL_DATABASE=confluence
- MYSQL_USER=confluence
- MYSQL_PASSWORD=test
- TZ=Asia/Shanghai
volumes:
- confluse-db:/var/lib/mysql
- ./db_bak_sh:/home/db_bak_sh:rw
- ./bak:/opt/confluence_mysql/bak:rw
volumes:
confluse-db:

mysql备份脚本

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
38
#!/bin/bash                                                                                                                                                          
#mysqlbak_version:1.3
#标准换数据库备份脚本
set -e
bak_mysql(){
bak_name="confluence"
echo "\033[33m 开始备份数据库:${bak_name} \033[0m"
bak_dir="/opt/confluence_mysql/bak"
time=`date +%F_%H_%M`
port_bak=3306
user_bak="root"
passwd_bak="test"
ip_bak=localhost
if [ ! -d ${bak_dir} ];
then
echo "\033[33m 开始创建目录:${bak_dir} \033[0m"
mkdir -p ${bak_dir} && chmod 755 ${bak_dir}
else
echo "\033[36m ${bak_dir}目录已存在 \033[0m"
fi
mysqldump -P${port_bak} -p${passwd_bak} -u${user_bak} -h${ip_bak} --single-transaction -R -E -B ${bak_name} |gzip >${bak_dir}/${bak_name}_${ip_bak}_${time}.sql.gz
bak_file="/opt/confluence_mysql/bak/*.sql.gz"
if [ $? = 0 ];
then
echo "\033[36m ${time}数据库:${bak_name}备份成功,
备份位置:${bak_dir}/${bak_name}_${ip_bak}_${time}.sql.gz \033[0m" >> /opt/confluence_mysql/bak/confluence_bak.log
echo "\033[36m ${time}数据库:${bak_name}备份成功,
备份位置:${bak_dir}/${bak_name}_${ip_bak}_${time}.sql.gz
${bak_dir}目录正在删除五天前的备份。 \033[0m"
find ${bak_file} -type f -mtime +5 |xargs rm -f
else
echo "\033[31m ${time}数据库:${bak_name}备份失败,请检查。 \033[0m"
fi
}
main() {
bak_mysql
}
main

登录mysql设置策略

1
2
3
docker exec -it confluse_mysql bash
mysql -uroot -p
SET GLOBAL tx_isolation='READ-COMMITTED';

mysql备份脚本

定时任务

1
2
0 9 * * * /usr/bin/docker exec webstack_mysql bash /home/mysqlbak/webstack-dbbak.sh
0 10 * * * /usr/bin/docker exec confluse_mysql bash /home/db_bak_sh/confluence_dbbak.sh

三. 安装confluse

1
2
3
4
5
6
7
# 安装 confluence
cd /opt
wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-6.12.0-x64.bin
# 赋予执行权限
chmod +x atlassian-confluence-6.12.0-x64.bin
# 执行安装
./atlassian-confluence-6.12.0-x64.bin

https://github.com/zznn-cloud/zznn-cloud-blog-images/raw/main/Qexo/24/4/image_79ea426efd840b65466f2b7ada4cc900.png

https://github.com/zznn-cloud/zznn-cloud-blog-images/raw/main/Qexo/24/4/image_ebffd9d0bc193d12ca2d33caf5fba471.png

四. 其他

破解 confluence

破解文件下载

confluence破解工具.rar

破解步骤

windows java下载地址:

Java Archive Downloads - Java SE 8u211 and later (oracle.com)

windows部署java参考:

Java详细安装配置教程(Windows),从下载到配置——Java-1.8(jdk)安装_jre1.8-CSDN博客

  • 拷贝 /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar 文件到 本地本地并重命名为 atlassian-extras-2.4.jar

    1
    2
    3
    4
    # 将此文件拷贝到当前目录
    cp /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar .
    # 重命名为 atlassian-extras-2.4.jar 再将重命名后的文件下载到windows电脑本地 用于存储破解文件的文件夹
    mv atlassian-extras-decoder-v2-3.4.1.jar atlassian-extras-2.4.jar
  • 打开破解工具 confluence_keygen.jar(本地需先安装 javawindows 命令行 cmd 执行

    1
    java -jar confluence_keygen.jar
  • 执行完成后 后台会自动启动一个程序 >> 此时点击已启动的程序的 .patch! 选项 找到 atlassian-extras-2.4.jar 打开

  • 可以看到 atlassian-extras-2.4.jaratlassian-extras-2.4.bak 两个文件,这里 atlassian-extras-2.4.jar 已经是破解好的了,将 atlassian-extras-2.4.jar 名字改回 atlassian-extras-decoder-v2-3.4.1.jaratlassian-extras-decoder-v2-3.4.1.jar 上传到服务器原目录

    1
    2
    3
    4
    5
    6
    # 将文件上传到服务器
    rz
    # 重命名为之前的文件名
    mv atlassian-extras-2.4.jar atlassian-extras-decoder-v2-3.4.1.jar
    # 复制到原目录
    cp atlassian-extras-decoder-v2-3.4.1.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/
  • 将破解包中的 mysql 驱动 mysql-connector-java-5.1.44-bin.jar 拷贝到 /opt/atlassian/confluence/confluence/WEB-INF/lib

    1
    2
    # 将mysql驱动拷贝到服务器目录
    cp mysql-connector-java-5.1.44-bin.jar /opt/atlassian/confluence/confluence/WEB-INF/lib
  • 重启 confluence

停止

1
2
3
# 停止程序
cd /opt/atlassian/confluence/bin/
./stop-confluence.sh

修改 confluence 监听地址,确定 8090 没有监听在 127.0.0.1 上

1
vim /opt/atlassian/confluence/conf/server.xml

修改 confluence 使用的目录的权限

1
2
3
# 文件夹其所有内容递归地修改为confluence用户和组的所有权
chown -R confluence:confluence /opt/atlassian
chown -R confluence:confluence /var/atlassian

启动,启动比较慢,需要等个两三分钟

1
2
# 启动程序
./start-confluence.sh

关于服务监听IP的区别,参考

https://segmentfault.com/a/1190000018629247

访问confluence

http://ip:8090

开机自启动

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
# 设置为systemd托管
vim /lib/systemd/system/confluence.service

[Unit]
Description=confluence service
After=network.target
StartLimitIntervalSec=60
StartLimitBurst=5

[Service]
Type=forking
User=confluence
Group=confluence
ExecStart=/opt/atlassian/confluence/bin/start-confluence.sh
ExecStop=/opt/atlassian/confluence/bin/stop-confluence.sh
Restart=on-failure
RestartSec=1
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]

WantedBy=multi-user.target

# 重启服务
systemctl start/stop/restart/status confluence
systemctl enable confluence

报错

若部署过程中出现报错,可以先停止 confluence,然后删除数据库,并重建数据库,然后删除 /var/atlassian/application-data/confluence/confluence.cfg.xml 文件

再启动 confluence,就又到了 confluence 的 setup 页面

卸载wiki

linux 卸载confluence,只需三步_confluence卸载-CSDN博客

1
2
3
4
5
6
7
8
1. 删除主目录
rm -rf /opt/atlassian/

2. 删除数据目录
rm -rf /var/atlassian/

3. 删除用户
userdel -r confluence

参考

https://www.cnblogs.com/ios9/p/14473523.html