jumserver 3.0安装及采坑记录

参考  https://blog.51cto.com/14226596/2420441

以及官方文档 https://www.jishuchi.com/read/Jumpserver-148/2102

补充笔者采坑处理

1.安装python3环境

1>更新epel-release

$yum install -y python36 python36-devel python36-pip

2>安装python后,还要修改以下两个文件内容:
  a)/usr/bin/yum

  将第一行 #!/usr/bin/yum修改为:#!/usr/bin/python2.7
  b) /usr/libexec/urlgrabber-ext-down
  将 第一行#!/usr/bin/python修改为了#!/usr/bin/python2.7
再使用yum进行后面的安装

2.安装redis

#1.检查是否有redis yum 源
  yum install redis
#2.下载fedora的epel仓库
  yum install epel-release
#3.安装redis数据库
  yum install redis
#4.安装完毕后,使用下面的命令启动redis服务
  service redis start
  service redis stop
#查看redis进程
  service redis status
  ps -ef | grep redis

3.安装mysql

建议使用已装好的mysql

# 生成随机数据库密码
    DB_PASSWORD=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 24`
    echo -e "\033[31m 你的数据库密码是 $DB_PASSWORD \033[0m"
# 创建jumpserver用户及赋予权限 (创建完成后建议测试一下账号是否能用)
    mysql -uuser -ppwd -e "create database jumpserver default charset ‘utf8‘; grant all on jumpserver.* to ‘jumpserver‘@‘127.0.0.1‘ identified by ‘$DB_PASSWORD‘; flush privileges;"

4.安装jumpserver

1> git clone --depth=1 https://github.com/jumpserver/jumpserver.git

或者手动去github下载zip包,解压到服务器即可

2>进入解压后的jumpserver路径,安装依赖和模块,因此处用到pip命令,默认是国外的源,安装起来就比较慢,配置pip加速

$ mkdir ~/.pip
$ cat > ~/.pip/pip.conf << EOF
> [global]
> trusted-host=mirrors.aliyun.com
> index-url=https://mirrors.aliyun.com/pypi/simple/
EOF
3>安装python3虚拟环境(避免和本地python环境冲突)   重点:后续操作均在
# 配置 py3 虚拟环境
$ python3.6 -m venv /soft/py3
$ source /soft/py3/bin/activate
效果图:

退出虚拟环境:

$deactivate
4>安装所需依赖包
$ yum -y install $(cat /soft/jumpserver-master/requirements/rpm_requirements.txt)
$ pip install -r 

敲黑板!!!

采坑:笔者在安装requirement.txt 中的依赖包时,每次跑到python-gssapi==0.6.4就会报错

解决办法:先将此注释掉,执行安装命令,完成后放开注释,再次执行安装,即可成功;后面安装coco依赖时,处理方式一样

原因猜测:这个包需要最后安装

5>修改jumpserver配置文件
$ cd /soft/junpserver-master
$ cp config_example.yml config.yml
$ SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`  # 生成随机SECRET_KEY
$ echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc
$ BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`  # 生成随机BOOTSTRAP_TOKEN
$ echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc
$ sed -i "s/SECRET_KEY:/SECRET_KEY: $SECRET_KEY/g"  config.yml
$ sed -i "s/BOOTSTRAP_TOKEN:/BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN/g" config.yml
$ sed -i "s/# DEBUG: true/DEBUG: false/g" config.yml
$ sed -i "s/# LOG_LEVEL: DEBUG/LOG_LEVEL: ERROR/g" config.yml
$ sed -i "s/# SESSION_EXPIRE_AT_BROWSER_CLOSE: false/SESSION_EXPIRE_AT_BROWSER_CLOSE: true/g" config.yml
$ sed -i "s/DB_PASSWORD: /DB_PASSWORD: $DB_PASSWORD/g" config.yml
$ echo -e "\033[31m 你的SECRET_KEY是 $SECRET_KEY \033[0m"
$ echo -e "\033[31m 你的BOOTSTRAP_TOKEN是 $BOOTSTRAP_TOKEN \033[0m"

操作完成后打开config.yml文件检查下是否有错

SECURITY WARNING: keep the secret key used in production secret!
加密秘钥 生产环境中请修改为随机字符串, 请勿外泄, PS: 纯数字不可以
SECRET_KEY:
SECURITY WARNING: keep the bootstrap token used in production secret!
预共享Token coco和guacamole用来注册服务账号, 不在使用原来的注册接受机制BOOTSTRAP_TOKEN:
Development env open this, when error occur display the full process track, Production disable it
DEBUG 模式 开启DEBUG后遇到错误时可以看到更多日志
DEBUG: true
DEBUG, INFO, WARNING, ERROR, CRITICAL can set. See https://docs.djangoproject.com/en/1.10/topics/logging/
日志级别
LOG_LEVEL: ERROR
LOG_DIR:
Session expiration setting, Default 24 hour, Also set expired on on browser close
浏览器Session过期时间, 默认24小时, 也可以设置浏览器关闭则过期# SESSION_COOKIE_AGE: 86400
SESSION_EXPIRE_AT_BROWSER_CLOSE: true
Database setting, Support sqlite3, mysql, postgres ....
数据库设置# See https://docs.djangoproject.com/en/1.10/ref/settings/#databases
SQLite setting:# 使用单文件sqlite数据库
DB_ENGINE: sqlite3# DB_NAME:
MySQL or postgres setting like:
使用Mysql作为数据库~~~~
DB_ENGINE: mysql
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_USER: jumpserver
DB_PASSWORD:    #此处为随机生成的密码
DB_NAME: jumpserver
When Django start it will bind this host and port
./manage.py runserver 127.0.0.1:8000
运行时绑定端口
HTTP_BIND_HOST: 127.0.0.1
HTTP_LISTEN_PORT: 8000
Use Redis as broker for celery and web socket# Redis配置
REDIS_HOST: 127.0.0.1
REDIS_PORT: 6379
REDIS_PASSWORD:# REDIS_DB_CELERY: 3
REDIS_DB_CACHE: 4
Use OpenID authorization
使用OpenID 来进行认证设置# BASE_SITE_URL: http://localhost:8080# AUTH_OPENID: false  # True or False# AUTH_OPENID_SERVER_URL: https://openid-auth-server.com/
AUTH_OPENID_REALM_NAME: realm-name
AUTH_OPENID_CLIENT_ID: client-id
AUTH_OPENID_CLIENT_SECRET: client-secret
OTP settings# OTP/MFA 配置
OTP_VALID_WINDOW: 0
OTP_ISSUER_NAME: Jumpserver

5.启动jumpserver      -d后台启动

$ ./jms start -d

采坑:执行过程中报django模块找不到

处理:修改jms文件的内容中运行manage.py的命令改为python3,不然运行报错没有django模

其他:启动过程中会去连接 redis 和 mysql ,启动前保证 redis 已启动,以及 mysql 配置的用户能够正常连接

6.安装luna

通过git 或手动下载zip包,只需要将luna用户属性修改为root即可

https://github.com/jumpserver/luna/releases

$ unzip /soft/luna.tar.gz$ chmod -R root:root /soft/luna

7.安装coco

1>老样子,git 或手动下载

git clone https://github.com/jumpserver/coco.git

$ cd /soft/jumpserver-master/coco/requirements
$ yum -y install $(cat rpm_requirements.txt)
$ pip install -r requirements.txt
$ cd ..
$ cp config_example.yml config.yml
coco密钥:
$ sed -i "s/BOOTSTRAP_TOKEN: <PleasgeChangeSameWithJumpserver>/BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN/g" config.yml
$ sed -i "s/# LOG_LEVEL: INFO/LOG_LEVEL: ERROR/g" config.yml
$ vim config.yml  (BOOTSTRAP_TOKEN与jumpserver的config.yml保持一致)

采坑:参照jumpserver 依赖安装的坑位

2>安装成功后,运行coco

./cocod start -d

8.安装配置nginx

$ yum install nginx -y ##安装
$ vi /etc/nginx/conf.d/jumpserver.conf ##编写jumpserver相关配置此配置只是将8080端口隐藏掉
server {
    listen 80;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    location /luna/ {
        try_files $uri / /index.html;
        alias /soft/luna/;
    }

    location /media/ {
        add_header Content-Encoding gzip;
        root /soft/jumpserver-master/data/;
    }

    location /static/ {
        root /soft/jumpserver-master/data/;
    }

    location /socket.io/ {
        proxy_pass http://localhost:5000/socket.io/;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location /guacamole/ {
        proxy_pass http://localhost:8081/;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
        access_log off;
    }

    location / {
        proxy_pass http://localhost:8080;
    }
}

注意要将 /etc/nginx/nginx.conf  文件中server 的配置全部注掉

$ systemctl start nginix ##启动$ systemctl enable nginx ##设置开机启动

9.访问服务器ip(不需要加8080端口)

见证奇迹的时刻到了!!!

原文地址:https://www.cnblogs.com/ychang/p/12014348.html

时间: 2024-08-02 09:10:17

jumserver 3.0安装及采坑记录的相关文章

oracle rac 扩展磁盘采坑记录

oracle rac 磁盘扩展采坑记录: 系统环境:VMware esxi oracle rac 11.2.0.4 昨天扩展了asm的磁盘组,FRA磁盘组和DATA磁盘组,我添加了一块硬盘320g,200g扩展到了DATA组,120g扩展到了FRA组.因为oracle使用的是raw裸设备,扩展第一个磁盘的时候,正常进行,不用关机. 坑1:但是扩展FRA组的时候,需要关机才能找得到第二个设备.重启之后扩展正常,建议扩展磁盘一次扩展到一个组. 坑二:今天我看见系统盘空间不够了,就扩展了一下系统盘空间

oracle11g数据库安装采坑记录

第一处坑: 解决方案: 原文:https://blog.csdn.net/yhj198927/article/details/49178279 1.打开oracle的"Net Manager" 2.打开"监听程序" 3.打开"数据库服务" 4.点击"添加数据库" 5.填写相关信息 "全局数据库名"和"SID"填写在"Database Configuration Assitant

Laravel Homestead 安装与采坑

1.安装链接 教程https://laravel-china.org/docs/laravel-development-environment/5.5/development-environment-windows/938 2.采坑https://laravel-china.org/articles/4082/a-wonderful-problem-encountered-in-the-use-of-vagrant 解决方法:这个解决方法可以,我改成了 GBK,在 Windows 10 下. 

Android Studio采坑记录

折腾了几个月的Android Studio,终于在今天被我搞定了 ( ̄▽ ̄)~* 开贴记录下,免得下次再次采坑 先说下我之前电脑的环境配置吧,sdk是几年前在网上下载别人整理出来的包,一直没有更新过 (当然这里有各种原因,一是这里面东西太多,搞的自己云里雾里的,二是因为国内网络问题) 这里先把采坑点先写出来 1.sdk的问题(最好把常用的sdk和工具都更新一遍吧) 2.studio的代理问题(如图,开启工具s-s或s-s-r,配好代理,选择socks点击checkconntion,然后再输入ht

xlearn 安装采坑记录---由内核版本过低导致的问题

最近做项目想用下 xlearn,在自己的mac本上,已经安装了gcc9.1.0和cmake3.14.1,直接 pip install xlearn 就安装成功了,但是在一台centos6.6,内核版本为 2.6.32-754.6.3.el6.x86_64(使用unname -r 查看)的服务器上总是报各种问题.我把报出的问题都逐一去网上搜索,还是有解决方案的,但是按照人家说的改之后还是不行,主要是因为内核版本过低,一些包库(如glib14)安装不上导致的,换了一台系统为centos7.2,内核版

CentOS安装时小坑记录

在安装CentOS的时候,由于第一次安装小白,将VM虚拟机的内存设置为512M,导致进行安装的时候无法进入正常的画面安装模式,只能使用简版安装界面,可能对于很多小白不是很熟悉,特此记录,安装CentOS如果出现的画面不是该画面,而是一个选择项式的提示画面就是问题,这个问题是由于VM虚拟机的内存给的太少,当时我给定的内存为512M,但是,经过网友介绍,这个内存在CentOS需要大于628M才能启动该画面,调整内存为800M,进入该画面成功 网友地址:http://www.osyunwei.com/

XXLJOB2.1.0数据源配置踩坑记录

最近在看XXLJOB,因为截至到发文时间最新的版本是2.1.0而且需要建立的数据库与Quartz解耦了,所以就用了最新的版本. 首先说一下踩坑过程: 代码开发完成之后,在定时跑的时候第一次跑的多数失败,报的错是:Communications link failure 上网搜了一下说是MySQL数据库连接时间超过八小时就会断开需要加一些配置,或者把数据库的时间延长.原先用的数据源是Druid,所以就把网上找到的代码加到数据源配置上,同时延长了MySQL的链接持续时间,问题依然没有解决. 一次偶然的

MySQL可重复读采坑记录-对事务B进行更新时,事务A提交的更新会不会影响到事务B

之前线上出现数据重复插入的问题,通过对问题进行排查发现该问题和MySQL的默认隔离级别-Repeatable Read(可重读)有关系,可重复读确保同一事务的多个实例在并发读取数据时,会看到同样的数据行.现在通过实验,对问题进行下分析. 1.在终端A开启事务A,查询一下. START TRANSACTION; select spt.id,spt.audit_status,spt.is_deleted from stat_point_task spt limit 5; 结果如下: 2.在终端B开启

surface安装linux采坑实录:grub 无法安装

最近准备面试,很想拓展下自己的技术栈,于是就找上了linux. 然后安装linux当然用的是自己的sp3啦,反正平时也就当上网本用用,终于可以发掘一下潜力了233 然而梦想是美好的,现实是残酷的.在经历了查询教程-找室友借u盘烧录-下载linux mint映像-找烧录工具-烧录完成-在sp3的类BIOS界面里关掉了STM(好像是platform啥的--有点记不清了)和 secure boot以后,开始开心的安装linux. 然后就感受到了世界的残酷. 用的是surface pro 3,但是gru