一、准备一台Linux主机

1、开SSH

systemctl enable sshd

2、关闭SELINUX

vi /etc/sysconfig/selinux

修改下边红字部分

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

3、安装rz

yum -y install lrzsz

之后上传文件一定要用-be参数(其中-b是--binary用二进制的方式上传,-e是--escape强制escape所有控制字符),否则上传的文件不完整

rz –be

4、安装wget

yum -y install wget

5、更换yum源,用于提速yum

(1)备份yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

(2)下载新的CentOS-Base.repo 到/etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  

清理缓存

yum clean all

重新生成缓存

yum makecache

6、用firewalld开80、8181、8080、3306、443、2222端口(80用于Nginx连接,8080用于Jumpserver连接,8081用于guacamole连接,5000用于Coco连接,3306用于MySQL连接、2222用于ssh连接)

firewall-cmd --permanent --add-port=80/tcp

firewall-cmd --permanent --add-port=8080/tcp

firewall-cmd --permanent --add-port=8081/tcp

firewall-cmd --permanent --add-port=5000/tcp

firewall-cmd --permanent --add-port=3306/tcp

firewall-cmd --permanent --add-port=443/tcp

firewall-cmd --permanent --add-port=2222/tcp

firewall-cmd –reload

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

localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8

export LC_ALL=zh_CN.UTF-8

echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf

二、MySQL

1、安装:

(1)、配置YUM源

在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/

Jumpserver堡垒机安装配置全过程(一)-安装_第1张图片

(2)下载mysql源安装包

cd /home

mkdir software

cd software

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

(3)安装mysql源

yum localinstall mysql57-community-release-el7-11.noarch.rpm

(4)检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

(5)安装MySQL

yum install mysql-community-server

如果之前安装CentOS时选择了安装MySQL,则先用yum remove mariadb*卸载掉才能继续安装

Jumpserver堡垒机安装配置全过程(一)-安装_第2张图片

2、启动:

systemctl start mysqld

查看是否启动:

systemctl status mysqld出现Active: active (running)和PID代表启动成功

Jumpserver堡垒机安装配置全过程(一)-安装_第3张图片

得到默认密码:

grep 'temporary password' /var/log/mysqld.log

用root登录进去:

mysql -uroot -p

注意:如果默认密码带有任何标点符号,需要在每个标点符号前加转义字符:\,否则会提示如下错误

修改默认密码:

mysql> set password for 'root'@'localhost' = password('********');

设置任何IP都可以远程访问MySQL,没有这行的话之后配置数据库会出错

mysql> grant all privileges on *.* to 'root'@'%' identified by '********';

退出MySQL

mysql> quit

3、设置开机启动:yum安装的MySQL默认就是服务,可以用systemctl list-unit-files查看,但开机没启动(disabled状态),所以要用systemctl enable mysqld激活开机启动,然后systemctl daemon-reload

MySQL默认配置文件路径:  配置文件:/etc/my.cnf  日志文件:/var/log//var/log/mysqld.log  服务启动脚本:/usr/lib/systemd/system/mysqld.service  socket文件:/var/run/mysqld/mysqld.pid

 

三、准备 Python3 和 Python 虚拟环境

1、安装依赖包

yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git

2、编译安装

cd /home/software

wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz

tar xvf Python-3.6.1.tar.xz && cd Python-3.6.1

./configure && make && make install

# 这里必须执行编译安装,否则在安装 Python 库依赖时会有麻烦...

3、建立 Python 虚拟环境

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

cd /opt

python3 -m venv py3

source /opt/py3/bin/activate

# 看到下面的提示符代表成功

以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行

 

四、安装 Jumpserver 1.3.3

1、下载或 Clone 项目

项目提交较多时 git clone较大,你可以选择去 Github 项目页面直接下载zip包。

git clone https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master

echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env  # 进入 jumpserver 目录时将自动载入 python 虚拟环境

# 首次进入 jumpserver 文件夹会有提示,按 y 即可

# Are you sure you want to allow this? (y/N) y

2、安装依赖 RPM 包

cd /opt/jumpserver/requirements

yum -y install $(cat rpm_requirements.txt)  # 如果没有任何报错请继续

3、安装 Python 库依赖

(1)加速pip

cd ~

mkdir .pip

ls ~/.pip

vi ~/.pip/pip.conf

 

[global]

index-url = http://mirrors.aliyun.com/pypi/simple/

 

[install]

trusted-host=mirrors.aliyun.com

(2)安装

cd /opt/jumpserver/requirements

