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