# 2021-01-10 #「Jumpserver」- 升级(1.4.6-2 to latest)

本文记录升级 Jumpserver 1.4.6-2 到最新版本(03/14/2020 Version 1.5.6-2 GPLv2)的过程,并记录升级期间可能出现的问题。本次升级过程参考 更新升级/1.4.5-1.4.7 升级到最新版本 文档。

如果各位需要也升级,建议阅读官方文档(Jumpserver/安装文档/更新升级)。

注意事项

0)升级一定要备份原有数据库,或者直接克隆原有虚拟机以备份。当升级失败,或者新版本存在问题时,可以进行回滚操作;
1)在操作升级事宜前,务必认真详细阅读文档,并理解内容后再开始;
2)不建议复制粘贴来执行全部命令,建议分步执行命令;
3)官方文档不一定适用于特定环境,需要根据需求进行调整;

第一步,升级 Jumpserver 服务

#!/bin/sh

# 载入虚拟环境
cd /opt/jumpserver
source /opt/py3/bin/activate

# 停止服务
./jms stop

# 拉取代码
cd /opt/jumpserver
git pull

# 更新 config.yml, 请根据你原来的 config.bak 内容进行修改
mv config.py config_1.4.5.bak
cp config_example.yml config.yml
vi config.yml # 通常改动不大,只需要更新少量字段:数据库,SECRET_KEY(结合自身情况自行设置)

# 安装依赖
pip install wheel
pip install -r requirements/requirements.txt

# 启动服务
./jms start -d

第二步、调整 Nginx 配置

(1)修改 ngixn.conf 配置文件,(2)并重新加载 Nginx 服务:

#!/bin/sh

systemctl reload nginx.service

第三步、升级 Luna 服务

#!/bin/sh

cd /opt
rm -rf luna luna.tar.gz

# 如果网络有问题导致下载无法完成可以使用下面地址
# wget https://github.com/jumpserver/luna/releases/download/1.5.6/luna.tar.gz
wget https://demo.jumpserver.org/download/luna/1.5.6/luna.tar.gz

tar xf luna.tar.gz
chown -R root:root luna

# 注意把浏览器缓存清理下

第四步、升级 Koko 服务

#!/bin/sh

cd /opt

# wget https://github.com/jumpserver/koko/releases/download/1.5.6/koko-master-linux-amd64.tar.gz
wget https://demo.jumpserver.org/download/koko/1.5.6/koko-master-linux-amd64.tar.gz

tar xf koko-master-linux-amd64.tar.gz
chown -R root:root kokodir
cd kokodir

# 调整配置文件
# 注意,在安装 1.4.6-2 版本时,$BOOTSTRAP_TOKEN 已经写入 .bashrc 中,所以可以放心执行
cp config_example.yml config.yml
sed -i "s/BOOTSTRAP_TOKEN: <PleasgeChangeSameWithJumpserver>/BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN/g" /opt/kokodir/config.yml
sed -i "s/# LOG_LEVEL: INFO/LOG_LEVEL: ERROR/g" /opt/kokodir/config.yml
# vim config.yml

./koko -d

还可以使用 Docker 部署 koko 服务,详细内容请参考官方文档。

第五步、升级 Guacamole 服务

#!/bin/sh

/etc/init.d/guacd stop
sh /config/tomcat8/bin/shutdown.sh
cd /opt/docker-guacamole
git pull
cd /config
rm -rf /config/tomcat8

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz
tar xf apache-tomcat-9.0.31.tar.gz
mv apache-tomcat-9.0.31 tomcat9
rm -rf /config/tomcat9/webapps/*

sed -i 's/Connector port="8080"/Connector port="8081"/g' /config/tomcat9/conf/server.xml
echo "java.util.logging.ConsoleHandler.encoding = UTF-8" >> /config/tomcat9/conf/logging.properties
ln -sf /opt/docker-guacamole/guacamole-1.0.0.war /config/tomcat9/webapps/ROOT.war
ln -sf /opt/docker-guacamole/guacamole-auth-jumpserver-1.0.0.jar /config/guacamole/extensions/guacamole-auth-jumpserver-1.0.0.jar
ln -sf /opt/docker-guacamole/root/app/guacamole/guacamole.properties /config/guacamole/guacamole.properties

# wget https://github.com/ibuler/ssh-forward/releases/download/v0.0.5/linux-amd64.tar.gz
wget https://demo.jumpserver.org/download/ssh-forward/v0.0.5/linux-amd64.tar.gz
tar xf linux-amd64.tar.gz -C /bin/
chmod +x /bin/ssh-forward

# BOOTSTRAP_TOKEN 请和 jumpserver/config.yml 配置文件中保持一致(这是官方原话,但是 jumpserver/config.yml 中并没有配置 BOOTSTRAP_TOKEN)
# 注意,在安装 1.4.6-2 版本时,$BOOTSTRAP_TOKEN 已经写入 .bashrc 中,所以无需再次写入
# export BOOTSTRAP_TOKEN=*****
# echo "export BOOTSTRAP_TOKEN=*****" >> ~/.bashrc

/etc/init.d/guacd start
sh /config/tomcat9/bin/startup.sh

还可以使用 Docker 部署 Guacamole 服务,详细内容请参考官方文档。

第六步、访问以验证及服务启动脚本

浏览器访问 Jumpserver 以验证升级成功。根据官方文档的描述,我们已经成功升级到最新版本

下面是服务启动脚本:

#!/bin/sh

set -e -x

source /opt/py3/bin/activate

cd /opt/jumpserver
./jms start -d 

cd /opt/kokodir
./koko -d 

/etc/init.d/guacd start
sh /config/tomcat9/bin/startup.sh

参考文献

 

 


posted @ 2021-01-10 12:19  研究林纳斯写的  阅读(328)  评论(0编辑  收藏  举报