|
|
楼主 |
发表于 2023-3-8 10:00:05
|
显示全部楼层
部署 JumpServer 01 节点⚓︎
4 Z1 k s- P; [5 ]1 准备工作⚓︎
8 i& I/ `0 ^: V5 u7 O% d3 z9 z1.1 环境信息⚓︎
5 E8 c g, \8 M- t$ l# |' S/ JJumpServer_Node_01 服务器信息如下:
. W$ C7 t0 Y5 k# x1 F& A2 R, ^
, _1 H. u2 h! i- ] P8 R192.168.10.213 x- e% }; e5 ^; c% e
2 配置 NFS⚓︎
/ R# w7 L1 b8 n+ o* G2.1 安装 NFS 依赖包⚓︎
" F0 d; N2 v- f0 _" ?9 _
9 W& r! M$ w! J' p* C! |7 y/ ~yum -y install nfs-utils
$ K6 B$ W: k& y; n0 Cshowmount -e 192.168.10.11
2 k. w/ _9 L* l9 M7 r2.2 挂载 NFS 目录⚓︎
# \: K( M. B2 ~$ ]+ L8 I6 t. @7 W6 u2 F ^3 t
# 将 Core 持久化目录挂载到 NFS, 默认 /opt/jumpserver/core/data, 请根据实际情况修改& _/ A- a ]$ |- X
# JumpServer 持久化目录定义相关参数为 VOLUME_DIR, 在安装 JumpServer 过程中会提示) w& Y/ Z* v2 T% H9 J" U
mkdir /opt/jumpserver/core/data7 w( Z; u3 ~# V, t* [, M
mount -t nfs 192.168.10.11:/data /opt/jumpserver/core/data8 ]. ]! m4 A- d" e: a# q
2.3 配置 NFS 共享目录开机自动挂载⚓︎
$ P' ]" H2 _4 E7 i, x4 L4 Q* |; \* }6 i
; |; @. v! ~9 O0 t# 可以写入到 /etc/fstab, 重启自动挂载. 注意: 设置后如果 nfs 损坏或者无法连接该服务器将无法启动" p: U5 O/ d/ |2 B7 H& D$ _$ V, d
echo "192.168.10.11:/data /opt/jumpserver/core/data nfs defaults 0 0" >> /etc/fstab' e0 \ c4 ~2 ]
3 安装 JumpServer⚓︎
' U0 F7 G( `4 D7 |3.1 下载 jumpserver-install 软件包⚓︎
2 G2 \4 z, f& U6 T+ G" ~2 a- H
$ Y0 u+ \( G; b' I9 |cd /opt
, V- U }+ e$ N, ?# y J; V. E* z. [yum -y install wget( Q! d% ^9 k# o. l6 J2 N
wget https://github.com/jumpserver/in ... aller-v3.0.3.tar.gz
# p) x1 @$ e$ z" g ntar -xf jumpserver-installer-v3.0.3.tar.gz" x: ?1 |5 O4 b8 B
cd jumpserver-installer-v3.0.3- _* i- ~: ]/ f5 M8 G2 o
3.2 修改临时配置文件⚓︎
+ l; K) @+ e! _% W3 d
/ W B# N+ U5 k2 ^ `: L: O, Vvi config-example.txt
/ \- P" @6 A0 J# p
( K4 g" O/ S! ^3 h* A9 N9 R# 修改下面选项, 其他保持默认, 请勿直接复制此处内容5 s2 r( i" ~# d7 a' N: e0 ~
### 注意: SECRET_KEY 和要其他 JumpServer 服务器一致, 加密的数据将无法解密: x$ U( g1 d( r' O
8 j O7 G" @* s% Y8 Z8 e/ g# 安装配置9 [( H4 a4 m c5 W
### 注意持久化目录 VOLUME_DIR, 如果上面 NFS 挂载其他目录, 此处也要修改. 如: NFS 挂载到 /data/jumpserver/core/data, 则 VOLUME_DIR=/data/jumpserver
! {$ H2 p' M* y* e+ ?! kVOLUME_DIR=/opt/jumpserver" S2 W3 Z# I( L% H9 u
: B1 c: Y1 b4 w. U
& j; T* {, u y' A; n v. }
# Core 配置
2 B& q- p! e, |& J* c0 L### 启动后不能再修改,否则密码等等信息无法解密, 请勿直接复制下面的字符串# l1 \0 Q* ~+ `$ F: W* Y* {9 i
SECRET_KEY=kWQdmdCQKjaWlHYpPhkNQDkfaRulM6YnHctsHLlSPs8287o2kW # 要其他 JumpServer 服务器一致 (*)
5 V* m$ l% d% {; W4 U- x0 RBOOTSTRAP_TOKEN=KXOeyNgDeTdpeu9q # 要其他 JumpServer 服务器一致 (*)
5 F8 _* n* K, u# l+ d, h/ a) nLOG_LEVEL=ERROR # 日志等级
7 s! h$ C- R! ~# SESSION_COOKIE_AGE=864002 j. G; l8 ]; J% N# s8 g8 f
SESSION_EXPIRE_AT_BROWSER_CLOSE=True # 关闭浏览器 session 过期
$ c' e& d/ b5 ] k$ B- c0 f& ~1 {& U, H0 p2 A; Z1 N
# MySQL 配置1 M p/ x1 p2 Z" r. [, k
) P$ N O: n8 ?. ~7 @# u1 y) UDB_HOST=192.168.10.110 Y( P; c( ^* x) O, s- f3 u
DB_PORT=3306
1 d# [* L5 x+ h2 A4 E8 P M* ADB_USER=jumpserver
3 R( m' v) g/ _3 v/ Q# z3 `( ADB_PASSWORD=KXOeyNgDeTdpeu9q
: z( E% |3 m' Q' Y ?DB_NAME=jumpserver9 e8 h% k8 B9 \
/ v- {. p9 G7 K; |# Redis 配置
5 ^; A' e- t4 t/ x+ P. Z7 `) F6 g$ n3 e3 B9 x
REDIS_HOST=192.168.10.11
" Z% E3 ]# \# A: }; u+ AREDIS_PORT=6379
; K4 v1 m a+ ZREDIS_PASSWORD=KXOeyNgDeTdpeu9q
# O& s; ]+ k. K' m, i! [- f. P7 Y2 L4 K! ~; L+ p% T
# KoKo Lion 配置 o2 o" \; t* C' q2 V
SHARE_ROOM_TYPE=redis # KoKo Lion 使用 redis 共享& }8 K; a5 b7 N# q
REUSE_CONNECTION=False # Koko 禁用连接复用! K7 P6 Q4 Q9 b0 L
3.3 执行脚本安装 JumpServer 服务⚓︎
# @2 ?! l5 m' j: Z* G0 X7 u+ z& }0 |. {4 L
./jmsctl.sh install
# G! j3 z4 V9 x* I7 J/ R
' s0 B% I H7 U ██╗██╗ ██╗███╗ ███╗██████╗ ███████╗███████╗██████╗ ██╗ ██╗███████╗██████╗; I# N- l* H7 U& ~$ X6 m) r
██║██║ ██║████╗ ████║██╔══██╗██╔════╝██╔════╝██╔══██╗██║ ██║██╔════╝██╔══██╗
& }5 D6 v9 l w# X% e5 h ██║██║ ██║██╔████╔██║██████╔╝███████╗█████╗ ██████╔╝██║ ██║█████╗ ██████╔╝
5 w0 I R% D9 |0 O& h ██ ██║██║ ██║██║╚██╔╝██║██╔═══╝ ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══╝ ██╔══██╗
) l8 Q9 i2 A+ L# a `1 {7 X ╚█████╔╝╚██████╔╝██║ ╚═╝ ██║██║ ███████║███████╗██║ ██║ ╚████╔╝ ███████╗██║ ██║
! v; m2 ^5 ?: G5 L! P3 H1 Y h ╚════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝. d6 ^: u3 \6 ^: _9 H" @5 P m+ }; z
5 ?9 x$ ?3 U! `5 ] Version: v3.0.3
. A) D9 f4 A9 c ]( i. s; }/ B3 Q4 L' W
& b! A7 g3 |( S/ x' U) Z' k
1. 检查配置文件3 r" q7 a& j! `' y
配置文件位置: /opt/jumpserver/config
$ l! [5 U! l% }- V% {* p4 o/opt/jumpserver/config/config.txt [ √ ]
, j Z' l& e6 n) @7 D0 E9 t/ z) w/opt/jumpserver/config/nginx/lb_rdp_server.conf [ √ ]
- _; N/ b0 K; C9 t4 s, ~: P+ r/opt/jumpserver/config/nginx/lb_ssh_server.conf [ √ ]
8 y t+ c5 T5 K, H, |% k4 J t/opt/jumpserver/config/nginx/cert/server.crt [ √ ]( [- c; ?& T7 w8 ?( b: x
/opt/jumpserver/config/nginx/cert/server.key [ √ ]
* K# q$ r) @. L1 _( ]# G3 b完成& {& e+ b) d! B: a: e) h" |
; p* i0 ~, D. ?' Y& y/ U
2. 备份配置文件$ P4 d% E2 j9 h3 e
备份至 /opt/jumpserver/config/backup/config.txt.2021-07-15_22-26-13! c" H o1 G) t1 M: a- I1 s m% H9 g
完成6 a+ }4 D- v/ F. f+ A/ G; |
7 L4 S# e" i4 }4 G>>> 安装配置 Docker
' J! w! [4 N! m! A7 E1. 安装 Docker
8 f; {/ J" e; M6 R( @开始下载 Docker 程序 ...7 T" l; ?, e+ w/ t
开始下载 Docker Compose 程序 ...0 F5 f7 w- W) L- c
完成
0 t: ]) M7 b0 d1 O2 @4 X$ c$ ?, v9 h/ a* [
2. 配置 Docker
. p, |, u# w2 k7 _是否需要自定义 docker 存储目录, 默认将使用目录 /var/lib/docker? (y/n) (默认为 n): n
( t1 z& C/ r) j$ q完成2 A7 v7 J1 s3 r& }& G- ~( t/ D
+ m3 u& d& W6 v# }0 A }
3. 启动 Docker
4 A" A8 d- u9 t) Y3 i1 T3 VCreated symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /etc/systemd/system/docker.service.
2 D1 q2 `: F2 ?" I! V Q# l/ X) C2 `2 m完成9 L0 V3 ?0 h5 z& f
' `# K4 K' @! @, W" D" \# H$ r( X>>> 加载 Docker 镜像& e+ Z x. i+ h+ G- L; f* |
Docker: Pulling from jumpserver/core:v3.0.3 [ OK ], d4 I8 ?) ?1 X! y- \+ u$ c; d4 J
Docker: Pulling from jumpserver/koko:v3.0.3 [ OK ]5 R7 O7 N1 d/ h8 g: |
Docker: Pulling from jumpserver/web:v3.0.3 [ OK ]
- N3 r3 \ L' M h0 kDocker: Pulling from jumpserver/redis:6-alpine [ OK ]
% ?3 d! z, Z* y0 B. [Docker: Pulling from jumpserver/mysql:5 [ OK ]
. n# E" {* W" X) Y& q) lDocker: Pulling from jumpserver/lion:v3.0.3 [ OK ]+ ?: F5 _/ T2 ^3 T$ q
" F: r' d8 [. i& x z' c1 x>>> 安装配置 JumpServer
! s4 K% ~: P' W* e' q1. 配置网络
' d, v r. n( E是否需要支持 IPv6? (y/n) (默认为 n): n7 Q$ g3 ~4 n, ]
完成; M- x& `3 Y7 D8 k
3 \# P; I8 z' `+ p8 @0 \" l
2. 配置加密密钥) k5 I. o" {0 x8 R0 L' \
SECRETE_KEY: YTE2YTVkMTMtMGE3MS00YzI5LWFlOWEtMTc2OWJlMmIyMDE2
2 H5 X7 u/ y2 B, H" B4 BBOOTSTRAP_TOKEN: YTE2YTVkMTMtMGE37 I. O/ u. R! U/ [. `
完成9 l) K! E8 L5 \0 o" V' `
% Y+ o( C) ^. Z
3. 配置持久化目录
, i J3 @5 Q* d: P; R是否需要自定义持久化存储, 默认将使用目录 /opt/jumpserver? (y/n) (默认为 n): n
2 j2 N- a: K+ n5 s% U) g% S ^6 a完成6 T; G/ p4 l+ d
) M# K! ? N! W) Q7 ]# `/ a
4. 配置 MySQL; E5 `! ^0 {6 j4 G" m& j
是否使用外部 MySQL? (y/n) (默认为 n): y6 k7 W% C" U, ^5 H2 j3 o
请输入 MySQL 的主机地址 (无默认值): 192.168.10.11$ K5 S" ?; A1 @( p! q. g# E% Y1 R
请输入 MySQL 的端口 (默认为3306): 3306
, ~: s% {5 o) N7 W2 k请输入 MySQL 的数据库(事先做好授权) (默认为jumpserver): jumpserver
7 O* ~& h; s9 q* G3 M" R7 s请输入 MySQL 的用户名 (无默认值): jumpserver
; G# g8 @, w# @+ Q j请输入 MySQL 的密码 (无默认值): KXOeyNgDeTdpeu9q# p' I/ A6 `$ i
完成# b2 D9 @. h7 i# P0 c
# V6 t' j+ F9 \" a: o0 {9 z
5. 配置 Redis+ N0 I2 ]0 B/ P% V# O }
是否使用外部 Redis? (y/n) (默认为 n): y
) E7 k; d+ x% |5 j2 f请输入 Redis 的主机地址 (无默认值): 192.168.10.11
4 x' q4 v, U2 G! `0 z请输入 Redis 的端口 (默认为6379): 6379
5 _5 e1 R/ E' v请输入 Redis 的密码 (无默认值): KXOeyNgDeTdpeu9q
/ q$ _. M u) V- T2 b完成
) K; q( q9 ]7 _" R/ [
0 _4 ]( ~/ R5 h! @1 @+ O6. 配置对外端口, q5 I- m7 t3 g% q
是否需要配置 JumpServer 对外访问端口? (y/n) (默认为 n): n) _& q( k! T; e3 W; A
完成 k+ T& A7 x( s, R; ~+ A" n; h
- Z. E! U- j; _7 Y1 q" I$ c8 E7. 初始化数据库
& U- f" n" H2 a! ?9 q' t3 QCreating network "jms_net" with driver "bridge"
' {1 `( }$ i0 J( N( `, z" D6 u, {Creating jms_redis ... done
" I: B+ ~0 q" g( d; J2 r7 R2021-07-15 22:39:52 Collect static files) c, s' u) E! q% j. J
2021-07-15 22:39:52 Collect static files done
8 G1 p; S7 J8 L. e2021-07-15 22:39:52 Check database structure change ...' L+ }8 `1 e/ k/ J$ i
2021-07-15 22:39:52 Migrate model change to database ...
% J# n, k; x) W& `& a4 Q/ t. V. T
6 N' r6 N+ C4 z D1 ~ M# t0 ^475 static files copied to '/opt/jumpserver/data/static'." b6 r9 v+ j5 G& a W9 z: R
Operations to perform:1 [1 `% Y) w% ?1 M8 b) ]* ]8 \
Apply all migrations: acls, admin, applications, assets, audits, auth, authentication, captcha, common, contenttypes, django_cas_ng, django_celery_beat, jms_oidc_rp, notifications, ops, orgs, perms, sessions, settings, terminal, tickets, users* U: |/ i. L0 f, P- \) B! V) v
Running migrations:
& R8 N9 w* G- V' e% M Applying contenttypes.0001_initial... OK
2 \3 _0 @/ X$ h Applying contenttypes.0002_remove_content_type_name... OK
1 u+ V- p; L8 G0 X# U Applying auth.0001_initial... OK
1 Z1 [$ i* a) @3 G) B, t Applying auth.0002_alter_permission_name_max_length... OK
( N1 p2 b5 ~, k& g Applying auth.0003_alter_user_email_max_length... OK# D$ _9 G0 ^1 H7 O
Applying auth.0004_alter_user_username_opts... OK
9 g6 i/ Y% h5 R2 d Applying auth.0005_alter_user_last_login_null... OK
' ^& Y% W' I: t, w E Applying auth.0006_require_contenttypes_0002... OK
/ G% ]; Y- K( R' J5 n! h Q, J' E4 d% J Applying auth.0007_alter_validators_add_error_messages... OK6 H" d8 F8 V; s8 A% _- _
Applying auth.0008_alter_user_username_max_length... OK
( E+ S5 i7 V8 y9 k } ...
9 `+ Z$ d+ P- I" [3 f$ } Applying sessions.0001_initial... OK$ N {9 y, n2 b5 o5 \: h
Applying terminal.0032_auto_20210302_1853... OK
, R, P2 ~3 ^/ S4 ^. a5 @ Applying terminal.0033_auto_20210324_1008... OK2 k: g8 B4 p8 A3 m
Applying terminal.0034_auto_20210406_1434... OK
6 m/ L, @5 J( `0 c( s Applying terminal.0035_auto_20210517_1448... OK! r6 W, P) J# _' F+ ? t$ a3 [
Applying terminal.0036_auto_20210604_1124... OK
0 ]' D6 W2 r) e1 m2 Q0 @) s Applying terminal.0037_auto_20210623_1748... OK
6 e4 f& p# ]2 {+ b Applying tickets.0008_auto_20210311_1113... OK y8 {: N1 ?9 H9 k. s
Applying tickets.0009_auto_20210426_1720... OK4 e. Z) f- k: h" M% O7 t
+ z/ ^2 g+ ~* y+ x S>>> 安装完成了
% j; o, [9 x: {& X, e1. 可以使用如下命令启动, 然后访问1 h6 a/ C8 ^/ E# G+ t# {- l
cd /root/jumpserver-installer-v3.0.38 V, |; {2 M; W( y% ]7 _( I5 `
./jmsctl.sh start- q+ w/ P- g# J- e# S' r- ?8 T
0 U& H; s% Y$ [
2. 其它一些管理命令: F9 \" W7 a0 g) N$ o6 g8 w: |
./jmsctl.sh stop7 ~4 c) x, g% _; ]6 y
./jmsctl.sh restart; T; M5 g& [# G5 H' h) h6 H
./jmsctl.sh backup/ @/ k$ J; Q* H9 ~
./jmsctl.sh upgrade
1 \4 _6 F- Q* w/ t0 p2 y更多还有一些命令, 你可以 ./jmsctl.sh --help 来了解
. Q; D) v( [: I( f7 k; X0 S0 Q9 M/ X- a
3. Web 访问
6 m5 O6 s5 Q# G$ r0 {# nhttp://192.168.10.212:80
( f6 ] m2 P/ B' o2 r6 z( ]默认用户: admin 默认密码: admin5 V! T7 [5 O$ ^6 Y" ]
2 F9 _8 H% q5 s
4. SSH/SFTP 访问' W& |6 f/ f' W/ |1 |
ssh -p2222 admin@192.168.10.2126 D% L" E' Q+ j3 m
sftp -P2222 admin@192.168.10.2127 i) }8 J5 t- {$ {: D' t. `
% f. L, Z7 e4 d, d3 p
5. 更多信息0 ~# d# U: R5 P8 k4 c
我们的官网: https://www.jumpserver.org/
7 g7 D- t- _7 P9 l8 X3 P0 |9 P我们的文档: https://docs.jumpserver.org/
, ] W) A F* C9 ?6 n3.4 启动 JumpServer 服务⚓︎$ b. B. u o& J, F9 |6 e& L5 j" u
_5 `8 r9 h g$ C( I./jmsctl.sh start" w$ n& f- r/ J
" O4 d' w, `4 f6 Z- ?. j. \; c
Creating network "jms_net" with driver "bridge"
. {- S8 w0 V, g3 [) T9 ~Creating jms_core ... done/ R# J; X- D& U( }' D% m0 @: I3 f5 u
Creating jms_celery ... done
; [. ?1 ?* p: f$ U8 SCreating jms_lion ... done
) |: P$ ?$ P$ l; q5 KCreating jms_koko ... done4 X; F0 L, z9 v8 S I& a2 Y2 c+ @
Creating jms_magnus ... done
# W; u2 x D" {( R# `( eCreating jms_web ... done
# I8 A1 f0 @8 V; P9 w5 ]% |3 d7 u. E, W0 s/ s: Y+ f' \( i
|
|