pip install -r requirements.txt  # 不要指定-i参数,因为镜像上可能没有最新的包,如果没有任何报错请继续

上边这条命令执行时间会非常长,大概15-20分钟

Jumpserver堡垒机安装配置全过程(一)-安装_第4张图片

如果有下载不过去的,等了很久的:修改requirements.txt,把那个包的行注释掉,然后手动在本机下载,再rz –be上传上去用pip install 包=版本 安装

Jumpserver堡垒机安装配置全过程(一)-安装_第5张图片

 

4、安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke

yum -y install redis

systemctl start redis

systemctl enable redis

5、创建Jumpserver数据库并授权

mysql -uroot -p

mysql> create database jumpserver default charset 'utf8';

mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '********';

mysql> flush privileges;

mysql> quit

6、修改 Jumpserver 配置文件

cd /opt/jumpserver

cp config_example.py config.py

vi config.py

# 我们计划修改 DevelopmentConfig 中的配置,因为默认 Jumpserver 使用该配置,它继承自 Config

注意: 配置文件是 Python 格式,不要用 TAB,而要用空格

 

"""

   jumpserver.config

   ~~~~~~~~~~~~~~~~~

 

   Jumpserver project setting file

 

   :copyright: (c) 2014-2017 by Jumpserver Team

   :license: GPL v2, see LICENSE for more details.

"""

import os

 

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

 

 

class Config:

   # Use it to encrypt or decrypt data

 

   # Jumpserver 使用 SECRET_KEY 进行加密,请务必修改以下设置

   # SECRET_KEY = os.environ.get('SECRET_KEY') or '2vky!997d64mnz06ngffdhgfdhrdrwe54356765fgdgd353s_qj$1%x'

   SECRET_KEY = '请随意输入随机字符串(推荐字符大于等于 50位)'

 

   # Django security setting, if your disable debug model, you should setting that

   ALLOWED_HOSTS = ['*']

 

   # DEBUG 模式 True为开启 False为关闭,默认开启,生产环境推荐关闭

   # 注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问

   DEBUG = os.environ.get("DEBUG") or True

 

   # 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO

   LOG_LEVEL = os.environ.get("LOG_LEVEL") or 'DEBUG'

   LOG_DIR = os.path.join(BASE_DIR, 'logs')

 

   # 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3

   # See https://docs.djangoproject.com/en/1.10/ref/settings/#databases

 

   # 默认使用SQLite3,如果使用其他数据库请注释下面两行

   # DB_ENGINE = 'sqlite3'

   # DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3')

 

   # 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示(mariadb也是mysql)

   DB_ENGINE = os.environ.get("DB_ENGINE") or 'mysql'

   DB_HOST = os.environ.get("DB_HOST") or '127.0.0.1'

   DB_PORT = os.environ.get("DB_PORT") or 3306

   DB_USER = os.environ.get("DB_USER") or 'jumpserver'

   DB_PASSWORD = os.environ.get("DB_PASSWORD") or ' ********'

   DB_NAME = os.environ.get("DB_NAME") or 'jumpserver'

 

   # Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问

   # ./manage.py runserver 127.0.0.1:8080

   HTTP_BIND_HOST = '127.0.0.1'

   HTTP_LISTEN_PORT = 8080

 

   # Redis 相关设置

   REDIS_HOST = os.environ.get("REDIS_HOST") or '127.0.0.1'

   REDIS_PORT = os.environ.get("REDIS_PORT") or 6379

   REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD") or ''

   REDIS_DB_CELERY = os.environ.get('REDIS_DB') or 3

   REDIS_DB_CACHE = os.environ.get('REDIS_DB') or 4

 

   def __init__(self):

       pass

 

   def __getattr__(self, item):

       return None

 

 

class DevelopmentConfig(Config):

   pass

 

 

class TestConfig(Config):

   pass

 

 

class ProductionConfig(Config):

   pass

 

 

# Default using Config settings, you can write if/else for different env

config = DevelopmentConfig()

 

7、生成数据库表结构和初始化数据

cd /opt/jumpserver/utils

bash make_migrations.sh

Jumpserver堡垒机安装配置全过程(一)-安装_第6张图片

8、运行 Jumpserver

cd /opt/jumpserver

./jms start all  # 后台运行使用 -d 参数./jms start all -d

# 新版本更新了运行脚本,使用方式./jms start|stop|status|restart all  后台运行请添加 -d 参数

