JumpServer 跳板機CentOS 6.x 完美部署

環境介紹

系統:Centos6.8
IP:192.168.66.131
關閉selinux和防火牆

修改字符集,否則可能報 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/sysconfig/i18n

準備 Python3 和 Python 虛擬環境

安裝依賴包

yum -y install wget gcc epel-release git zlib* openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel numactl

安裝 Python3.6

wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz tar zxvf Python-3.6.1.tgz cd Python-3.6.1 #ModuleNotFoundError: No module named '_ssl' 模塊問題,將下面文件 209~212 取消註釋 vim Modules/Setup.dist 209 SSL=/usr/local/ssl 210 _ssl _ssl.c \ 211 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ 212 -L$(SSL)/lib -lssl -lcrypto ./configure make && make install

替換原本系統自帶的 Python 2.6

#查看當前版本 python -V #將默認版本更名爲舊版本 mv /usr/bin/python /usr/bin/python2.6.6 #創建新的軟鏈接 ln -s /usr/local/bin/python3.6 /usr/bin/python #此時在查看python的版本 python -V #升級python後yum會無法使用,直接用sed替換,注意舊的版本號 sed -i '1s/python/python2.6.6/' /usr/bin/yum

建立 Python 虛擬環境

cd /usr/local python3.6 -m venv py3 source /usr/local/py3/bin/activate

安裝 Jumpserver

下載Jumpserver項目

cd /usr/local/ git clone https://github.com/jumpserver/jumpserver.git mkdir /opt/jumpserver echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env

安裝依賴 RPM 包

cd /usr/local/jumpserver/requirements yum -y install $(cat rpm_requirements.txt)

安裝 Python 庫依賴

pip install --upgrade pip setuptools pip install -r requirements.txt

安裝 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke

yum -y install redis chkconfig redis on service redis start

安裝 MySQL 5.7

centos6自帶的mysql5.1不支持,請安裝高版本的mysql或在其他服務器上創建jumpserver數據庫連接


rpm -ivh http://repo.mysql.com/mysql-community-release-el6.rpm #修改/etc/yum.repos.d/mysql-community.repo文件,將5.5的enabled改爲1;5.6的enabled改爲0 # Enable to use MySQL 5.5 [mysql55-community] name=MySQL 5.5 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql   # Enable to use MySQL 5.6 [mysql56-community] name=MySQL 5.6 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql yum -y install mysql-community-client mysql-community-devel mysql-community-server

創建數據庫 Jumpserver 並授權

create database jumpserver default charset 'utf8'; grant all on jumpserver.* to 'jumpserver'@'127.0.0.1'  identified by '123456' flush privileges; quit

修改 Jumpserver 配置文件

cd /usr/local/jumpserver cp -a config_example.yml config.yml #生成SECRET_KEY值 cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo #生成BOOTSTRAP_TOKEN值 cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16 vim config.yml SECRET_KEY: YUQQIWfS7wLLkaAXpM0LLtGn2ItHL0xN6nJpIN805skTwiPDd BOOTSTRAP_TOKEN: NdLLJWUz7ZCQvyzA # 使用Mysql作爲數據 DB_ENGINE: mysql DB_HOST: 127.0.0.1 DB_PORT: 3306 DB_USER: jumpserver DB_PASSWORD: '!!0x50J!!' DB_NAME: jumpserver # 運行時綁定端口 HTTP_BIND_HOST: 0.0.0.0 HTTP_LISTEN_PORT: 8080 # Redis配置 REDIS_HOST: 127.0.0.1 REDIS_PORT: 6379gg

生成數據庫表結構和初始化數據

cd /usr/local/jumpserver/utils sh make_migrations.sh

運行 Jumpserver

cd /usr/local/jumpserver ./jms start all -d


新版本更新了運行腳本,使用方式./jms start|stop|status|restart all 後臺運行請添加 -d 參數


安裝 SSH Server 和 WebSocket Server: Coco

下載 coco 項目

cd /usr/local source /usr/local/py3/bin/activate git clone https://github.com/jumpserver/coco.git echo "source /opt/py3/bin/activate" > /opt/coco/.env

安裝依賴

cd /usr/local/coco/requirements yum -y  install $(cat rpm_requirements.txt) pip install -r requirements.txt

修改配置文件並運行

cd /usr/local/coco mkdir keys logs cp -a config_example.yml config.yml  vim config.yml  BOOTSTRAP_TOKEN: NdLLJWUz7ZCQvyzA ./cocod start -d


新版本更新了運行腳本,使用方式./cocod start|stop|status|restart 後臺運行請添加 -d 參數


啓動成功後去Jumpserver 會話管理-終端管理(http://192.168.0.1:8080/terminal/terminal/)接受coco的註冊

安裝 Web Terminal 前端: Luna

下載Luna並解壓

cd /usr/local wget https://github.com/jumpserver/luna/releases/download/1.4.6/luna.tar.gz tar zxvf luna.tar.gz chown -R root:root luna

配置 Nginx 整合各組件

安裝 Nginx

yum -y install nginx

準備配置文件 編寫/etc/nginx/conf.d/jumpserver.conf

server {     listen 80;  # 代理端口,以後將通過此端口進行訪問,不再通過8080端口     server_name demo.jumpserver.org;  # 修改成你的域名     client_max_body_size 100m;  # 錄像及文件上傳大小限制     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 /coco/ {         proxy_pass       http://localhost:5000/coco/;  # 如果coco安裝在別的服務器,請填寫它的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;         access_log off;     }     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;     } }

運行 Nginx

service nginx start chkconfig nginx on

訪問 Web 端

http://<localhost>

JumpServer

默認賬號密碼:admin


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章