# 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
参考文献