运行不报错,请浏览器访问 http://192.168.1.15:8080/ 注意:这里只是 Jumpserver, 没有 Web Terminal,所以访问 Web Terminal 会报错。如果不能访问请检查主机8080端口号是否能访问,AWS 的 EC2 的80、8080端口受到限制,需要 ICP 备案才可以开放,遇到这种情况,可到 config.py 文件里修改 Jumpserver 端口为8888。

查看8080端口是否正常

netstat -lntup | grep 8080

Jumpserver默认账号: admin 密码: admin

附上重启的方法

ps axu | egrep '(gunicorn|celery|beat)'

ps axu | egrep '(gunicorn|celery|beat)' | awk '{ print $2 }' | xargs kill -9

五、安装 SSH Server 和 WebSocket Server: Coco

1、下载或 Clone 项目

另开一个终端,连接测试机,别忘了 source /opt/py3/bin/activate

cd /opt

source /opt/py3/bin/activate

git clone https://github.com/jumpserver/coco.git && cd coco && git checkout master

echo "source /opt/py3/bin/activate" > /opt/coco/.env  # 进入 coco 目录时将自动载入 python 虚拟环境

# 首次进入 coco 文件夹会有提示,按 y 即可

# Are you sure you want to allow this? (y/N) y

2、安装依赖

cd /opt/coco/requirements

yum -y  install $(cat rpm_requirements.txt)

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple

requirements.txt文件内容:

asn1crypto==0.24.0

bcrypt==3.1.4

boto3==1.6.5

botocore==1.9.5

cachetools==2.0.1

certifi==2018.1.18

cffi==1.11.2

chardet==3.0.4

click==6.7

crcmod==1.7

cryptography==2.1.4

docutils==0.14

dotmap==1.2.20

elasticsearch==6.1.1

Flask==1.0.2

Flask-SocketIO==2.9.2

idna==2.6

itsdangerous==0.24

Jinja2==2.10

jmespath==0.9.3

jms-storage==0.0.18

jumpserver-python-sdk==0.0.44

MarkupSafe==1.0

oss2==2.4.0

paramiko==2.4.0

psutil==5.4.1

pyasn1==0.4.2

pycparser==2.18

PyNaCl==1.2.1

pyte==0.8.0

python-dateutil==2.6.1

python-engineio==2.1.0

python-gssapi==0.6.4

python-socketio==1.8.3

pytz==2018.3

requests==2.18.4

s3transfer==0.1.13

simplejson==3.13.2

six==1.11.0

tornado==4.5.2

urllib3==1.22

wcwidth==0.1.7

eventlet==0.22.1

Werkzeug==0.14.1

3、查看配置文件并运行

cd /opt/coco

cp conf_example.py conf.py  # 如果 coco 与 jumpserver 分开部署,请手动修改 conf.py

./cocod start  # 后台运行使用 -d 参数./cocod start -d

# 新版本更新了运行脚本,使用方式./cocod start|stop|status|restart  后台运行请添加 -d 参数

