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