34.1.2 部署Jumpserver运行环境
实验环境:
机器A.cn IP : 192.168.177.251 jumpserver服务端
机器B.cn IP:192.168.177.143 资源,被管理的服务器
关闭 selinux 和防火墙
[root@机器A ~]# setenforce 0 # 可以设置配置文件永久关闭
[root@机器A ~]# systemctl stop firewalld.service ; systemctl disable firewalld.service
# 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文
[root@机器A ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
[root@机器A ~]# export LC_ALL=zh_CN.UTF-8
[root@机器A ~]# echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf
[root@机器A ~]# exit
再重新连接, 这样语言环境就改变了。
准备 Python3 和 Python 虚拟环境
1、安装依赖包
注:安装前,可以开启yum缓存功能,把软件包下载下来,方便后期使用。
[root@机器A ~]# vim /etc/yum.conf
改:keepcache=0
为:keepcache=1
[root@机器A ~]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
编译安装python3.6.1
[root@机器A ~]# cd /opt
[root@机器A ~]# tar xvf Python-3.6.1.tar.xz && cd Python-3.6.1
[root@机器A ~]# ./configure && make -j 4 && make install
# 这里必须执行编译安装,否则在安装 Python 库依赖时会有麻烦...
注:在线下载 wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
建立 Python 虚拟环境
因为 CentOS 6/7 自带的是 Python2,而 Yum 等工具依赖原来的 Python,为了不扰乱原来的环境我们来使用 Python 虚拟环境
[root@机器A ~]# cd /opt
[root@机器A ~]# python3 -m venv py3 名为py3的python虚拟机
[root@机器A ~]# source /opt/py3/bin/activate
(py3) [root@机器A ~]# #切换成功的,前面有一个py3 标识
# 看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行
安装 Jumpserver 1.0.0
1、下载或 Clone 项目
项目提交较多 git clone 时较大,你可以选择去 Github 项目页面直接下载zip包。
(py3) [root@机器A ~]# cd /opt/jumpserver/ #我们已经提前下载
注:在线下载方法:
git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master
注:depth用于指定克隆深度,为1即表示只克隆最近一次commit
2、 安装依赖 RPM 包
[root@机器A ~]# cd /opt/jumpserver/requirements
[root@机器A ~]# yum -y install $(cat rpm_requirements.txt)
3、 安装 Python 库依赖
[root@机器A ~]# cd /opt/jumpserver/requirements
[root@机器A ~]# source /opt/py3/bin/activate
(py3) [root@机器A ~]# pip -V
pip 9.0.1 from /opt/py3/lib/python3.6/site-packages (python 3.6)
方法1:离线安装:
(py3) [root@机器A python-package]# cd /opt/python-package
(py3) [root@机器A ~]# pip install ./*
方法2:在线安装:(py3) [root@机器A ~]# pip install -r requirements.txt
pip 是一个安装和管理 Python 包的工具,相当于yum命令
4、安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke
[root@机器A ~]# yum -y install redis
[root@机器A ~]# systemctl