硬件硬件配置: 1个CPU核心, 3G 内存, 50G 硬盘(最低)
操作系统: Linux 发行版 x86_64 centos 7
Python = 3.6.x
Mariadb Server ≥ 5.5.56 数据库服务
Redis 数据库缓存服务

1台服务器(jumpserver)
1-n 台服务器(server)

一:环境部署
备注:主机名,yum仓库,网络都要保证正常

1.关闭防火墙和selinux

[root@jumpserver ~]# systemctl stop firewalld
[root@jumpserver ~]# systemctl disable firewalld
[root@jumpserver ~]# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
[root@jumpserver ~]# setenforce 0

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

[root@jumpserver ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
[root@jumpserver ~]# export LC_ALL=zh_CN.UTF-8
[root@jumpserver ~]# echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf

二:部署安装
1.安装python3.6,数据库mariadb和redis以及环境准备

[root@jumpserver ~]# yum -y install python36 python36-devel redis mariadb mariadb-server wget mariadb-devel python-devel openldap-devel

2.启动数据库和redis服务

[root@jumpserver ~]# systemctl start mariadb redis
[root@jumpserver ~]# systemctl enable mariadb redis

3.数据库部署

[root@jumpserver ~]# mysql -u root
创建一个数据库,并且制定这个数据库所使用的字符集为utf-8;
MariaDB [(none)]> create database jumpserver default charset 'utf8' collate 'utf8_bin';
Query OK, 1 row affected (0.00 sec)
授权
MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'weakPassword';
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> quit

4.创建Python虚拟环境
[因为 CentOS 7 自带的是 Python2,而 Yum 等工具依赖原来的 Python,为了不扰乱原来的环境我们来使用 Python 虚拟环境]

[root@jumpserver ~]# cd /opt/
[root@jumpserver opt]# python3.6 -m venv py3
[root@jumpserver opt]# source /opt/py3/bin/activate
    [此项仅为懒癌晚期的人员使用,防止运行 Jumpserver 时忘记载入 Python 虚拟环境导致程序无法运行。使用autoenv]因为每次操作Jumpserver都要载入py3环境
(py3) [root@jumpserver opt]# echo "source /opt/py3/bin/activate" >> ~/.bashrc
(py3) [root@jumpserver opt]# source ~/.bashrc

5.安装配置Jumpserver

(py3) [root@jumpserver opt]# cd /opt && wget https://github.com/jumpserver/jumpserver/releases/download/v2.0.2/jumpserver-v2.0.2.tar.gz
解压,改名
(py3) [root@jumpserver opt]# tar xf jumpserver-v2.0.2.tar.gz
(py3) [root@jumpserver opt]# mv jumpserver-v2.0.2 jumpserver

添加虚拟环境

(py3) [root@jumpserver requirements]# echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env
安装依赖包
(py3) [root@jumpserver opt]# cd /opt/jumpserver/requirements/
安装rpm包的依赖
(py3) [root@jumpserver requirements]# yum install -y $(cat rpm_requirements.txt)
修改pip仓库:加快安装速度
方法一:
(py3) [root@jumpserver requirements]# cat /opt/py3/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

方法二:

(py3) [root@jumpserver requirements]# pip install wheel -i https://mirrors.aliyun.com/pypi/simple/
(py3) [root@jumpserver requirements]# pip install --upgrade pip setuptools -i https://mirrors.aliyun.com/pypi/simple/
(py3) [root@jumpserver requirements]# pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
(py3) [root@jumpserver requirements]# pip install wheel && \
pip install --upgrade pip setuptools && \
pip install -r requirements.txt

修改配置文件:(配置文件在:http://www.xingdiancloud.com/jumpserver 服务器下载)

(py3) [root@jumpserver requirements]# cd /opt/jumpserver && cp config_example.yml config.yml &&vi config.yml
加载虚拟环境并后台启动
(py3) [root@jumpserver jumpserver]# source /opt/py3/bin/activate
(py3) [root@jumpserver jumpserver]# ./jms start -d

6.安装部署KoKo组件

(py3) [root@jumpserver jumpserver]# cd /opt && wget https://github.com/jumpserver/koko/releases/download/v2.0.2/koko-v2.0.2-linux-amd64.tar.gz
(py3) [root@jumpserver opt]# tar xf koko-v2.0.2-linux-amd64.tar.gz
(py3) [root@jumpserver opt]# mv koko-v2.0.2-linux-amd64 koko
(py3) [root@jumpserver opt]# chown -R root:root koko && cd koko

修改配置文件(http://www.xingdiancloud.com/jumpserver)

启动

(py3) [root@jumpserver koko]# ./koko  -d

7.部署guacamole
下载:

(py3) [root@jumpserver opt]# cd /opt && wget -O /opt/guacamole.tar.gz https://github.com/jumpserver/docker-guacamole/archive/2.0.2.tar.gz

部署:

(py3) [root@jumpserver opt]# tar -xf docker-guacamole-2.0.2.tar.gz && mv docker-guacamole-2.0.2 guacamole && cd /opt/guacamole && tar -xf guacamole-server-1.2.0.tar.gz && tar -xf ssh-forward.tar.gz -C /bin/ && chmod +x /bin/ssh-forward

安装:

(py3) [root@jumpserver guacamole]# cd /opt/guacamole/guacamole-server-1.2.0
注意:这个地方如果单独执行编译安装会报错需要事先准备好下面的编译环境在安装
[root@jumpserver guacamole-server-1.2.0]# yum -y install libjpeg-devel libpng-devel libvorbis-devel libwebp-devel openssl-devel pulseaudio-libs-devel libwebsockets-devel libvncserver-devel libtelnet-devel libssh2-devel pango-devel freerdp-devel  uuid uuid-devel
(py3) [root@jumpserver guacamole-server-1.2.0]# ./configure --with-init-dir=/etc/init.d && \
make && \
make install

注意:这个地方如果单独执行编译安装会报错需要事先准备好下面的编译环境在安装

[root@jumpserver guacamole-server-1.2.0]# yum -y install libjpeg-devel libpng-devel libvorbis-devel libwebp-devel openssl-devel pulseaudio-libs-devel libwebsockets-devel libvncserver-devel libtelnet-devel libssh2-devel pango-devel freerdp-devel  uuid uuid-devel
jdk+tomcat

安装java环境

(py3) [root@jumpserver guacamole-server-1.2.0]# yum install -y java-1.8.0-openjdk

创建对应目录

(py3) [root@jumpserver config]# mkdir -p /config/guacamole /config/guacamole/extensions /config/guacamole/record /config/guacamole/drive && chown daemon:daemon /config/guacamole/record /config/guacamole/drive && cd /config

部署tomcat

(py3) [root@jumpserver config]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.36/bin/apache-tomcat-9.0.36.tar.gz(py3) [root@jumpserver config]# tar -xf apache-tomcat-9.0.36.tar.gz && \
mv apache-tomcat-9.0.36 tomcat9 && \
rm -rf /config/tomcat9/webapps/* && \
sed -i 's/Connector port="8080"/Connector port="8081"/g' /config/tomcat9/conf/server.xml && \
echo "java.util.logging.ConsoleHandler.encoding = UTF-8" >> /config/tomcat9/conf/logging.properties && \
ln -sf /opt/guacamole/guacamole-1.0.0.war /config/tomcat9/webapps/ROOT.war && \
ln -sf /opt/guacamole/guacamole-auth-jumpserver-1.0.0.jar /config/guacamole/extensions/guacamole-auth-jumpserver-1.0.0.jar && \
ln -sf /opt/guacamole/root/app/guacamole/guacamole.properties /config/guacamole/guacamole.properties

设置guacamole环境

export JUMPSERVER_SERVER=http://127.0.0.1:8080
echo "export JUMPSERVER_SERVER=http://127.0.0.1:8080" >> ~/.bashrc
export BOOTSTRAP_TOKEN=zxffNymGjP79j6BN
echo "export BOOTSTRAP_TOKEN=zxffNymGjP79j6BN" >> ~/.bashrc
export JUMPSERVER_KEY_DIR=/config/guacamole/keys
echo "export JUMPSERVER_KEY_DIR=/config/guacamole/keys" >> ~/.bashrc
export GUACAMOLE_HOME=/config/guacamole
echo "export GUACAMOLE_HOME=/config/guacamole" >> ~/.bashrc
export GUACAMOLE_LOG_LEVEL=ERROR
echo "export GUACAMOLE_LOG_LEVEL=ERROR" >> ~/.bashrc
export JUMPSERVER_ENABLE_DRIVE=true
echo "export JUMPSERVER_ENABLE_DRIVE=true" >> ~/.bashrc

说明:
JUMPSERVER_SERVER 指 core 访问地址
BOOTSTRAP_TOKEN 为 Jumpserver/config.yml 里面的 BOOTSTRAP_TOKEN 值
JUMPSERVER_KEY_DIR 认证成功后 key 存放目录
GUACAMOLE_HOME 为 guacamole.properties 配置文件所在目录
GUACAMOLE_LOG_LEVEL 为生成日志的等级
JUMPSERVER_ENABLE_DRIVE 为 rdp 协议挂载共享盘

启动guacamole

(py3) [root@jumpserver config]# /etc/init.d/guacd start
Starting guacd: guacd[72995]: INFO:     Guacamole proxy daemon (guacd) version 1.2.0 started
SUCCESS
(py3) [root@jumpserver config]# sh /config/tomcat9/bin/startup.sh
Using CATALINA_BASE:   /config/tomcat9
Using CATALINA_HOME:   /config/tomcat9
Using CATALINA_TMPDIR: /config/tomcat9/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /config/tomcat9/bin/bootstrap.jar:/config/tomcat9/bin/tomcat-juli.jar
Tomcat started.

8.部署lina

(py3) [root@jumpserver config]# cd /opt && wget https://github.com/jumpserver/lina/releases/download/v2.0.2/lina-v2.0.2.tar.gz(py3) [root@jumpserver opt]# tar -xf lina-v2.0.2.tar.gz
(py3) [root@jumpserver opt]# mv lina-v2.0.2 lina

9.部署luna

(py3) [root@jumpserver config]# cd /opt && wget https://github.com/jumpserver/luna/releases/download/v2.0.2/luna-v2.0.2.tar.gz(py3) [root@jumpserver opt]# tar -xf luna-v2.0.2.tar.gz
(py3) [root@jumpserver opt]# mv luna-v2.0.2 luna

10.安装nginx
nginx的yum仓库文件:

(py3) [root@jumpserver opt]# cat /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true(py3) [root@jumpserver opt]# yum -y install nginx

修改配置文件:(http://www.xingdiancloud.com)

(py3) [root@jumpserver opt]# echo > /etc/nginx/conf.d/default.conf
(py3) [root@jumpserver opt]# vi /etc/nginx/conf.d/jumpserver.conf

启动nginx:

(py3) [root@jumpserver opt]# systemctl start nginx

11.开始使用jumpserver
服务全部启动后, 访问 JumpServer 服务器 nginx 代理的 80 端口, 不要通过8080端口访问 默认账号: admin 密码: admin

扩展:
安装可以使ansible使用密码连接
yum -y install sshpass

管理账户: root 他要获取服务器的硬件信息,还要将系统用户推送给服务器
系统账户: 自己创建,就是用来登录资产的

企业级Jumpserver的部署与使用-行癫亲测相关推荐

  1. 阿里云 部署SpringBoot和Vue项目 亲测可用(第一次部署经验贴)

    阿里云 部署SpringBoot和Vue项目 亲测可用!第一次部署经验贴! 前言:与伙伴一起写了一个项目,但是由于老师要我们部署到服务器上,而我从未有部署过,查看了csdn很多博客,试了好多篇,才成功 ...

  2. 本地部署Stable Diffusion教程,亲测可以安装成功

    系列文章目录 Stable Diffusion界面参数及模型使用 谷歌Colab云端部署Stable Diffusion 进行绘图 文章目录 系列文章目录 前言 一.Stable Diffusion是 ...

  3. 华为云-容器化网站部署搭建调整版(亲测可用)

    1.1.1 实验介绍 1.1.1.1 关于本实验 Cloud2.0时代,企业更加关注应用上云,期待应用的高效迁移部署和快速迭代开发.在容器运用日趋普及的当下,利用容器来提升资源利用率.优化算力.简化运 ...

  4. SpringBoot项目通过HotswapAgent实现热部署(JDK1.8)---亲测有效

    背景 SpringBoot内嵌tomcat使得我们开发时候启动项目更加便捷,不在是explose方式部署在外部tomcat容器中,导致修改代码不能够重新加载到内存中而需要重启项目,每改一次需要重启一次 ...

  5. NTP服务器时间同步部署 -- 内网环境下,亲测有效.

    1.服务端操作(主服务器) 选定主节点为NTP服务器,其他服务器时间均以此为准. 比如当前我选择 192.168.6.3作为NTP服务器  1.1下载ntp服务端: [命令]yum -y instal ...

  6. jumpserver 节点部署_Docker部署搭建企业级Jumpserver堡垒机(应用篇)

    前言 我们在搭建篇已经详细介绍了JumpServer的搭建过程,搭建完之后可以要使用JumpServer,所以说JumpServer的应用是非常重要的,接下来写了一篇应用篇,来介绍如何使用JumpSe ...

  7. 对话行癫:解密阿里云顶层设计和底层逻辑

    阿里妹导读:几十个问题,万字长文,阿里云新任总裁行癫履新后首次深入讨论阿里云对云计算未来的判断,深度解读未来阿里云生态战略,揭秘阿里技术委员会和阿里中台思想的原生思考. 以下是行癫接受媒体采访的原文. ...

  8. 对话行癫:解密阿里云顶层设计和底层逻辑 1

    几十个问题,万字长文,阿里云新任总裁行癫履新后首次出面与钛媒体独家深入讨论了一下阿里云对云计算未来的判断,深度解读未来阿里云生态战略,揭秘阿里技术委员会和阿里中台思想的原生思考.转载自钛媒体,作者:刘 ...

  9. 独家对话行癫:最详解密阿里云顶层设计和底层逻辑

     关注ITValue,查看企业级市场最新鲜.最具价值的报道! 阿里云智能总裁张建锋 ITValue注张建锋(花名行癫)的阿里生涯,一直在踩着技术与业务的交界线前进,某种意义上可以看作阿里战略重点转移的 ...

最新文章

  1. 01-.Net编程机制
  2. Markdown语法整理
  3. 人才市场最吃香四个专业,就业前景好,很容易拿到高薪!
  4. 关于shader.createGPUProgram耗时较高的问题
  5. Java基础day22
  6. eclipse android开发环境搭建_聊聊Spring boot2.X开发环境搭建和基本开发
  7. CF438E-The Child and Binary Tree【生成函数】
  8. java事件处理过程分布写_Java 9中的进程处理
  9. 使用between and查找时间范围时的日期边界问题
  10. Linux服务器上安装node.js
  11. java利用iText.jar实现jpg转pdf
  12. Linux镜像下载及虚拟机中安装
  13. 微信小程序开发者文档教程,从入门到精通 (附超过100个完整项目源代码、文档)
  14. 关于已上发布app,升级admob后,激励视频返回code=3 message=“No ad config“
  15. NLP关键词提取方法总结及实现
  16. 高效工程师系列(一) 如何找到一个利于自己成长的环境
  17. php get 号,php-GET请求不带问号
  18. 中兴算法挑战赛-比特派:跳高
  19. 把表中名为'诺基亚xxxx'的商品,改为'HTCxxxx',
  20. 2022.11.5 英语背诵

热门文章

  1. Chrome浏览器出现无法访问此网站/无法显示此网页的错误,怎么解决?
  2. 【华为OD机试真题 C语言】机器人走迷宫
  3. od机考题目-机器人走迷宫
  4. c语言中指数函数fabs,高一指数函数公式,高一指数函数
  5. 人生短暂,持之以恒地做一件事情就会成功
  6. 17.scrapy框架简例使用
  7. 飞塔(FortiGate)配置IPSec
  8. 华为网页手机云服务器,华为Cloud 云服务
  9. Java对List集合中的对象的某个中文字段按照拼音首字母进行排序
  10. Redis的持久化操作---RDBAOF