CentOS7 部署 Confluence 7.4以及从6.0.3升级到7.4方案

CentOS7 部署 Confluence 7.4

Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送

部署Confluence前,需确认服务器已部署Nginx+MySQL环境,可以参考我之前写过的CentOS7搭建LNMP环境进行部署

部署Confluence

① 下载所需安装包

建议下载enterprise版本,Atlassian官方会长期维护

[root@k8s-node03 opt]# cd /opt
[root@k8s-node03 opt]# wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-7.4.0-x64.bin
[root@k8s-node03 opt]# wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.49.tar.gz

② 安装JAVA 1.8

1 部署Java环境,安装JDK

下载好jdkl压缩包

[root@k8s-node03 opt]# mkdir -pv /usr/local/java
[root@k8s-node03 opt]# tar xf jdk-8u201-linux-x64.tar.gz -C /usr/local/java
[root@k8s-node03 opt]# cd /usr/local/java/
[root@k8s-node03 java]# mv ./jdk1.8.0_201 jdk

vim /etc/profile  添加如下环境变量

或者在~/.bash_profile里面添加,仅供当前登录shell账号生效

export JAVA_HOME=/usr/local/java/jdk                               
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH="$PATH:$JAVA_HOME/bin"  

 配置命令全局使用

[root@k8s-node03 java]# source /etc/profile.d                       //生效
[root@k8s-node03 java]# java -version                      //检查是否生效

 二进制部署mysql-5.6,需要使用mysql5.7请参考5.7的部署方案(mysql-5.7.12部署)

Mysql官网下载二进制mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

安装mysql5.6(安装在/usr/local/mysql)

  • 、创建mysql用户账号
[root@k8s-node03 mysql]# useradd -s /sbin/nologin -M mysql
  • 、解压压缩包
[root@k8s-node03 opt]#cd /usr/local
[root@k8s-node03 local]# tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
  • 、重命名
[root@k8s-node03 local]# mv mysql-5.6.34-linux-glibc2.5-x86_64 mysql
  • 、复制配置文件(可以使用系统的cnf不需要cp)
[root@k8s-node03 local]# cp ./mysql/support-files/my-default.cnf /etc/my.cnf

 

修改my.cnf配置并使用官方建议的参数

[client]
port = 3306
socket = /usr/local/mysql/mysql.sock
default-character-set = utf8

[mysqld]
skip-name-resolve
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
server_id = 10
socket = /usr/local/mysql/mysql.sock
pid-file = /usr/local/mysql/mysql.pid
log-error = /usr/local/mysql/mysql.err
log-bin = /usr/local/mysql/mysql-bin
character-set-server=utf8
collation-server=utf8_bin
  • 、初始化数据库

下载依赖包

[root@k8s-node03 local]# yum -y install autoconf  (此包安装时会安装Data:Dumper模块)

授权

[root@k8s-node03 local]# chown mysql:mysql -R /usr/local/mysql

初始化

/usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/etc/my.cnf \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

 

配置并启动mysql

[root@k8s-node03 local]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@k8s-node03 local]# chmod 777 /etc/init.d/mysqld
#(*注意,mysql二进制安装默认的路径为/usr/local/mysql,如果不是这个路经需要修改启动脚本里/usr/local/mysql需要替换)
[root@k8s-node03 local]# service mysqld start

添加自启动

[root@k8s-node03 local]# chkconfig --add mysqld
[root@k8s-node03 local]# chkconfig mysqld on
[root@k8s-node03 local]# chkconfig --list mysqld

配置环境变量

[root@k8s-node03 local]# vim /etc/profile (添加变量)
export PATH="$PATH:/usr/local/mysql/bin"
source /etc/profile

修改mysql密码(mysql5.6安装默认root密码为空)

> mysqladmin -u root password '123456'  (根据自己情况修改)

如果找初始密码不是空可以这样来跳过密码重新设置

停止数据库

[root@k8s-node03 ~]# vim /etc/my.cnf
[mysqld] 下添加如下内容
skip-grant-tables
[root@k8s-node03 ~]# mysql -u root -p (直接回车修改密码后再退出删除skip重启数据库)
update user set authentication_string=password("spms") where user="root";

