ubuntu18.04安裝jumpserver1.4.4
Ubuntu18.04安裝jumpserver1.4.4
文件編寫時間:2018年11月18日
1.4.4版本是2018年11月份釋出的
官網的文件已經很詳細了,但每個人都得有個第一次,誰也不知道自己的第一次會遇到哪些奇奇怪怪的問題!
準備工作:
Linux系統:ubuntu18.04
IP:192.168.2.100
配置好apt源
Linux網路通暢
然後可以根據官網文件開始了:
一、準備 Python3 和 Python 虛擬環境
1.1安裝依賴包:
[email protected]:~# apt-get update && apt-get -y upgrade
[email protected]:~# apt-get -y install wget gcc libffi-dev git
# 修改字符集,否則可能報 input/output error的問題,因為日誌裡列印了中文
[email protected]:~# apt-get -y install language-pack-zh-hans
[email protected]:~# echo 'LANG="zh_CN.UTF-8"' > /etc/default/locale
新開終端,檢視字符集是否修改
[email protected]:~# echo $LANG
zh_CN.UTF-8
1.2 安裝 Python3.6
[email protected]:~# add-apt-repository ppa:jonathonf/python-3.6 -y
[email protected]:~# apt update
[email protected]:~# apt-get -y install python3.6 python3.6-dev python3.6-venv
1.3 建立 Python 虛擬環境
[email protected]:~# cd /opt
[email protected]
這一步報錯了:
按照提示安裝python3-env
[email protected]:/opt# apt-get install python3-venv -y
然後重新執行之前的命令:
[email protected]:/opt# python3.6 -m venv py3
[email protected]:/opt# source /opt/py3/bin/activate
提示符發生變化,如下:
(py3) [email protected]:/opt#
1.4 自動載入 Python 虛擬環境配置
(py3) [email protected]:/opt# cd /opt
(py3) [email protected]:/opt# echo 'source /opt/autoenv/activate.sh' >> ~/.bashrc
(py3) [email protected]:/opt# source ~/.bashrc
二. 安裝 Jumpserver
2.1 下載或 Clone 專案
[email protected]:/opt# cd /opt
[email protected]:/opt# git clone https://github.com/jumpserver/jumpserver.git
[email protected]:/opt# echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env
2.2 安裝依賴包
[email protected]:/opt# cd /opt/jumpserver/requirements
# 首次進入 jumpserver 資料夾會有提示,按 y 即可
# Are you sure you want to allow this? (y/N) y
(py3) [email protected]:/opt/jumpserver/requirements# apt-get -y install $(cat deb_requirements.txt)
2.3 安裝 Python 庫依賴
(py3) [email protected]:/opt/jumpserver/requirements# pip install --upgrade pip setuptools
(py3) [email protected]:/opt/jumpserver/requirements# pip install -r requirements.txt
這一步報錯了,再執行一遍,還是有錯誤,如下:
解決方法:執行下面這條命令:
apt-get install python3.6-dev libmysqlclient-dev
(py3) [email protected]:/opt/jumpserver/requirements# apt-get install python3.6-dev libmysqlclient-dev
再執行上一條命令:
(py3) [email protected]:/opt/jumpserver/requirements# pip install -r requirements.txt
有可能還會出現下載超時錯誤,再執行一次即可
2.4 安裝 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke
(py3) [email protected]:/opt/jumpserver/requirements# apt-get -y install redis-server
2.5 安裝 MySQL
(py3) [email protected]:/opt/jumpserver/requirements# apt-get -y install mysql-server
對mysql的一些初始化
(py3) [email protected]:/opt/jumpserver/requirements# mysql_secure_installation
2.6 建立資料庫 Jumpserver 並授權
(py3) [email protected]:/opt# mysql -uroot -p
mysql> create database jumpserver default charset 'utf8';
mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123456';
mysql> flush privileges;
mysql> quit
2.7 修改 Jumpserver 配置檔案
(py3) [email protected]:/opt# cd /opt/jumpserver
(py3) [email protected]:/opt/jumpserver# cp config_example.py config.py
(py3) [email protected]:/opt/jumpserver# vim config.py
主要改的地方有:
約19行加上 SECRET_KEY = '隨機50位以上字串’
約34-36行註釋掉SQlite相關的配置
約39-44行取消註釋mysql相關配置,並寫上資料庫jumpserver使用者密碼
2.8 生成資料庫表結構和初始化資料
(py3) [email protected]:/opt/jumpserver# cd /opt/jumpserver/utils
(py3) [email protected]:/opt/jumpserver/utils# bash make_migrations.sh
2.9 執行 Jumpserver
(py3) [email protected]:/opt/jumpserver/utils# cd /opt/jumpserver
(py3) [email protected]:/opt/jumpserver# ./jms start all
(有可能執行後會退出,再執行一次即可)
三. 安裝 SSH Server 和 WebSocket Server: Coco
3.1 下載或 Clone 專案
新開一個終端
[email protected]:~# cd /opt
[email protected]:/opt# source /opt/py3/bin/activate
(py3) [email protected]:/opt# git clone https://github.com/jumpserver/coco.git && cd coco && git checkout master
(py3) [email protected]:/opt/coco# echo "source /opt/py3/bin/activate" > /opt/coco/.env
3.2 安裝依賴
(py3) [email protected]:/opt/coco# cd /opt/coco/requirements
# 首次進入 coco 資料夾會有提示,按 y 即可
# Are you sure you want to allow this? (y/N) y
(py3) [email protected]:/opt/coco/requirements# pip install -r requirements.txt
3.3 檢視配置檔案並執行
(py3) [email protected]:/opt/coco/requirements# cd /opt/coco
(py3) [email protected]:/opt/coco# mkdir keys logs
(py3) [email protected]:/opt/coco# cp conf_example.py conf.py
(py3) [email protected]:/opt/coco# vim conf.py
加上了下面三行(其他的引數都有預設值):
NAME = "coco"
CORE_HOST = 'http://127.0.0.1:8080'
LOG_LEVEL = 'WARN'
啟動coco
(py3) [email protected]:/opt/coco# ./cocod start #(後面加了all報錯)
四. 安裝 Web Terminal 前端: Luna
4.1下載並解壓Luna
新開終端:
[email protected]:/opt# cd /opt/
[email protected]:/opt# tar xf luna.tar.gz
[email protected]:/opt# chown root.root -R luna
五. 配置 Nginx 整合各元件
5.1安裝Nginx
[email protected]:/opt# apt install -y nginx
5.2 修改 /etc/nginx/site-enabled/default
[email protected]:/opt# cd /etc/nginx/sites-enabled/
[email protected]:/etc/nginx/sites-enabled# cp default ~
[email protected]:/etc/nginx/sites-enabled# vim default
把官方給的複製進去就可以
5.3重啟nginx
[email protected]:/etc/nginx/sites-enabled# nginx -t
[email protected]:/etc/nginx/sites-enabled# nginx -s reload
5.4 開始使用 Jumpserver
測試連線: