confluence5.4.4系统迁移(Standalone)

0. 说明

confluence有多种安装方式,该篇文章只讨论免安装版本。从官方文档观察可知,官方已经不支持5.x的版本了,所需的资料都需要从除了官网之外的地方获取了。

软件要求

  • Apache Tomcat -- confluence自行封装,无需额外安装
  • Java -- 版本1.7
  • DB -- confluence支持多种外置数据存储,我们使用mysql5.6的版本
  • OS -- 操作系统部分常见的为Ubuntu和CentOS系列,我们这里使用Ubuntu

硬件要求
在官方文档中有具体的描述,我们只列出最低配置的要求,在自己测试时可能没有这么高的硬件配置,但是我们可以用1-2GB的内存来尝试安装该软件,来了解基本功能。
最低:

  • CPU: Quad core 2GHz+ CPU
  • RAM: 6GB
  • Min DB Space: 10GB

1. 原有系统情况

比较重要的有两部分,意识confluence的安装目录与数据目录,另一个是mysql的数据(mysql目前和其他的应用共用一个)。
confluence自身提供了备份和恢复的功能,我们直接采用这种方式来迁移数据。但是在迁移之前我们必须要手动备份上面提到的两部分数据,再通过自带的备份方式来迁移数据。

手工备份

  • confluence安装及数据目录
home dir: /var/atlassian/application-data/confluence
install dir: /opt/atlassian/confluence 

~]#tar zcvf confluence_alldata.tar.gz /var/atlassian/application-data/confluence --exclude /var/atlassian/application-data/confluence/backups
~]#tar zcvf confluence_install.tar.gz /opt/atlassian/confluence --exclude /opt/atlassian/confluence/logs --exclude /opt/atlassian/confluence/temp --exclude /opt/atlassian/confluence/work
  • mysql数据库
~]#mysqldump -hxxx -uconfluence -pxxx --databases/-B confluence > confluence_mysql_alldata.sql

confluence自带备份

以管理员身份登录系统,通过导航栏中的设置图标下的插件进入站点管理界面,在左侧导航部分的管理模块找到备份与还原链接,点击之后,右侧出现相关页面。
备份与还原页面最上方就是备份Confluence数据,我们选择下面的两个复选框:存档至备份目录备份附件,然后点击备份按钮就可以将mysql的数据以及附件以压缩xml文件的方式备份到confluence的家目录的backups目录下了。如果不选择存档至备份目录,数据会备份到confluence家目录的temp目录下;不选择备份附件,则只会备份mysql的数据。

2. 新系统环境

  • 软件

OS: CentOS 7.2
MySQL: MySQL Community Server 5.6.42
Java: 1.7.0_15

  • 硬件

RAM: 8GB
DiskSpace: 100GB
CPU: 2 * Xeon(R) E5-2620 v2 @2.10GHz

3. confluence安装

  • 上传备份的confluence安装文件到新服务器

通过sz命令或者sftp的方式将原服务器的备份文件下载到本地,然后再通过rz命令或者sftp方式将备份文件再上传到新服务器。如果新旧两台服务器之间网络是互通的,那么也可以直接通过rsync或者scp的方式传输备份文件到新服务器。

  • 解压安装文件到/opt目录下
~]#tar xfv confluence_install.tar.gz -C / #原来备份的时候加了绝对路径,所以解压出来的文件是从opt目录开始的,所以将其解压到根目录下
  • 修改jdk环境变量

修改jdk环境变量有两种方式

  1. 系统
    /etc/profile文件或者/etc/profile.d目录下新建一个.sh文件将java的JAVA_HOME/CLASSPATH/PATH环境变量写入进去,然后执行source /etc/profile命令就会生效,通过命令行下运行java -version命令可以检测效果。
  2. confluence自身
    在confluence安装目录下的bin目录下有一个setenv.sh文件,在该文件中我们加入JAVA_HOME的环境变量就可以了。
  • 设置confluence的home目录

配置文件文件在confluence安装目录下的confluence/WEB-INF/classes目录,文件名confluence-init.properties。这个文件本身已经配置了confluence.home,我们可以根据自己的需要重新修改,confluence.home只需要配置一个即可,由于原文件中配置了多个confluence.home,并且路径较长,所以,这里我们将其改为唯一的confluence.home = /var/confluence

  • 添加confluence系统用户
~]# useradd -m/--create-home -s/--shell /bin/bash confluence
  • 创建目录
~]#mkdir $CONFLUENCE_INSTALL/{work,logs,temp} #之前备份的时候将这三个目录排除了
~]#mkdir /var/confluence #confluence家目录
  • 修改目录权限

默认confluence是以confluence用户来运行的,必须让confluence对安装目录下的目录有写入和执行权限,我们这里直接将安装目录的所有者改成confluence用户

~]# chown -R confluence /opt/atlassian /var/confluence

4. MySQL安装及配置

