centos7.5上一步步部署jumpserver

1.基础环境:centos7.5;关闭防火墙和selinux

2.修改字符集,否则可能会报input/output error 的问题,因为日志里打印了中文

[root@xzw ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 

[root@xzw ~]# export LC_ALL=zh_CN.UTF-8 

[root@xzw ~]# echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf 

[root@xzw ~]# exit 

再重新连接, 这样语言环境就改变了

3. 准备 Python3 和 Python 虚拟环境 

    3.1安装依赖包:[root@xzw ~]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git 

    3.2编译安装Python3.6.1

    [root@xzw ~]# cd /opt 

    [root@xzw~]# tar xvf Python-3.6.1.tar.xz  && cd Python-3.6.1 

    [root@xzw ~]# ./configure  &&  make && make install 

注:在线下载 wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz 

4.建立Python虚拟环境,避免python2.7与python3.6冲突

[root@xzw ~]# cd /opt 

[root@xzw ~]# python3 -m venv py3 

[root@xzw ~]# source /opt/py3/bin/activate 

(py3) [root@xzw ~]#                #切换成功后,前面有一个 py3 标识 ;看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命 令均在该虚拟环境中运行 

5.安装jumpserver 1.0.0

    5.1下载clone项目  git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master 

    (py3) [root@xzw ~]#  cd /opt/jumpserver/ 

    5.2安装依赖RPM包

    [root@xzw ~]# cd /opt/jumpserver/requirements 

    [root@xzw ~]# yum -y install $(cat rpm_requirements.txt) 

    5.3安装Python库依赖

    [root@xzw ~]# cd /opt/jumpserver/requirements 

    [root@xzw ~]# source /opt/py3/bin/activate 

    (py3) [root@xuegod63 ~]# pip -V 

    pip 9.0.1 from /opt/py3/lib/python3.6/site-packages (python 3.6) 

    (py3) [root@xuegod63 ~]#  pip install -r requirements.txt     pip 是一个安装和管理 Python 包的工具,相当于 yum 命令 

6.安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke 

[root@xzw ~]# yum  -y install redis 

[root@xzw ~]# systemctl enable redis  ;  systemctl start redis 

7.安装MySQL(也可以使用其他数据库,此处以MySQL为例)

[root@xzw ~]# yum  install mariadb mariadb-devel mariadb-server   -y 

[root@xzw ~]# systemctl enable mariadb  ;  systemctl start mariadb 

8.创建数据库jumpserver并授权

[root@xzw ~]# mysql 

MariaDB [(none)]> create database jumpserver default charset 'utf8'; 

MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123456'; 

MariaDB [(none)]> exit; 

9.改jumpserver配置文件

[root@xzw ~]# cd /opt/jumpserver 

[root@xzw ~]# cp config_example.py config.py 

[root@xzw ~]# vim config.py 

class DevelopmentConfig(Config):

    DEBUG = True 

    DB_ENGINE = 'mysql' 

    DB_HOST = '127.0.0.1' 

    DB_PORT = 3306 

    DB_USER = 'jumpserver' 

    DB_PASSWORD = '123456' 

    DB_NAME = 'jumpserver' 

注:配置文件是Python格式,不要用TAB,要用空格,并且一定要注意前面的空格对齐

10.创建数据库表结构和刜始化数据 

(py3) [root@xzw jumpserver]# cd /opt/jumpserver/utils 

(py3) [root@xzw jumpserver]# bash make_migrations.sh 

(py3) [root@xzw jumpserver]# cd /opt/jumpserver 

(py3) [root@xzw jumpserver]# chmod +x jms 

(py3) [root@xzw jumpserver]# ./jms start all -d    #后台运行使用 -d 参数,如果运行失败,重新启动一下

#启劢服务的脚本,使用方式./jms start|stop|status|restart all 

11.Jumpserver堡垒机测试连接:http://(此处填写jumpserver服务器IP即可):8080/   用户名:admin 密码:admin   (第一次登陆默认用户总数是1个,主机总数是0个)

 这里需要使用 8080端口来访问页面。后期搭建 nginx 代理,就可以直接使用80 端口正常访问了 

12.安装Coco组件和luna

coco概述:coco实现了 SSH Server 和 Web Terminal Server 的组件,提供 SSH 和 WebSocket 接口, 使用 Paramiko 和 Flask 开发。 

(py3) [root@xzw jumpserver]#git clone https://github.com/jumpserver/coco.git && cd coco && git checkout master

(py3) [root@xzw jumpserver]# cd /opt/coco 

(py3) [root@xzw jumpserver]# source /opt/py3/bin/activate 

13.安装coco的依赖包

(py3) [root@xzw jumpserver]# cd /opt/coco/requirements 

(py3) [root@xzw jumpserver]# yum -y  install $(cat rpm_requirements.txt)

(py3) [root@xzw jumpserver]# pip install -r requirements.txt 

14.查看配置文件并运行

(py3) [root@xzw jumpserver]# cd /opt/coco 

(py3) [root@xzw jumpserver]# cp conf_example.py conf.py 

(py3) [root@xzw coco]# chmod +x cocod 

(py3) [root@xzw jumpserver]# ./cocod start -d       # 新版本更新了运行脚本,使用方式./cocod start|stop|status|restart  后台运行请添加 -d 参数 

15.接受coco注册,到会话管理-终端管理 接受 Coco的注册。点接受。 

16.安装Web-Terminal前端-Luna组件-配置Nginx整合 各组件 

    16.1  安装 luna组件 

    (py3) [root@xzw jumpserver]# wget https://github.com/jumpserver/luna/releases/download/v1.0.0/luna.tar.gz 

    (py3) [root@xzw jumpserver]# cd /opt 

    (py3) [root@xzw jumpserver]# tar xvf luna.tar.gz 

    (py3) [root@xzw jumpserver]# ls /opt/luna 

    16.2  配置 Nginx 整合各组件 

安装 Nginx 根据喜好选择安装方式和版

(py3) [root@xzw jumpserver]# yum -y install nginx 

(py3) [root@xzw opt]#  vim /etc/nginx/nginx.conf       #删除第 38行到 57 行中 server {。。。}相关的内容,在 vim命令模式,输入 38gg,快速跳到 38行, 然后输入 20dd,就可以初除。 删除后,在 38行插入以一下内容: 

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 /opt/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/;

                   proxy_buffering off; 

                     proxy_http_version 1.1; 

                   proxy_set_header Upgrade $http_upgrade; 

                   proxy_set_header Connection "upgrade"; 

           }

           location / { 

                     proxy_pass http://localhost:8080; 

           }

}

17.运行nginx

(py3) [root@xzw opt]# nginx -t   # 检测配置文件 

(py3) [root@xzw jumpserver]# systemctl start nginx  ;  systemctl enable nginx 

再次用浏览器登陆测试,默认端口为80

到此安装成功!

18. Jumpserver平台系统初始化

系统的基本设置:这里要写成自己真实的jumpserver服务器ip地址,不然后期用户访问不了。

 配置邮件发送服务器

注:自己邮箱要开启 smtp和pop3服务。 配置完后,需要重启一下服务。不然后期创建用户,收不到邮件。

(py3) [root@xzw jumpserver]# /opt/jumpserver/jms stop all -d 

(py3) [root@xzw jumpserver]# /opt/jumpserver/jms start all -d 

收到邮件后,点提交

完成以上步骤后,jumpserver的web平台已经搭建完成,至于如何使用其来统一管理n台服务器,官网有特别详细的说明,这里给出官网链接:

http://docs.jumpserver.org/zh/docs/admin_create_asset.html

原文地址:https://www.cnblogs.com/new-journey/p/10044828.html