清理无用的mysql用户及库(根据情况可省略这步
登陆mysql

> select user,host from mysql.user;  (查看现有的用户)
> drop user "root"@"::1";
> drop user ""@"localhost";
> drop user ""@"localhost.localdomain";
> drop user "root"@"localhost.localdomain";

 

配置confluence环境

优化数据库配置confluence介意参数

添加到my.cnf的[mysqld]下面  添加然后重启

default-storage-engine=INNODB
max_allowed_packet=256M
innodb_log_file_size=2GB
sql_mode=ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
transaction-isolation=READ-COMMITTED
binlog_format=row

创建confluence用户和库(根据情况使用密码)

mysql> CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin;
mysql> CREATE USER 'confluence'@'%' IDENTIFIED BY 'dqz123456';
mysql> GRANT ALL PRIVILEGES ON confluence.* TO 'confluence '@'localhost' IDENTIFIED BY 'dqz123456';
mysql> GRANT ALL PRIVILEGES ON confluence.* TO 'confluence'@'%' IDENTIFIED BY 'dqz123456';

 

安装confluence

#将最开始下载的包进行授权并执行
chmod +x atlassian-confluence-7.4.0-x64.bin
./atlassian-confluence-7.4.0-x64.bin
#安装后默认的文件路径/opt/atlassian/confluence

 

安装MySQL驱动

[root@k8s-node03 opt]# tar zxvf mysql-connector-java-5.1.49.tar.gz
[root@k8s-node03 opt]# mv mysql-connector-java-5.1.49/mysql-connector-java-5.1.49-bin.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java-5.1.49-bin.jar

 

⑤ 配置confluence

浏览器访问 IP:8093 打开confluence的配置页面

如无法访问,请临时关闭iptables、FirewallD防火墙,一些云主机在管理页面也会有防火墙设置,安装完成后记得手动开启systemctl stop iptablessystemctl stop firewalld

进入配置页面,语言选择中文,按提示进行安装,扩展应用Questions与Team Calendars如有需求可以勾选

进入授权码页面后,需人工记录服务器ID,返回ssh命令行

使用atlassian-agent生成授权码

 

#confluence的server.xml配置文件案例(test.com域名是前端代理所用的域名)

<Server port="8001" shutdown="SHUTDOWN" debug="0">
    <Service name="Tomcat-Standalone">

        <Connector port="8093" connectionTimeout="20000" redirectPort="8443"
                   maxThreads="4000" minSpareThreads="100" maxSpareThreads="2000"
                   minProcessors="100" maxProcessors="2000"
                   enableLookups="false" acceptCount="4000" debug="0" URIEncoding="UTF-8"
                   protocol="org.apache.coyote.http11.Http11NioProtocol"
                   scheme="https" secure="true" proxyName="test.com" proxyPort="8090"/>

        <Engine name="Standalone" defaultHost="localhost" debug="0">
            <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false" startStopThreads="4">
                <Context path="/cwiki" docBase="../confluence" debug="0" reloadable="false" useHttpOnly="true">
                    <!-- Logging configuration for Confluence is specified in confluence/WEB-INF/classes/log4j.properties -->
                    <Manager pathname=""/>
                    <Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="60"/>
                </Context>

                <Context path="${confluence.context.path}/synchrony-proxy" docBase="../synchrony-proxy" debug="0"
                         reloadable="false" useHttpOnly="true">
                    <Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="60"/>
                </Context>
            </Host>
        </Engine>
    </Service>
</Server>

 

6,破解方法

下载破解工具到win10

文件里面有破解工具可以下载使用,文件地址破解工具

 

 

[root@wiki-test ~]# cd /opt/atlassian/confluence/confluence/WEB-INF/lib/

将该目录下的atlassian-extras-decoder-v2-3.4.1.jar拷贝到自己的电脑上并进行重命名为atlassian-extras-2.4.jar,放到破解工具同一目录;

执行confluence_keygen.jar包进行破解;

命令cmd使用

C:\Users\powell\Desktop\confluence破解工具>java -jar confluence_keygen.jar

分别执行一下步骤

.path是指定的atlassian-extras-2.4.jar文件

破解完成后将atlassian-extras-2.4.jar上传到 /opt/atlassian/confluence/confluence/WEB-INF/lib/下面并重命名

mv atlassian-extras-2.4.jar atlassian-extras-decoder-v2-3.4.1.jar  (注意atlassian-extras-decoder-v2-3.4.1.jar是对应版本confluence的jar包名)

然后重启confluence访问主页被破解进入,然后配置数据库连接创建管理员账号;

 

7,首页轮播提示代码示例

<html>
    <head>
        <meta charset="UTF-8">
        <title>marquee</title>
    </head>
  
    <body style="background: white;padding: 0px;">
        <marquee><span style="font-weight: bolder;font-size: 20px;color: white;"><font color="#FF0000">平台对各项目的访问做了限制,没有项目权限的账号请联系相关项目的管理员添加权限</font></span></marquee>
    </body>
</html>

 

二、confluence从6.0.3升级到7.4

升级版本顺序,直接升级到7.13.0,会报错。这里求稳一点点升级了。升到7.4.11就ok,没有升级到7.13.0

6.15.4

7.0.1

7.2.0

7.4.0

7.4.11

从confluence官网下载相应的二进制安装版本,

注意!备份好之前的数据以及配置文件跟以前破解的atlassian-extras-2.4.jar包

然后执行这个包

只需要在下面这一步选择3其它直接确定默认就ok

安装完成之后会提示license问题就是下图的情况

然后我们只需要:

将之前备份的破解jar包放回对应的位置(/opt/atlassian/confluence/confluence/WEB-INF/lib/)下面,重启confluence就完成升级了

每升级一个版本更新类似的操作就升级完成,升级版本不能跨度太大不然会失败

 

posted @   智杰  阅读(1424)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
marquee
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生
点击右上角即可分享
微信分享提示