一、confluence安装
最近公司需要搭建confluence,自己也花了一些时间才搭建出来,网上破解包和版本也是良莠不齐,这里就做一下简单整理,方便后来者少走些弯路。
先把需要的包放出来方便大家下载,解压出来就是需要的所有的包
- 链接:https://pan.baidu.com/s/1NH3U-8fzRRt12pJ6rt64Sg
提取码:ghnk
先简单罗列下步奏
首先前提准备
1.windows上安装jdk(运行破解程序获取破解码用)
2.centos服务器一台7和6都可以(建议运行内存2G)
3.centos安装好mysql数据库
4.安装confluence
5.破解confluence
6.MySQL创建用户和数据库连接
7.完成
1.1 conflucence简介
- Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。
Confluence为团队提供一个协作环境。在这里,团队成员齐心协力,各擅其能,协同地编写文档和管理项目。从此打破不同团队、不同部门以及个人之间信息孤岛的僵局,Confluence真正实现了组织资源共享。
1.2 confluence安装
环境准备完成后,这里windows的JDK 的安装就不多做介绍了
开始安装confluence
把解压出来的atlassian-confluence-6.12.1-x64.binn上传服务器
授与执行权限
chmod +x atlassian-confluence-6.12.1-x64.bin
./atlassian-confluence-6.12.1-x64.bin 运行安装程序开始安装
- 第一步回车或者输入o回车
- 第二步按1回车
- 第三步回车确认安装路径
- 第四步确认端口,开始安装,按i回车
- 第五步按y安装完成后启动confluence
- 第六步
- 安装完成浏览器输入地址和端口号查看页面
- 默认端口是8089(这里注意下,如果你机器上原来安装过tomcat可能会访问不了,这里可能就要用到虚拟主机或者把原来的tomcat卸载后再安装吧,我一开始再有tomcat的机器上安装怎么都不行,后来换了一台没有tomcat应用的才可以)
浏览器输入IP:8090可以看到下面页面说明安装成功!
然后选择语言和企业版安装后稍等片刻,切换完成点击下一步
继续下一步,不选择插件
这里就需要输入授权码了,先记下服务器ID
1.3 破解confluence
破解需要两步,一是破解文件,二是获取授权码
1.3.1 破解文件
在服务器上下载/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.3.0.jar文件到Windows上本地重命名为atlassian-extras-2.4.jar
然后打开压缩包里的破解程序(这里必须Windows上装上JDK才可以)
名字随便写个英文的就好,Server ID 就是刚刚记下来的服务器ID这个ID每次安装都不一样的
然后第三步点击patch选择刚刚从服务器上拿下来的
atlassian-extras-2.4.jar文件
然后打开到文件目录下可以看到atlassian-extras-2.4.jar和atlassian-extras-2.4.bak两个文件,这里atlassian-extras-2.4.jar已经是破解好的了,将atlassian-extras-2.4.jar名字改回来atlassian-extras-decoder-v2-3.3.0.jar
上传到服务器上的/opt/atlassian/confluence/confluence/WEB-INF/lib/目录,覆盖原来的atlassian-extras-decoder-v2-3.3.0.jar
1.3.2 获取授权码
第四步,点击gen 获取授权码,然后把授权码复制,粘贴授权码,下一步。
1.3.3 设置数据库
开始到了设置数据库,选择自己的数据库,点击下一步
选择MySQL
将压缩包里面的msyql连接文件的压缩包解压后把mysql-connector-java-5.1.46-bin.jar放到
/opt/atlassian/confluence/confluence/WEB-INF/lib下,重启confluence
重启服务
sh /opt/atlassian/confluence/bin/shutdown.sh
sh /opt/atlassian/confluence/bin/startup.sh
开始设置数据库,登录
创建数据库confluence,设置字符集,创建用户tom,设置密码为admin
CREATE DATABASE confluence DEFAULT CHARACTER SET utf8 collate utf8_bin;
grant all on confluence.* to ‘tom’@’%’ identified by ‘admin’;
flush privileges;
填写数据库信息连接
我这里用的是数据库root用户,然后点击下一步
配置帐号
到此全部配置完毕
遇到的问题
报错!!!!
A system error has occurred — our apologies!
For immediate troubleshooting, consult our knowledge base for a solution.
If you would like to receive support from Atlassian’s support team, ask your Confluence administrator to create a support issue on Atlassian’s support system with the following information:
a description of your problem and what you were doing at the time it occurred
a copy of the error and system information found below
a copy of the application logs (if possible).
Your Confluence administrator can use the support request form to create a support ticket which will include this information.
We will respond as promptly as possible.
Thank you!
Return to site homepage…
The SystemInformationService could not be retrieved from the container. Therefore very limited information is available in this error report.
The SystemInformationService could not be retrieved due to the following error: java.lang.IllegalStateException: Spring Application context has not been set
Cause
com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.IllegalStateException: Spring Application context has not been set
at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)
caused by: java.lang.IllegalStateException: Spring Application context has not been set
at com.atlassian.spring.container.SpringContainerContext.getComponent(SpringContainerContext.java:48)
在这里插入图片描述
如果重启或者卸载后重装有可能会出现这个问题,查了好多资料也没有发现为什么怎么解决,后来重装时发现好像和一开始第一次装多了一个步奏
只需要把这个/var/atlassian/application-data/confluence 日志全部清除然后重启confluence就可以了,就是步奏要重来一遍,注意的是机器ID变了,授权码需要重新获取,我想这里记录的一些缓存日志之类才导致的。
还有就是数据库创建时注意要用utf8 collate utf8_bin的字符集才可以哦。
1.3.4 confluence开机自启
#!/bin/bash
# chkconfig: 2345 85 15
# Provides: atlassian
# Short-Description: Start and stop the Jira&Confluence server
# Description: Start and stop the Jira&Confluence server.
# source function library
. /etc/init.d/functions
Confluence=/opt/atlassian/confluence
startup=$Confluence/bin/startup.sh
shutdown=$Confluence/bin/shutdown.sh
export JAVA_HOME=/opt/jdk
start(){
echo -n $"Starting Confluence"
#daemon -c
$startup
RETVAL=$?
echo
}
stop(){
echo $"Stopping Confluence"
$shutdown
RETVAL=$?
echo
}
restart(){
stop
start
}
status(){
numproc=`ps -ef | grep confluence | grep -v "grep confluence" | wc -l`
if [ $numproc -gt 0 ]; then
echo "Confluence is running..."
else
echo "Confluence is stopped..."
fi
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 1
esac
需要对 文件赋可执行权限
chmod +x /etc/init.d/confluence
添加服务
chkconfig --add confluence
查看confluence服务启动级别
chkconfig --list
保证2-5开启
测试启动confluence
service confluence start
启动完 就可以用 systemctl start confluence 操作完命令观察日志变化,启动的比较慢。
1.3.5 docker-compose安装confluence
首先安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-uname -s
-uname -m
> /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
编写mysql-confluence-compose.yaml 文件,安装mysql和confluence服务。confluence服务依赖于mysql。
mysql:
container_name: mysql
restart: always
image: mysql:5.7
ports:
- "3307:3307"
environment:
MYSQL_ROOT_PASSWORD: 3a99bce0c4991b91
volumes:
- /opt/docker/mysql/conf:/etc/mysql/mysql.conf.d
- /opt/docker/mysql/data:/usr/local/mysql/data
- /opt/docker/mysql/logs/:/usr/local/mysql/logs
confluence:
container_name: wiki_confluence
restart: always
image: cptactionhank/atlassian-confluence:latest
ports:
- "8090:8090"
links:
- mysql:mysql
docker-compose -f mysql-confluence-compose.yaml up
跟源码装的不同的地方是激活需要把容器里对应版本的jar包拷贝到主机
docker cp wiki_confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar /opt/docker/mysql
二、confluence备份
管理员账号登录Confluence,点击右上角的"一般配置"-“每日备份管理”,如下图(默认配置):
上面这是默认的整个Confluence的备份,默认每天2点左右都会整体备份一次!恢复或迁移的时候,可以直接用这里的zip打包数据进行恢复。除此之外,还可以点击"一般配置"-"备份与还原"里面的备份进行手动备份。
数据备份目录:/var/atlassian/application-data/confluence/backups
(“站点管理”->“每日备份管理”)
附件所在目录:/var/atlassian/application-data/confluence/attachments
注意附件数据要手动备份,可以写shell脚本定时备份。
除了上面的Confluence整体备份,还可以选择针对某个空间进行手动导出、导入的方式进行备份和恢复,这个一般是在迁移的时候用到。具体做法如下:
点开某个空间后,依次点击左下角的"空间管理"-“概览”-“内容工具”-“导出”(选择xml格式)
导出的文件一般会放在服务器的/var/atlassian/application-data/confluence/temp/路径下。
三、 迁移confluence数据
把原wiki的zip最新的压缩包传到本地,然后在新的wiki上点击
当备份数据比较大时,可以将备份数据拷贝到/var/atlassian/application-data/confluence/restore路径下,从Confluence主目录中进行恢复。如下:
注意:针对某个空间的备份:
- 如果此空间不存在,则可以如同上面方法恢复数据:即将备份在/var/atlassian/application-data/confluence/temp/里面的数据拿到本地,然后点击"上传和恢复"即可进行数据恢复。
- 如果此空间已存在,则就不能使用上面方法,否则会报错"空间标识DATA已存在,请首先删除该空间,然后继续完成还原"。此种情况下,如果不删除该空间,则正确的数据恢复的方法是:点开该空间,分别点击左下角的"空间管理"-“概览”-“内容工具”-“导入”,然后将服务器上备份数据的路径/var/atlassian/application-data/confluence/temp/ 填写到"导入路径",进行导入操作即可。
官方建议手动备份
/var/atlassian/application-data/confluence/
这里个人感觉 直接用生成的zip备份会更简单点,因为数据量不是很大
下篇介绍如何解决配置confluence发邮件的问题