centos7.5上一步步部署jumpserver


 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM