因为公司服务器使用年限久,服务器环境杂乱无章,且故障出现率高。经过仔细评判决定将服务迁移至云平台。
环境信息如下:
系统 | 版本 |
---|---|
系统 | CentOS Linux release 7.7.1908 |
confluence | 6.6.1 |
java | 1.8.0_77 |
数据库 | 服务内置数据库 |
[root@k8s-master ]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@k8s-master application]# systemctl status firewalld
● firewalld.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead)
[root@k8s-master ]# getenforce
Disabled
[root@k8s-master application]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
环境信息如下:
系统 | 版本 |
---|---|
系统 | CentOS Linux release 7.6.1810 (Core) |
java | 1.8.0_282 |
confluence | 6.6.1 |
数据库 | mysql 5.6.5 |
部署前操作
关闭防火墙、selinux
[root@host-172-16-1-65 ~]# systemctl stop firewalld $$ systemctl disable firewalld
[root@host-172-16-1-65 ~]# setenforce 0 $$ sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@host-172-16-1-65 ~]# java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
[root@host-172-16-1-65 ~]# mkdir /data/pkgs/confluence6.6.1/{confluence,confluence-date} -p
[root@host-172-16-1-65 ~]# cd /data/pkgs/confluence6.6.1/
[root@host-172-16-1-65 confluence6.6.1]# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 21 10:31 confluence #服务安装目录
drwxr-xr-x 2 root root 4096 Apr 21 10:31 confluence-date #服务数据存放目录
[root@host-172-16-1-65 confluence6.6.1]# wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-6.6.1-x64.bin
如果需要安装其他版本可以通过修改版本号来更改:6.6.1 ==> 6.6.5
百度网盘分享
链接:https://pan.baidu.com/s/1sv1lEUgwmcCeH6BcfvPIZQ 提取码:21xz
[root@host-172-16-1-65 confluence6.6.1]# ll
total 594500
-rw-r--r-- 1 root root 608758699 Apr 21 11:11 atlassian-confluence-6.6.1-x64.bin
drwxr-xr-x 2 root root 4096 Apr 21 10:31 confluence
drwxr-xr-x 2 root root 4096 Apr 21 10:31 confluence-date
#添加执行权限
[root@host-172-16-1-65 confluence6.6.1]# chmod +x atlassian-confluence-6.6.1-x64.bin
[root@host-172-16-1-65 confluence6.6.1]# ll
total 594504
-rwxr-xr-x 1 root root 608758699 Apr 21 11:11 atlassian-confluence-6.6.1-x64.bin
drwxr-xr-x 2 root root 4096 Apr 21 10:31 confluence
drwxr-xr-x 2 root root 4096 Apr 21 10:31 confluence-date
[root@host-172-16-1-65 confluence6.6.1]# ./atlassian-confluence-6.6.1-x64.bin #启动安装程序
Unpacking JRE ...
Starting Installer ...
Apr 21, 2021 11:15:52 AM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
Apr 21, 2021 11:15:52 AM java.util.prefs.FileSystemPreferences$2 run
INFO: Created system preferences directory in java.home.
This will install Confluence 6.6.1 on your computer. #让你确认安装
OK [o, Enter], Cancel [c]
o
Choose the appropriate installation or upgrade option..#选择适当的安装或升级选项。
Please choose one of the following: #请选择以下选项
Express Install (uses default settings) [1], #快速安装(使用默认设置)[1],
Custom Install (recommended for advanced users) [2, Enter], #自定义安装(建议高级用户使用)[2,输入]
Upgrade an existing Confluence installation [3] #升级现在版本[3]
2
Where should Confluence 6.6.1 be installed? #Confluence 6.6.1 安装位置
[/opt/atlassian/confluence] #默认目录
/data/pkgs/confluence6.6.1/confluence #这里我们输入之前定义的文件目录
Default location for Confluence data #指定数据存放目录
[/var/atlassian/application-data/confluence] #默认数据存放目录
/data/pkgs/confluence6.6.1/confluence-date #这输入指定的数据存放目录
Configure which ports Confluence will use.
Confluence requires two TCP ports that are not being used by any other
applications on this machine. The HTTP port is where you will access
Confluence through your browser. The Control port is used to Startup and
Shutdown Confluence. #让你确认服务启动端口监听端口
Use default ports (HTTP: 8090, Control: 8000) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2]
#【1】使用默认端口 【2】自定义端口
2
HTTP Port Number
[8090]
8006 #平台登录端口
Control Port Number
[8000]
8016
Confluence can be run in the background.
You may choose to run Confluence as a service, which means it will start
automatically whenever the computer restarts.
Install Confluence as Service? #是否安装服务
Yes [y, Enter], No [n]
y
Extracting files ...
Please wait a few moments while we configure Confluence.
Installation of Confluence 6.6.1 is complete
Start Confluence now? #是否现在启动
Yes [y, Enter], No [n]
y
Please wait a few moments while Confluence starts up.
Launching Confluence ...
Installation of Confluence 6.6.1 is complete
Your installation of Confluence 6.6.1 is now ready and can be accessed via
your browser.
Confluence 6.6.1 can be accessed at http://localhost:8006 #提示你访问地址
Finishing installation ...
[root@host-172-16-1-65 confluence6.6.1]#
Language 可以切换中文(对英语不好的老铁非常的友好)
具体步骤这里就不一一叙述了!
(注:本文仅提供个人学习使用,商务用途请到官网购买正版授权!!!)
记录服务器ID :B7B0-DNN3-76B1-UB0O
破解软件下载地址:(网盘中也提供了软件包)
https://files.cnblogs.com/files/Javame/confluence%E7%A0%B4%E8%A7%A3%E5%B7%A5%E5%85%B7.zip
解压后有四个文件
注:这里需要小伙伴们在你自己的电脑安装java至于如何安装对于聪明的小伙伴来说应该不是问题
这里先暂停一下:回到终端
[root@host-172-16-1-65 confluence6.6.1]# ls
atlassian-confluence-6.6.1-x64.bin confluence confluence-date
[root@host-172-16-1-65 confluence6.6.1]# ./confluence/bin/shutdown.sh #停掉服务
[root@host-172-16-1-65 confluence6.6.1]# mv confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.2.jar atlassian-extras-2.4.jar #拷贝要破解的包并改名
[root@host-172-16-1-65 confluence6.6.1]# ls
atlassian-confluence-6.6.1-x64.bin atlassian-extras-2.4.jar confluence confluence-date
[root@host-172-16-1-65 confluence6.6.1]# sz atlassian-extras-2.4.jar #拷贝到桌面
AAABLQ0ODAoPeJxtkF1rwyAUhu/9FcKuLfno1jEQZqIXZYkpS7OxS5ueboK1QU1Y//1ss96Mwbk5H
+/Do3fvsMdscDhLcbp8ipU94rLd4izJUsTB904PQZ8sLU/2YEawPSA5HnfgmkPnwXlKUlQ6UJcjr
gLQS5IkSxLzMRNUH6Q6Ag3gA0mzHPURtIhTPcWhG+F2JWqlDdV20l7vDDz7HiwsrEFiUma88ulBG
Q8zodJx72F7HuDKL5u6Fq/lmlUogmwAq6Kr+B60O89eeb6KAiS7nwG3V5Rm9AGcPO3B0wS1QtKPp
sM1exG4FpjhlnG8YZKzBWrcp7LazzJavulWF5XAW8Fq1IKbwK05LVZFQriUOVk9FCnpiqRBv7ZxW
635rftfbjO6/kt5+POZP+KziIwwLAIUPHZngHtjfNxSpdmE1xpxoXsLGnsCFDxGWtcwrk227a/JE
YVYfOWLBe5IX02f3
[root@host-172-16-1-65 confluence6.6.1]# rm -f atlassian-extras-2.4.jar #删除或者备份之前的老文件
[root@host-172-16-1-65 confluence6.6.1]# rz #把刚才生成的文件上传到服务器上
[root@host-172-16-1-65 confluence6.6.1]# ls
atlassian-confluence-6.6.1-x64.bin atlassian-extras-2.4.jar confluence confluence-date mysql-connector-java-5.1.48-bin.jar
#拷回原先的目录中并改回原先的文件名
[root@host-172-16-1-65 confluence6.6.1]# mv atlassian-extras-2.4.jar confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.2.jar
#数据库连接插件(网盘中已经提供)
[root@host-172-16-1-65 confluence6.6.1]# mv mysql-connector-java-5.1.48-bin.jar confluence/confluence/WEB-INF/lib/
[root@host-172-16-1-65 confluence6.6.1]# ./confluence/bin/startup.sh #重新启动服务
生产环境建议使用外置数据库:这里我采用的是mysql数据库(数据库如何安装这里就不叙述了)
数据库操作:
#创建confluence数据库
mysql> CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON confluence.* TO 'cf'@'172.16.1.65' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL tx_isolation='READ-COMMITTED'; #设置数据库的隔离级别不设置会出现下图的错误
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
注意数据库配置文件添加
character-set-server = utf8
重启以解决平台恢复数据后中文乱码的问题
注意:到这个界面之后不可随意退出界面或使用浏览器返回上一步,否则服务会出现问题,具体解决办法暂时没有提供:(删除服务重新安装,最快的解决方案)
因为是与jira配套使用所以本文使用的空白热点
首先使用管理员登录
点击右上角的"一般配置"-“每日备份管理”,如下图(默认配置):
默认每天会自动备份一个zip打包的数据,存放在服务器的你安装时指定的数据存放目录下的backerup下
默认安装:/var/atlassian/application-data/confluence/backups,
本文:/data/pkgs/confluence6.6.1/confluence-data/backups
还可以点击"编辑"进行自定义
上面这是默认的整个Confluence的备份,默认每天2点左右都会整体备份一次!恢复或迁移的时候,可以直接用这里的zip打包数据进行恢复。
除此之外,还可以点击"一般配置"-"备份与还原"里面的备份进行手动备份.
数据备份目录:/var/atlassian/application-data/confluence/backups ("站点管理"->"每日备份管理")
本文:/data/pkgs/confluence6.6.1/confluence-data/backups
附件所在目录:/var/atlassian/application-data/confluence/attachments 注意附件数据要手动备份,可以写shell脚本定时备份。
本文:/data/pkgs/confluence6.6.1/confluence-data/attachments
除了上面的Confluence整体备份,还可以选择针对某个空间进行手动导出、导入的方式进行备份和恢复,这个一般是在迁移的时候用到。具体做法如下:
点开某个空间后,依次点击左下角的"空间管理"-"概览"-"内容工具"-"导出"(选择xml格式)
导出的文件一般会放在服务器的/var/atlassian/application-data/confluence/temp/路径下。
本文:/data/pkgs/confluence6.6.1/confluence-data/temp
使用每日备份包进行恢复:
把老平台的备份文件下载到本地或者上传到新平台的/data/pkgs/confluence6.6.1/confluence-data/restore下
恢复方式:可以上传本电脑的备份文件也可以搜索服务器上指定目录下的备份文件
[root@host-172-16-1-65 restore]# pwd
/data/pkgs/confluence6.6.1/confluence-data/restore
[root@host-172-16-1-65 restore]# ll
total 51900
-rw-r--r-- 1 root root 53144492 Apr 22 11:12 backup-2021_04_19.zip
#添加权限以防止因为权限不足导致恢复失败
[root@host-172-16-1-65 restore]# chmod 777 backup-2021_04_19.zip
注意:针对某个空间的备份恢复:
- 如果此空间不存在,则可以如同上面方法恢复数据:
将备份在/data/pkgs/confluence6.6.1/confluence-data/temp/里面的数据拿到本地,然后
点击"上传和恢复"即可进行数据恢复。
- 如果此空间已存在,则就不能使用上面方法,否则会报错"空间标识DATA已存在,请首先删除该空间,然后
继续完成还原"。此种情况下,如果不删除该空间,则正确的数据恢复的方法是:点开该空间,分别点击左
下角的"空间管理"-"概览"-"内容工具"-"导入",然后将服务器上备份数据的路径
/data/pkgs/confluence6.6.1/confluence-data/temp/填写到"导入路径",进行导入操作即可。
如果之前你没有做数据库的配置修改就会出现下图问!!!
解决方案:
登录数据库查看数据库字符集
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |#使用的是latinl(导致中文识别乱码)
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |#使用的是latinl(导致中文识别乱码)
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
修改配置文件my.ini
再[mysqld]下面添加
character-set-server = utf8
重启数据库
登录数据库查看
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
重新再恢复一次即可
Jira、Confluence迁移/备份
先安装Jira, 后安装Confluence, 用Confluence去主动对接Jira.
首次迁移的时候, 需要注意下面几点:
第一步:
在新服务器上安装Jira环境。
第二步:
将老机器的jira库恢复到新机器的jira库中(新机器的jira库不要删除,在此jira库基础上进行导入)。
在导入老的jira库前, 一定要提前备份新服务器的jira库!
数据导入后,一定要重启Jira服务!然后尝试用老环境的jira用户登录新环境的jira,确保原用户能成功登录新的Jira环境(说明用户导入成功)。
第三步:
将老机器jira的备份数据(包括附件数据)逐个恢复到新机器的Jira环境里。
第四步:
在新服务器上安装Confluence环境,安装过程中,一定要记得对接新的Jira环境!对接后,使用原来的confluence账号应该是能成功登录新的Confluence。因为老账号已经通过jira导入到新环境中.
第五步:
将老机器的Confluence库恢复到新机器的Confluence库里(新机器的Confluence库不要删除,在此Confluence库基础上进行导入即可)。
导入前一定要备份新机器的Confluence库! 导入成功后, 要记得重启Confluence服务。
第六步:
将老Confluence的备份数据(包括附件数据)逐个恢复到新的Confluence环境里(如果整体恢复有错误,可以按照空间的备份数据一个个进行恢复)
需要注意:
如果是备机器, 备机器在第一次安装环境时, 备机器的jira/confluence需要按照上面的步骤跟主机器进行第一次数据同步;
后续过段时间,主机器的jira/confluence陆续又有新账号和新数据产生, 需要再次进行数据同步, 切记:
1) 备份备机器的jira库;
2) 将主机器的jira数据库导出来,并导入到备机器的jira库里(新机器的jira库不要删除,在此jira库基础上进行导入);
3) 数据导入后, 重启备机器的jira服务, 确保使用主机器新增的账号能成功登录备机器的jira环境, 说明用户导入成功;
4) 接着在备机器的confluence环境里, 主动进行跟jira的账号同步! 确保备机器的jira/confluence的账号先成功同步过来!
5) 最后再依次进行主机器jira/confluence应用数据到备机器的同步操作!
账号同步的坑很多, 稍不注意, 就会导致confluence账号登录不上的情况. 所以,后续同步时, 最好只是同步jira/confluence的备份数据;
每次在主机器新建账号的时候, 最好也在备机器创建一次,这样先确保主备环境的账号同步!