各历史版本jumpserver下载:
https://github.com/jumpserver/jumpserver/tags
官网安装手册地址:
https://docs.jumpserver.org/zh/docs/setup_by_prod.html#id4
安装:
一、部署jumpserver
部署mysql,python3,pip,nginx,redis(umpserver 使用 Redis 做 cache 和 celery broke)不做赘述
这里安装路径均为/usr/local/目录下
创建python虚拟环境
#cd /usr/local
#python3.6 -m venv py3
#source /usr/local/py3/bin/activate
以后对jumpserver的相关操作都要在python虚拟环境下进行
下载jumpserver最新安装包:
https://github.com/jumpserver/jumpserver/archive/master.zip #tar xf master.zip 得到 jumpserver-master
#mv jumpserver-master /usr/local/jumpserver
安装rpm依赖包
#cd /usr/local/jumpserver/requirements
#yum -y install $(cat rpm_requirements.txt)
安装python依赖库
pip install --upgrade pip setuptools
pip install -r requirements.txt
创建jumpserver数据库
mysql> create database jumpserver default charset 'utf8';
mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123456'
mysql> flush privileges;
mysql> quit
修改jumpserver配置文件
cd /usr/local/jumpserver
cp config_example.yml config.yml
配置文件有对配置的解释说明,需要修改的配置项:
**# 加密秘钥 生产环境中请修改为随机字符串,请勿外泄, 可使用命令生成**
**# $ cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo**
SECRET_KEY: 'xxxxxxxxxxx' #自己填写随机字符串
# 预共享Token coco和guacamole用来注册服务账号,不在使用原来的注册接受机制
BOOTSTRAP_TOKEN: 'xxxxxxxxxx' #自己填写随机字符串
日志相关根据个人需要修改
# DEBUG 模式 开启DEBUG后遇到错误时可以看到更多日志
DEBUG: false
# 日志级别
LOG_LEVEL: WARNING
# LOG_DIR: #默认为jumpserver目录下的logs
# 浏览器Session过期时间,默认24小时, 也可以设置浏览器关闭则过期
SESSION_COOKIE_AGE: 43200 #可在安装成功后在web界面设置终端连接过期时间
SESSION_EXPIRE_AT_BROWSER_CLOSE: true
# 使用Mysql作为数据库,要加引号,不然有可能连接时识别服务器地址失败
DB_ENGINE: mysql
DB_HOST: '127.0.0.1'
DB_PORT: 3306
DB_USER: 'jumpserver'
DB_PASSWORD: 'Jumper1689Ln'
DB_NAME: 'jumpserver'
生成数据库表结构和初始化数据
cd /usr/local/jumpserver/utils
sh make_migrations.sh
cd /usr/local/jumpserver
./jms start -d # -d作用是后台运行
检查端口8080是否启动,打开防火墙
二、部署koko(用于linux系统终端连接)
下载koko软件包
wget https://github.com/jumpserver/koko/archive/master.zip
unzip
mv kokodir /usr/local/koko
修改配置文件
cp config_example.yml config.yml
需修改内容
# 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复
NAME: 'koko'
# 请和jumpserver 配置文件中保持一致,注册完成后可以删除
BOOTSTRAP_TOKEN: 'xxxxxxxxxx'
# 设置日志级别 [DEBUG, INFO, WARN, ERROR, FATAL, CRITICAL]
LOG_LEVEL: WARN
启动koko
./koko start -d
三、部署luna
下载luna包
https://github.com/jumpserver/luna/archive/master.zip unzip master.zip
mv luna /usr/local
四、nginx访问配置
server {
listen 80;
client_max_body_size 100m; # 录像及文件上传大小限制
location /luna/ {
try_files $uri / /index.html;
alias /usr/local/luna/; # luna 路径, 如果修改安装目录, 此处需要修改
}
location /media/ {
add_header Content-Encoding gzip;
root /usr/local/jumpserver/data/; # 录像位置, 如果修改安装目录, 此处需要修改
}
location /static/ {
root /usr/local/jumpserver/data/; # 静态资源, 如果修改安装目录, 此处需要修改
}
location /koko/ {
proxy_pass http://localhost:5000;
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 /guacamole/ {
proxy_pass http://localhost:8081/;
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 /ws/ {
proxy_pass http://localhost:8070;
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 / {
proxy_pass http://localhost:8080;
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 /data/logs/jumpserver.log;
}
guacamole为windows终端连接插件,不需要刻意不进行配置,这里不进行安装。
五、访问http地址登录jumpserver
http://hostip 初始账号admin,密码admin
查看koko注册是否成功,koko在线,注册成功(截图显示的是我升级版的软件,另一个不在线的jumpserver是我的老版本coco,可以忽略)
安装完毕。