MySQL的安装属于一项比较简单的技能,我们除了对版本之外没什么特别的要求,所以大家可以从网络上找到各种安装教程来完成。
在MySQL安装完成后,我们默认数据库已经经过了初始化,我们需要做的是设置用户及修改配置文件。

  • 配置文件
[mysqld]
character-set-server = utf8 #设置数据库服务端的字符编码为UTF8,否则在后面导入数据后就会出现乱码的情况,默认的字符编码为latin1
collation-server = utf8_bin #指定数据集的排序方式,常用的是utf8_general_ci(忽略大小写),utf8_bin(二进制存储,区分大小写)
default-storage-engine = InnoDB #mysql5.6的默认存储引擎是InnoDB,可以不写该行
transaction_isolation = READ-COMMITTED #默认事务隔离级别是repeatable-read,这个配置必须有,否则后面的页面设置数据库部分会失败
max_allowed_packet = 256M #单个记录的大小,如果大于该值,会导致写入数据库失败
innodb_log_file_size = 2GB #事务日志文件的大小,设置太大会导致数据库意外夯机的恢复时间会更长,设置太小,会影响InnoDB的性能
sql_mode = NO_AUTO_VALUE_ON_ZERO #影响AUTO_INCREMENT列的处理。一般情况,可以向该列插入NULL或0生成下一个序列号。NO_AUTO_VALUE_ON_ZERO禁用0,因此只有NULL可以生成下一个序列号。
binlog_format = row #MySQL复制的方式,如果mysql是单机则不需要配置
  • 数据库及用户设置
~]# mysql -uroot -pxxx -hxxx 
mysql> CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin; #创建confluence使用的数据库
mysql> GRANT ALL ON confluence.* TO 'confluence'@'localhost' IDENTIFIED BY 'xxxx'; #授权confluence用户管理confluence数据库
mysql> FLUSH PRIVILEGES;

5. confluence初始化及数据恢复

  • 启动
~]# su - confluence -c "/opt/atlassian/confluence/bin/start-confluence.sh" #以confluence用户的身份来启动confluence服务
  • 设置向导
  1. LICENSE
    我们可以通过试用的方式来获取到License Key,或者通过网络的方法进行破解,这个步骤我们忽略。关键文件atlassian-extras-2.4.jar
  2. 选择安装类型
    有两个选项,试用或者生产,我们选择生产。
  3. 选择数据库
    同样有两种选项,一种是内置数据库,主要用来测试,另一种是外置的,需要我们单独安装的。我们选择外置数据库的mysql类型,这里有一点比较重要,我们必须确保我们将java连接mysql的驱动的jar文件放到了对应的位置,并且是重新加载了jar文件内容的环境。
  4. 数据库连接方式
    同样有两种选项,一种是JDBC直连,另一种是数据源,我们选择JDBC。
  5. 数据库配置
    这里面我们需要修改和填写的有三项。
  • Database URL --> localhost根据需要进行修改
  • User Name --> 填写前面创建的用户confluence
  • Password --> 填写前面设置的密码xxxxxx
  1. 空站点
    我们先选择空战点,然后设置admin的相关信息,进入正常的访问界面后再进行后续操作。

完成上面的步骤之后我们可以进行中文语言包的安装
我们需要从网上找到5.4.4版本对应的中文语言包,然后下载到服务器上,将其放到/opt/atlassian/confluence/confluence/WEB-INF/lib/目录下,然后重启confluence即可。也可以通过上传插件的方式,但是使用该方式容易上传失败。

  • 数据恢复

进入方式参考第1部分的confluence自带备份操作。进到备份与还原界面后,我们将页面下拉到从Confluence主目录中由备份恢复,这个是推荐的恢复方法,我们需要将原来备份的那个压缩文件上传到新服务器的/var/confluence/restore目录下,然后刷新网页,我们就能看到下面的文本框中有一个可以选择的压缩文件,我们点击选中该文件,然后点击下方的还原。然后页面会跳转到带有进度条的页面,等到进度条下方导入数据状态变成Complete,数据恢复操作就完成了。

6. 其余部分修改

下面的配置修改都是在插件部分下面完成的

  • 一般配置
    服务器基础URL:默认为我们原来服务器的IP地址,我们需要将其改为我们新服务器的IP地址

  • 每日备份管理
    默认情况下,原来的服务器已经设置好了备份策略,但是由于新服务器上,我们是重新配置并导入的备份数据,所以这里的自定义备份路径默认是没有启用的,我们需要通过confluence.cfg.xml文件,修改下面的配置

false

默认配置为false,我们将其修改为true,然后重启confluence就生效了。为了验证效果,我们跳转到管理预定作业部分,找到备份系统,点击右边的运行按钮,等待一会儿之后,我们查看服务器的/var/confluence/backups目录,就可以看到备份之后的zip文件了。如果备份的自定义目录不存在,备份文件会存放在家目录的temp目录下。

你可能感兴趣的:(confluence5.4.4系统迁移(Standalone))