这时需要去 Jumpserver 管理后台-会话管理-终端管理(http://192.168.1.15:8080/terminal/terminal/)接受 Coco 的注册

Jumpserver堡垒机安装配置全过程(一)-安装_第7张图片

Jumpserver堡垒机安装配置全过程(一)-安装_第8张图片

Jumpserver堡垒机安装配置全过程(一)-安装_第9张图片

Jumpserver堡垒机安装配置全过程(一)-安装_第10张图片

Coco version 1.0.0, more see https://www.jumpserver.org

Starting ssh server at 0.0.0.0:2222

Quit the server with CONTROL-C.

4、测试连接:ssh端口2222

IP:192.168.1.15

账号:admin

密码:admin

Jumpserver堡垒机安装配置全过程(一)-安装_第11张图片

如果能登陆代表部署成功

 

六、安装 Web Terminal 前端: Luna

Luna 已改为纯前端,需要 Nginx 来运行访问。新开终端,访问(https://github.com/jumpserver/luna/releases)下载对应版本的 release 包,直接解压,不需要编译

cd /opt

source /opt/py3/bin/activate

wget https://github.com/jumpserver/luna/releases/download/1.3.3/luna.tar.gz

tar xvf luna.tar.gz

chown -R root:root luna

ls /opt/luna

 

七、安装 Windows 支持组件

因为手动安装 guacamole 组件比较复杂,这里提供打包好的 docker 使用, 启动 guacamole

1、Docker安装 (仅针对CentOS7,CentOS6安装Docker相对比较复杂)

# 安装所需的软件包 yum-utils、device-mapper-persistent-data和 lvm2

yum remove docker-latest-logrotate  docker-logrotate  docker-selinux dockdocker-engine

yum install -y yum-utils device-mapper-persistent-data lvm2

# 国内部分用户可能无法连接docker官网提供的源,这里提供阿里云的镜像节点供测试使用

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

rpm --import http://mirrors.aliyun.com/docker-ce/linux/centos/gpg

yum makecache fast

yum -y install docker-ce

启动docker和检查运行状态

systemctl start docker

systemctl status docker

将服务加入到启动项

systemctl enable docker

2、启动 Guacamole

修改下面 docker run 里的 JUMPSERVER_SERVER 参数,填上 Jumpserver 的 url 地址, 启动成功后去 Jumpserver 会话管理-终端管理(http://192.168.1.15:8080/terminal/terminal/)接受[Gua]开头的一个注册,如果页面显示不正常可以等部署完成后再处理

# 注意:这里一定要改写一下本机的IP地址, 否则会出错, 此过程时间大概需要1-2小时

docker run --name jms_guacamole -d \

 -p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key \

 -e JUMPSERVER_KEY_DIR=/config/guacamole/key \

 -e JUMPSERVER_SERVER=http://192.168.1.15 \

 registry.jumpserver.org/public/guacamole:latest

Jumpserver堡垒机安装配置全过程(一)-安装_第12张图片

Guacamole故障处理:

1)如果重启服务器后可能会出现连接Windows远程桌面白屏的情况,

Jumpserver堡垒机安装配置全过程(一)-安装_第13张图片

这可能是docker镜像停了,需要再次启动

docker ps  #查看目前运行的镜像

发现没有docker镜像

docker镜像启动的方法:

docker ps -a查看所有镜像

找到对应的CONTAINER ID,用docker start 命令启动

 

 

Jumpserver堡垒机安装配置全过程(一)-安装_第14张图片

Jumpserver堡垒机安装配置全过程(一)-安装_第15张图片

2)"终端管理"里发现"在线"是红色的

Jumpserver堡垒机安装配置全过程(一)-安装_第16张图片

同时在web终端连接Windows时会提示下边的信息:

Jumpserver堡垒机安装配置全过程(一)-安装_第17张图片

解决方法如下:

(1)停止 或 删掉 guacamole 的docker

docker stop jms_guacamole  # 如果名称更改过或者不对,请使用docker ps 查询容器的 CONTAINER ID ,然后docker stop

(2)在 Jumpserver后台 会话管理 - 终端管理  删掉它们

(3)启动guacamole 的docker

docker start jms_guacamole

问题解决

Jumpserver堡垒机安装配置全过程(一)-安装_第18张图片

 

八、Nginx

1、安装Nginx:

安装pcre

yum -y install pcre pcre-devel

注意如果CentOS7是基础环境安装的还要安装gcc-c++包

yum -y install gcc-c++

安装openssl,否则下边编译nginx时会报如下错误

yum -y install openssl openssl-devel

检查OpenSSL的版本,不能低于1.0.2,否则不支持https v2

openssl version

下载最新版nginx并解压

wget http://nginx.org/download/nginx-1.15.2.tar.gz

tar -zxvf nginx-1.15.2.tar.gz

cd nginx-1.15.2

加入需要安装的模块,编译,如果路径用的是nginx默认的,这里就不再写上了,否则要加路径参数

./configure \

--with-pcre \

--with-http_ssl_module \

--with-http_realip_module \

--with-http_flv_module \

--with-http_mp4_module \

--with-http_gunzip_module \

--with-http_gzip_static_module \

--with-http_secure_link_module \

--with-http_v2_module \

--with-http_stub_status_module \

--with-http_sub_module

make

make install

查看nginx版本号,安装了哪些模块

/usr/local/nginx/sbin/nginx -V

2、启动

在系统服务目录里创建nginx.service文件

vi /lib/systemd/system/nginx.service

内容如下

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s quit

PrivateTmp=true

[Install]

WantedBy=multi-user.target

解释:

[Unit]:服务的说明

Description:描述服务

After:描述服务类别

[Service]服务运行参数的设置

Type=forking是后台运行的形式

ExecStart为服务的具体运行命令

ExecReload为重启命令

ExecStop为停止命令

PrivateTmp=True表示给服务分配独立的临时空间

注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

 

启动nginx服务

systemctl start nginx

设置开机启动

systemctl enable nginx

 

2、配置Nginx:

②修改nginx默认用户

添加nginx用户,且不给登录权限

groupadd nginx

useradd nginx -g nginx -s /sbin/nologin -M

vi /usr/local/nginx/conf/nginx.conf

#user  nobody;

修改为

user  nginx nginx;

③关闭nginx版本号显示

vi /usr/local/nginx/conf/nginx.conf

在http标签中加入server_tokens off;如下:

http

{

   ……

server_tokens off;

……

}

④优化nginx性能

vi /usr/local/nginx/conf/nginx.conf

因为是4核处理器,所以将

worker_processes  1;

修改为

worker_processes  4;

再加一行,平均分配CPU每个核心

worker_cpu_affinity 0001 0010 0100 1000;

⑤将Jumpserver全部组件加入Nginx

server {

   listen 80;  # 代理端口,以后将通过此端口进行访问,不再通过8080端口

 

   location /luna/ {

       try_files $uri / /index.html;

       alias /opt/luna/;  # 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/;  # 如果coco安装在别的服务器,请填写它的ip

       proxy_buffering off;

       proxy_http_version 1.1;

       proxy_set_header Upgrade $http_upgrade;

       proxy_set_header Connection "upgrade";

       proxy_set_header X-Real-IP $remote_addr;

       proxy_set_header Host $host;

       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

       access_log off;

   }

 

   location /guacamole/ {

       proxy_pass       http://localhost:8081/;  # 如果guacamole安装在别的服务器,请填写它的ip

       proxy_buffering off;

       proxy_http_version 1.1;

       proxy_set_header Upgrade $http_upgrade;

       proxy_set_header Connection $http_connection;

       proxy_set_header X-Real-IP $remote_addr;

       proxy_set_header Host $host;

       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

       access_log off;

       client_max_body_size 100m;  # Windows 文件上传大小限制

   }

 

   location / {

       proxy_pass http://localhost:8080;  # 如果jumpserver安装在别的服务器,请填写它的ip

       proxy_set_header X-Real-IP $remote_addr;

       proxy_set_header Host $host;

       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   }

}

 

 

⑤防爬虫优化

vi /usr/local/nginx/conf/nginx.conf

在server标签中加:

server

{

   ……

       ## Block spider agents ##

       if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot")

       {

       return 403;

       }

……

}

 

⑥TCP优化

vi /etc/sysctl.conf

加入下边几行语句:

# nginx服务器只需要开下边几个

net.ipv4.tcp_syncookies = 1

# 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN***,默认为0,表示关闭;

net.ipv4.tcp_tw_reuse = 1

# 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;

net.ipv4.tcp_tw_recycle = 1

# 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

Jumpserver堡垒机安装配置全过程(一)-安装_第19张图片

使上述内核配置生效

/sbin/sysctl -p

 

nginx -t   # 确保配置没有问题, 有问题请先解决

systemctl restart nginx

然后浏览器打开页面看一下,OK了

Jumpserver堡垒机安装配置全过程(一)-安装_第20张图片

 

九:关于开机自启动所有程序的说明

MySQL启动:

systemctl start mysqld

MySQL开机自启动:

systemctl enable mysqld

 

Redis启动:

systemctl start redis

Redis开机自启动:

systemctl enable redis

 

Python

 

Jumpserver启动:

source /opt/py3/bin/activate

cd /opt/jumpserver

./jms start all  # 后台运行使用 -d 参数./jms start all -d

 

Coco启动:

source /opt/py3/bin/activate

cd /opt/coco

./cocod start  # 后台运行使用 -d 参数./cocod start -d

 

docker启动:

systemctl start docker

docker开机自启动:

systemctl enable docker

jms_guacamole启动:

docker start jms_guacamole

 

Nginx启动:

systemctl start nginx

Nginx开机自启动:

systemctl enable nginx

 

开机自启动脚本jumpserverstart.sh

#!/bin/bash

 

sleep 5

source /opt/py3/bin/activate || true

cd /opt/jumpserver || true

./jms start all -d || true

sleep 30

cd /opt/coco || true

./cocod start -d || true

sleep 10

docker start jms_guacamole || true

exit

 

在/etc/rc.d/rc.local加一行,不要讲脚本放到jumpserver目录下,以免影响后期升级。注意CentOS7默认不执行/etc/rc.d/rc.local,需要chmod +x /etc/rc.d/rc.local命令修改权限才可以

bash /opt/jumpserverstart.sh

 

重启测试是否部署成功:

如果登录客户端是 Windows,Xshell Terminal 登录语法如下

ssh [email protected] 2222

sftp [email protected] 2222

# sftp默认上传的位置在资产的 /tmp 目录下

# windows拖拽上传的位置在资产的 Guacamole RDP上的 G 目录下

密码: admin

如果能登陆代表部署成功