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

centos7.5上一步步部署jumpserver的更多相关文章

  1. CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3

    CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3,亲测~~ 因为可以创建不同的环境版本或虚拟环境 CentOS7服务器安装anaconda3后,CentOS7服务器开启后自动将a ...

  2. CentOS7 开源跳板机(堡垒机) Jumpserver

    开源跳板机(堡垒机)Jumpserver 环境 CentOS 7   x64       关闭 selinux  firewalld jumpserver: 172.24.0.14 testserve ...

  3. Centos7.4下用Docker-Compose部署WordPress(续)-服务器端用Nginx作为反向代理并添加SSL证书(阿里云免费DV证书)

    前言 在我写完Centos7.4下用Docker-Compose部署WordPress这篇文章后,我的个人博客已经正式的开始运作.但考虑到网站访问的安全性以及今后可能会重复利用服务器来部署其他网站的可 ...

  4. CentOS7.2非HA分布式部署Openstack Pike版 (实验)

    部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...

  5. [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建

    这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...

  6. 【转载】在Centos系统上采用二进制文件部署Node.js环境

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又 ...

  7. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  8. [原]CentOS7安装Rancher2.1并部署kubernetes (一)---部署Rancher

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  9. CentOS7安装tyk(内部部署)

    CentOS7安装tyk(内部部署) 参考 官方文档 github 环境准备 #确保端口3000处于打开状态:Dashboard使用该端口来提供GUI和Developer Portal #Tyk需要P ...

随机推荐

  1. Linux三剑客之awk命令

    awk简介 awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上 AWK 的确拥有自己的语言: AWK 程 ...

  2. WC2019 游记

    Day 0 早上奇迹般的六点半起床平常这时候我还没睡呢 早餐在武汉站吃了一碗28的番茄牛肉米线,结果上菜后我把所有非米线的固体(包括番茄和牛肉)全挑出去了 高二大佬:一个愿宰一个愿挨 在高铁上待了四个 ...

  3. C# 如何进行图像的压缩

    从网上找的非常有效.图片3M到500k private static ImageCodecInfo GetEncoderInfo(String mimeType) { int j; ImageCode ...

  4. Excel自动建组

    已用于测试用例自动创建组 使用要求:A列的格式如:X.X.X.X.X11.11.1.11.1.1.11.1.1.1.11.1.1.21.1.21.22 会自动将1.1.1.1.1-1.1.1.1.X组 ...

  5. python用类装饰函数的一个有趣实现

    class RunningLog: def __init__(self,func): self._func=func self._func_name = func.__name__ def __cal ...

  6. MySQL--详细查询操作(单表记录查询、多表记录查询(连表查询)、子查询)

    一.单表查询 1.完整的语法顺序(可以不写完整,其次顺序要对) (不分组,且当前表使用聚合函数: 当前表为一组,显示统计结果 ) select distinct [*,查询字段1,查询字段2,表达式, ...

  7. 使用js下载文件

    使用Echarts地图时,需要一些地图数据,到Echarts下载地图数据文件时,发现其下载是直接通过js下载,从其网站上扒下来的记录于此 FileSave.min.js网络地址:http://ecom ...

  8. most asked interview questions for C/C++

    1.   compared to prefix  ++, postfix increment needs one more step to create a temporary variable? w ...

  9. PHP字符串比较,看起来值完全一样,但是就是不相等的解决方案(‌)

    1 前言 字符串比较,看起来完全一样,然后用strcmp比较,永远不相等,用var_dump查看才知道,其中一个字符多了‌看不见的特殊符号,而我长度是3. 2 样例 当你选中它,显示出来的就是人眼所见 ...

  10. Go代码重构:23倍的性能爆增

    几周前,我读了一篇名为“ Good Code vs Go Code中的错误代码 ”的文章,作者指导我们逐步完成实际业务用例的重构. 本文的重点是将“坏代码”转变为“良好代码”:更具惯用性,更易读,利用 ...