注:1.4.5 及之后的版本迁移, 只需要迁移 "数据库" "配置文件" 和 "录像目录"
本次迁移环境是1.4.9 jumpserver版本
注意mariadb 新旧版本也要一直,我这儿用的是5.60
- 备份数据到新的服务器
# 导出 jumpserver 数据库到新的服务器
$ mysqldump -uroot -p jumpserver > /opt/jumpserver.sql
# 把 jumpserver.sql 拷贝到新的服务器 /opt 目录
# 复制 Jumpserve 目录到新的服务器 /opt 目录
2.配置新服务器 (注意 mysql-server 的版本要与旧服务器一致)
$ yum -y install wget gcc epel-release git
$ yum -y install mariadb mariadb-devel mariadb-server MariaDB-shared
$ yum -y install redis
$ systemctl enable redis
$ systemctl enable mariadb
$ systemctl start redis
$ systemctl start mariadb
$ mysql -uroot
> create database jumpserver default charset 'utf8';
> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'weakPassword';
> use jumpserver;
> source /opt/jumpserver.sql;
> quit
$ yum -y install python36 python36-devel
$ cd /opt
$ python3.6 -m venv py3
$ source /opt/py3/bin/activate
#下载jumpserver 1.4.9
$ cd /opt/
$ git clone https://github.com/jumpserver/jumpserver.git
$ cd /opt/jumpserver
$ git checkout 1.4.9
$ cd /opt/jumpserver/requirements
$ yum -y install $(cat rpm_requirements.txt)
$ pip install wheel
$ pip install --upgrade pip setuptools
$ pip install -r requirements.txt
3.修改配置文件
$ cd /opt/jumpserver
$ vi config.yml
# 把数据库和 redis 信息修改并保存, 不要修改其他的选项, 只改 数据库 和 redis 的配置
4.启动 jumpserver
$ ./jms start
#
#或者 ./jms start all -d 具体要看具体jumpserver的版本
5.其他组件参考
- 安装coco组件1.4.9
$ docker run --name jms_coco -d -p 2222:2222 -p 5000:5000 -e CORE_HOST=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN jumpserver/jms_coco:1.4.9
- 安装guacamole组件1.4.9
$ docker run --name jms_guacamole -d -p 8081:8081 -e JUMPSERVER_SERVER=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN jumpserver/jms_guacamole:1.4.9
- 安装luna
# 安装 Web Terminal 前端: Luna 需要 Nginx 来运行访问 访问(https://github.com/jumpserver/luna/releases)下载对应版本的 release 包, 直接解压, 不需要编译
$ cd /opt
$ wget https://github.com/jumpserver/luna/releases/download/1.4.8/luna.tar.gz
# 如果网络有问题导致下载无法完成可以使用下面地址
$ wget https://demo.jumpserver.org/download/luna/1.4.9/luna.tar.gz
$ tar xf luna.tar.gz
$ chown -R root:root luna
- 最后nginx配置文件jumpserver.conf
server {
listen 8080; # 代理端口, 以后将通过此端口进行访问, 不再通过8080端口
# server_name demo.jumpserver.org; # 修改成你的域名或者注释掉
client_max_body_size 100m; # 录像及文件上传大小限制
location /luna/ {
try_files $uri / /index.html;
alias /opt/luna/; # luna 路径, 如果修改安装目录, 此处需要修改
}
location /media/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/data/; # 录像位置, 如果修改安装目录, 此处需要修改
}
location /static/ {
root /opt/jumpserver/data/; # 静态资源, 如果修改安装目录, 此处需要修改
}
location /socket.io/ {
proxy_pass http://localhost:5000/socket.io/; # 如果coco安装在别的服务器, 请填写它的ip
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
}
location /coco/ {
proxy_pass http://localhost:5000/coco/; # 如果coco安装在别的服务器, 请填写它的ip
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
}
location /guacamole/ {
proxy_pass http://localhost:8081/; # 如果guacamole安装在别的服务器, 请填写它的ip
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
}
location / {
proxy_pass http://localhost:8082; # 如果jumpserver安装在别的服务器, 请填写它的ip
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# allow 127.0.0.1;
# deny all;
}
}