安装部署
Code Block |
---|
timedatectl set-timezone Asia/Shanghai
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum install zip unzip telnet wget lrzsz ntpdate net-tools chrony bash-completion yum-utils nfs-utils tree -y
yum-config-manager --add-repo http://mirrors.aliyun.com/repo/epel-7.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
mkdir -p /data/confluence/data /data/confluence/config
cd /data/confluence
yum install docker-ce docker-compose -y
wget https://zhengyu1992.cn/file/deploy/tools/confluence/docker-compose.yml |
编辑docker-compose.yml
Code Block | ||
---|---|---|
| ||
version: '3.2'
networks:
confluence:
driver: bridge
services:
mysql:
image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/mysql:5.7.29
container_name: mysql
restart: always
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: Blala007!
MYSQL_DATABASE: confluence
MYSQL_USER: confluence
MYSQL_PASSWORD: Blala007!
command:
#mysql5.7及以上 版本 默认连接方式 不是以密码形式连接 所以远程连接不方便 改为密码连接
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_bin
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--skip-ssl
--max_allowed_packet=128M
--innodb_log_file_size=256M
--transaction-isolation=READ-COMMITTED
volumes:
- /data/confluence/mysql:/var/lib/mysql
ports:
- "13306:3306"
networks:
- confluence
confluence:
image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/confluence:7.15.0_m1
container_name: confluence
restart: always
volumes:
- /data/confluence/data:/var/atlassian/application-data/confluence
- /data/confluence/config/mysql-connector-java-5.1.47-bin.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java-5.1.47-bin.jar
- /data/confluence/config/atlassian-extras-2.4.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar
- /data/confluence/config/server.xml:/opt/atlassian/confluence/conf/server.xml
ports:
- "18090:8090"
- "18091:8091"
links:
- "mysql:db"
networks:
- confluence |
如果是初次启动将如下三行注释掉,待初始化完成后从容器中拷贝出来进行修改
Code Block |
---|
- /data/confluence/config/mysql-connector-java-5.1.47-bin.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java-5.1.47-bin.jar
- /data/confluence/config/atlassian-extras-2.4.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar
- /data/confluence/config/server.xml:/opt/atlassian/confluence/conf/server.xml |
下载mysql驱动
Code Block |
---|
wget https://zhengyu1992.cn/file/software/mysql-connector-java-5.1.47.zip
unzip mysql-connector-java-5.1.47.zip
cp mysql-connector-java/mysql-connector-java-5.1.47-bin.jar /data/confluence/config/mysql-connector-java-5.1.47-bin.jar |
启动完成后打开ip:18090,注意复制Server ID
需要激活才能使用
下载注册机
Code Block |
---|
wget https://zhengyu1992.cn/file/software/confluence_keygen.jar |
打开注册机,需要安装java环境,我习惯用的8u251版本(jdk下载地址:https://www.oracle.com/java/technologies/downloads/archive)
将容器中的这个文件/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar拷贝到本地
docker cp confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar ./
修改文件名为atlassian-extras-2.4.jar
下面的前三行随便输入,Server ID那就是从上面浏览器中复制过来的(BX56-AMI0-EQ5L-PC3J)
点击.patch!找到刚才这个atlassian-extras-2.4.jar
这时候atlassian-extras-2.4.jar所在目录下会产生一个atlassian-extras-2.4.jar.bak
这个带bak的是原始文件,atlassian-extras-2.4.jar是修改过后的文件了
将这个文件复制到/data/confluence/config/atlassian-extras-2.4.jar跟上面的docker-compose.yaml中的磁盘映射对应
点击.gen!获取激活密钥,复制激活密钥
将mysql-connector-java-5.1.47-bin.jar放到/data/confluence/config目录下
如果是第一次安装的话需要将server.xml从容器中拷贝出来
docker cp confluence:/opt/atlassian/confluence/conf/server.xml ./
修改server.xml的反向代理链接内容
配置号nginx反向代理
Code Block | ||
---|---|---|
| ||
server {
listen 80;
server_name zhengyu1992.cn;
location / {
return 301 https://zhengyu1992.cn$request_uri;
}
}
server {
listen 443 ssl;
server_name zhengyu1992.cn;
client_max_body_size 8192m;
ssl_certificate /etc/nginx/certs/zhengyu1992.cn.pem;
ssl_certificate_key /etc/nginx/certs/zhengyu1992.cn.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_timeout 1d;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:18090;
}
} |
启动nginx,配置好https证书,做好域名解析
重启confluence容器,如果报最好docker-compose down && docker-compose up -d再次打开初始化页面,这次用域名打开
将上面注册机获取的key复制到下面
点击Next
如果报错That's not a valid license key.
尝试执行ocker-compose down && docker-compose up -d再次重试,如果一直报错,请将上面的bak文件修改后重新patch后gen生成key
正常情况就到这一步,点击Next
数据库类型选择mysql,其他信息就按照我们docker-compose.yml里面设置的填写
初始化数据库
Code Block |
---|
create database confluence default character set utf8 collate utf8_bin;
confluence 数据库授权
grant all on confluence.* to 'root'@'%' identified by 'Blala007!';
flush privileges;
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
exit; |
测试通过后点击Next,这里会有初始化数据库的时间,根据磁盘性能,快的十几秒,慢的几分钟
初始化完成后后我们到这一步
如果没有接触过confluence可以选择Example Site
如果是接触过confluence可以选择Empty Site
如果是恢复数据的话可以选Restore From Backup
我这里就以Example Site示范了,因为我们没有安装Jira所以就选Manage Users and Groups within Confluence
配置管理员账户密码
到这里就算安装挖成功了,点击start后就可以开始随意发挥了
创建工作空间