From 8f3f7b305eb8d01db6c1c20d6b6c61ad0d0ace7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E5=B9=BF?= Date: Tue, 2 Jan 2018 11:23:18 +0800 Subject: [PATCH] =?UTF-8?q?Created=20=E5=9F=BA=E4=BA=8E=20CentOS=207=20?= =?UTF-8?q?=E4=B8=80=E6=AD=A5=E4=B8=80=E6=AD=A5=E5=AE=89=E8=A3=85=20Jumpse?= =?UTF-8?q?rver=200.5.0=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-CentOS-7-一步一步安装-Jumpserver-0.5.0.md | 238 ++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 基于-CentOS-7-一步一步安装-Jumpserver-0.5.0.md diff --git a/基于-CentOS-7-一步一步安装-Jumpserver-0.5.0.md b/基于-CentOS-7-一步一步安装-Jumpserver-0.5.0.md new file mode 100644 index 0000000..13d4668 --- /dev/null +++ b/基于-CentOS-7-一步一步安装-Jumpserver-0.5.0.md @@ -0,0 +1,238 @@ +基于 CentOS 7 一步一步安装 Jumpserver 0.5.0 + +### 环境 + +- 系统: CentOS 7 +- IP: 192.168.244.144 + +### 一. 准备Python3和Python虚拟环境 +**1.1 安装依赖包** + +``` +$ yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release +``` + +**1.2 编译安装** + +``` +$ 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 +``` + +**1.3 建立python虚拟环境** + +因为CentOS 6/7自带的是Python2,而Yum等工具依赖原来的Python,为了不扰乱原来的环境我们来使用Python虚拟环境 + +``` +$ cd /opt +$ python3 -m venv py3 +$ source /opt/py3/bin/activate + +# 看到下面的提示符代表成功,以后运行jumpserver都要先运行以上source命令,以下所有命令均在该虚拟环境中运行 +(py3) [root@localhost py3]# +``` + +### 二. 安装Jumpserver 0.5.0 + +**2.1 下载或clone项目** + +项目提交较多git clone时较大,你可以选择去github项目页面直接下载 zip包,我的网速好,我直接clone了 + +``` +$ cd /opt/ +$ git clone https://github.com/jumpserver/jumpserver.git && git checkout dev +``` + +**2.2 安装依赖rpm包** + +``` +$ cd /opt/ +$ cd jumpserver/requirements +$ yum -y install $(cat rpm_requirements.txt) # 如果没有任何报错请继续 +``` + +**2.3 安装python库依赖** + +``` +$ pip install -r requirements.txt # 如果没有任何报错请继续 +``` + +**2.4 安装Redis, jumpserver使用celery依赖** + +``` +$ yum -y install redis +$ service redis start +``` + +**2.5 安装MySQL** + +本教程使用mysql作为数据库,如果不使用mysql可以跳过相关mysql安装和配置 + +``` +# centos7 +$ yum -y install mariadb mariadb-devel mariadb-server # centos7下安装的是mariadb +$ service mariadb start + +# centos6 +$ yum -y install mysql mysql-devel mysql-server +$ service mysql start +``` + +**2.6 创建数据库 jumpserver并授权** + +``` +$ mysql +> create database jumpserver default charset 'utf8'; +> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'somepassword'; +``` + +**2.7 修改jumpserver配置文件** + +``` +$ cd /opt/jumpserver +$ cp config_example.py config.py +$ vi config.py # 我们计划修改 DevelopmentConfig中的配置,因为默认jumpserver是使用该配置,它继承自Config +``` + +``` +class DevelopmentConfig(Config): + DEBUG = True + DB_ENGINE = 'mysql' + DB_HOST = '127.0.0.1' + DB_PORT = 3306 + DB_USER = 'jumpserver' + DB_PASSWORD = 'somepassword' + DB_NAME = 'jumpserver' + EMAIL_HOST = 'smtp.exmail.qq.com' + EMAIL_PORT = 465 + EMAIL_HOST_USER = 'a@jumpserver.org' + EMAIL_HOST_PASSWORD = 'somepasswrd' + EMAIL_USE_SSL = True + EMAIL_USE_TLS = False + EMAIL_SUBJECT_PREFIX = '[Jumpserver] ' + SITE_URL = 'http://192.168.244.144:8080' # 用户收到的邮件,会使用该地址访问 + +``` + +**2.8 生成数据库表结构和初始化数据** + +``` +$ cd /opt/jumpserver/utils +$ bash make_migrations.sh +``` + +**2.9 运行Jumpserver** + +``` +$ cd /opt/jumpserver +$ python run_server.py + +``` +运行不报错,请浏览器访问 http://192.168.244.144:8080/ +账号: admin +密码: admin + +### 三. 安装 SSH Server和Web Socket Server: Coco + +**3.1 下载clone项目** + +新开一个终端,连接测试机,别忘了 source /opt/py3/bin/activate + +``` +$ cd /opt +$ git clone https://github.com/jumpserver/coco.git && git checkout dev +``` + +**3.2 安装依赖** + +``` +$ cd /opt/coco/requirements +$ yum -y install $(cat rpm_requirements.txt) +$ pip install -r requirements.txt +``` + +**3.3 查看配置文件并运行** + +``` +$ cd /opt/coco +$ cat config.py +$ python run_server.py + +``` + +这时需要去 jumpserver管理后台-终端-终端(http://192.168.244.144:8080/terminal/terminal/)接受coco的注册 + +``` +Coco version 0.4.0, more see https://www.jumpserver.org +Starting ssh server at 0.0.0.0:2222 +Quit the server with CONTROL-C. +``` + +**3.4 测试连接** +``` +$ ssh -p2222 admin@192.168.244.144 +密码: admin +如果是用Xshell登录语法如下 +$ssh admin@192.168.244.144 2222 +密码: admin +如果能登陆代表部署成功 +``` + +### 四. 安装 Web Terminal 前端: Luna + +Luna已该为纯前端,需要nginx来运行访问, 这里仅 + +**4.1 下载clone项目** + +``` +$ cd /opt +$ git clone https://github.com/jumpserver/luna.git +$ cd luna && npm install && ng build +``` + +### 五. 配置 nginx 整合各组件 + +5.1 安装nginx +根据喜好选择安装方式和版本 + +5.2 配置文件 + +``` +server { + listen 80; + + location /luna/ { + root /opt/luna/dist; + } + + location /media/ { + add_header Content-Encoding gzip; + root /opt/jumpserver/data/media/; + } + + location /static/ { + root /opt/jumpserver/data/static/; + } + + location /socket.io/ { + proxy_pass http://localhost:5000/socket.io/; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + location / { + proxy_pass http://localhost:8080; + } +} +``` + +5.3 运行 nginx + +5.4 访问 http://localhost +