安装文档

说明

全新安装的 Linux(x64)
需要连接 互联网
使用 root 用户执行

  • 可以使用由 华为云 提供的容器镜像服务 ❤
区域镜像仓库地址配置文件 /opt/jumpserver/config/config.txt
华北-北京一swr.cn-north-1.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.cn-north-1.myhuaweicloud.com
华北-北京四swr.cn-north-4.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.cn-north-4.myhuaweicloud.com
华南-广州swr.cn-south-1.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
华东-上海一swr.cn-east-3.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.cn-east-3.myhuaweicloud.com
亚太-香港swr.ap-southeast-1.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.ap-southeast-1.myhuaweicloud.com
亚太-新加坡swr.ap-southeast-3.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.ap-southeast-3.myhuaweicloud.com

安装方式

外置环境要求

  • 推荐使用外置 数据库 和 Redis, 方便日后扩展升级
DBVersionCacheVersion
MySQL>= 5.7Redis>= 5.0
MariaDB>= 10.2

自动部署

  1. curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.9.2/quick_start.sh | bash

手动部署

  1. cd /opt
  2. wget https://github.com/jumpserver/installer/releases/download/v2.9.2/jumpserver-installer-v2.9.2.tar.gz
  3. tar -xf jumpserver-installer-v2.9.2.tar.gz
  4. cd jumpserver-installer-v2.9.2
  5. cat config-example.txt

配置文件说明

  1. # 以下设置如果为空系统会自动生成随机字符串填入
  2. ## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
  3. ## 安装配置
  4. DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
  5. VOLUME_DIR=/opt/jumpserver
  6. DOCKER_DIR=/var/lib/docker
  7. SECRET_KEY=
  8. BOOTSTRAP_TOKEN=
  9. LOG_LEVEL=ERROR
  10. ## 使用外置 MySQL 配置
  11. USE_EXTERNAL_MYSQL=0
  12. DB_HOST=mysql
  13. DB_PORT=3306
  14. DB_USER=root
  15. DB_PASSWORD=
  16. DB_NAME=jumpserver
  17. ## 使用外置 Redis 配置
  18. USE_EXTERNAL_REDIS=0
  19. REDIS_HOST=redis
  20. REDIS_PORT=6379
  21. REDIS_PASSWORD=
  22. ## Compose 项目设置
  23. COMPOSE_PROJECT_NAME=jms
  24. COMPOSE_HTTP_TIMEOUT=3600
  25. DOCKER_CLIENT_TIMEOUT=3600
  26. DOCKER_SUBNET=192.168.250.0/24
  27. ## IPV6
  28. DOCKER_SUBNET_IPV6=2001:db8:10::/64
  29. USE_IPV6=0
  30. ## Nginx 配置,这个 Nginx 是用来分发路径到不同的服务
  31. HTTP_PORT=80
  32. HTTPS_PORT=443
  33. SSH_PORT=2222
  34. ## LB 配置, 这个 Nginx 是 HA 时可以启动负载均衡到不同的主机
  35. USE_LB=0
  36. LB_HTTP_PORT=80
  37. LB_HTTPS_PORT=443
  38. LB_SSH_PORT=2222
  39. ## Task 配置
  40. USE_TASK=1
  41. ## XPack
  42. USE_XPACK=0
  43. # Mysql 容器配置
  44. MYSQL_ROOT_PASSWORD=
  45. MYSQL_DATABASE=jumpserver
  46. # Core 配置
  47. # SESSION_COOKIE_AGE=86400
  48. SESSION_EXPIRE_AT_BROWSER_CLOSE=true
  49. ### Keycloak 配置方式
  50. ### AUTH_OPENID=true
  51. ### BASE_SITE_URL=https://jumpserver.company.com/
  52. ### AUTH_OPENID_SERVER_URL=https://keycloak.company.com/auth
  53. ### AUTH_OPENID_REALM_NAME=cmp
  54. ### AUTH_OPENID_CLIENT_ID=jumpserver
  55. ### AUTH_OPENID_CLIENT_SECRET=
  56. ### AUTH_OPENID_SHARE_SESSION=true
  57. ### AUTH_OPENID_IGNORE_SSL_VERIFICATION=true
  58. # Koko 配置
  59. CORE_HOST=http://core:8080
  60. # Guacamole 配置
  61. JUMPSERVER_SERVER=http://core:8080
  62. JUMPSERVER_KEY_DIR=/config/guacamole/data/key/
  63. JUMPSERVER_RECORD_PATH=/config/guacamole/data/record/
  64. JUMPSERVER_DRIVE_PATH=/config/guacamole/data/drive/
  65. JUMPSERVER_ENABLE_DRIVE=true
  66. JUMPSERVER_CLEAR_DRIVE_SESSION=true
  67. JUMPSERVER_CLEAR_DRIVE_SCHEDULE=24

如果启动过程报错请查看此处的帮助文档

  1. ./jmsctl.sh start
  1. Creating network "jms_net" with driver "bridge"
  2. Creating jms_mysql ... done
  3. Creating jms_redis ... done
  4. Creating jms_core ... done
  5. ERROR: for celery Container "76b2e315f69d" is unhealthy.
  6. ERROR: for lina Container "76b2e315f69d" is unhealthy.
  7. ERROR: for luna Container "76b2e315f69d" is unhealthy.
  8. ERROR: for guacamole Container "76b2e315f69d" is unhealthy.
  9. ERROR: for koko Container "76b2e315f69d" is unhealthy.
  10. ERROR: Encountered errors while bringing up the project.
  1. # 如果出现上面的错误, 执行下面的命令, 直到出现 Check service status 为止
  2. docker logs -f jms_core --tail 200 # 如果没有报错就等表结构合并完毕后然后重新 start 即可
  1. 2021-02-08 14:58:53 Mon Feb 8 14:58:53 2021
  2. 2021-02-08 14:58:53 JumpServer version v2.9.2, more see https://www.jumpserver.org
  3. - Start Gunicorn WSGI HTTP Server
  4. 2021-02-08 14:58:53 Check database connection ...
  5. users
  6. [ ] 0001_initial
  7. [ ] 0002_auto_20171225_1157_squashed_0019_auto_20190304_1459 (18 squashed migrations)
  8. [ ] 0020_auto_20190612_1825
  9. [ ] 0021_auto_20190625_1104
  10. [ ] 0022_auto_20190625_1105
  11. [ ] 0023_auto_20190724_1525
  12. [ ] 0024_auto_20191118_1612
  13. [ ] 0025_auto_20200206_1216
  14. [ ] 0026_auto_20200508_2105
  15. [ ] 0027_auto_20200616_1503
  16. [ ] 0028_auto_20200728_1805
  17. [ ] 0029_auto_20200814_1650
  18. [ ] 0030_auto_20200819_2041
  19. [ ] 0031_auto_20201118_1801
  20. 2021-02-08 14:58:58 Database connect success
  21. Operations to perform:
  22. Apply all migrations: admin, applications, assets, audits, auth, authentication, captcha, common, contenttypes, django_cas_ng, django_celery_beat, jms_oidc_rp, ops, orgs, perms, sessions, settings, terminal, tickets, users
  23. Running migrations:
  24. Applying contenttypes.0001_initial... OK
  25. Applying contenttypes.0002_remove_content_type_name... OK
  26. Applying auth.0001_initial... OK
  27. Applying auth.0002_alter_permission_name_max_length... OK
  28. Applying auth.0003_alter_user_email_max_length... OK
  29. Applying auth.0004_alter_user_username_opts... OK
  30. Applying auth.0005_alter_user_last_login_null... OK
  31. Applying auth.0006_require_contenttypes_0002... OK
  32. Applying auth.0007_alter_validators_add_error_messages... OK
  33. Applying auth.0008_alter_user_username_max_length... OK
  34. Applying users.0001_initial... OK
  35. Applying admin.0001_initial... OK
  36. Applying admin.0002_logentry_remove_auto_add... OK
  37. Applying admin.0003_logentry_add_action_flag_choices... OK
  38. Applying users.0002_auto_20171225_1157_squashed_0019_auto_20190304_1459... OK
  39. Applying users.0020_auto_20190612_1825... OK
  40. Applying users.0021_auto_20190625_1104... OK
  41. Applying users.0022_auto_20190625_1105... OK
  42. Applying users.0023_auto_20190724_1525... OK
  43. Applying users.0024_auto_20191118_1612... OK
  44. Applying users.0025_auto_20200206_1216... OK
  45. Applying users.0026_auto_20200508_2105... OK
  46. Applying users.0027_auto_20200616_1503... OK
  47. Applying users.0028_auto_20200728_1805... OK
  48. Applying users.0029_auto_20200814_1650... OK
  49. Applying users.0030_auto_20200819_2041... OK
  50. Applying assets.0001_initial... OK
  51. Applying perms.0001_initial... OK
  52. Applying assets.0002_auto_20180105_1807_squashed_0009_auto_20180307_1212... OK
  53. Applying assets.0010_auto_20180307_1749_squashed_0019_auto_20180816_1320... OK
  54. Applying perms.0002_auto_20171228_0025_squashed_0009_auto_20180903_1132... OK
  55. Applying perms.0003_action... OK
  56. Applying perms.0004_assetpermission_actions... OK
  57. Applying assets.0020_auto_20180816_1652... OK
  58. Applying assets.0021_auto_20180903_1132... OK
  59. Applying assets.0022_auto_20181012_1717... OK
  60. Applying assets.0023_auto_20181016_1650... OK
  61. Applying assets.0024_auto_20181219_1614... OK
  62. Applying assets.0025_auto_20190221_1902... OK
  63. Applying assets.0026_auto_20190325_2035... OK
  64. Applying applications.0001_initial... OK
  65. Applying perms.0005_auto_20190521_1619... OK
  66. Applying perms.0006_auto_20190628_1921... OK
  67. Applying perms.0007_remove_assetpermission_actions... OK
  68. Applying perms.0008_auto_20190911_1907... OK
  69. Applying assets.0027_auto_20190521_1703... OK
  70. Applying assets.0028_protocol... OK
  71. Applying assets.0029_auto_20190522_1114... OK
  72. Applying assets.0030_auto_20190619_1135... OK
  73. Applying assets.0031_auto_20190621_1332... OK
  74. Applying assets.0032_auto_20190624_2108... OK
  75. Applying assets.0033_auto_20190624_2108... OK
  76. Applying assets.0034_auto_20190705_1348... OK
  77. Applying assets.0035_auto_20190711_2018... OK
  78. Applying assets.0036_auto_20190716_1535... OK
  79. Applying assets.0037_auto_20190724_2002... OK
  80. Applying assets.0038_auto_20190911_1634... OK
  81. Applying perms.0009_remoteapppermission_system_users... OK
  82. Applying assets.0039_authbook_is_active... OK
  83. Applying assets.0040_auto_20190917_2056... OK
  84. Applying assets.0041_gathereduser... OK
  85. Applying assets.0042_favoriteasset... OK
  86. Applying assets.0043_auto_20191114_1111... OK
  87. Applying assets.0044_platform... OK
  88. Applying assets.0045_auto_20191206_1607... OK
  89. Applying assets.0046_auto_20191218_1705... OK
  90. Applying applications.0002_remove_remoteapp_system_user... OK
  91. Applying applications.0003_auto_20191210_1659... OK
  92. Applying applications.0004_auto_20191218_1705... OK
  93. Applying perms.0010_auto_20191218_1705... OK
  94. Applying perms.0011_auto_20200721_1739... OK
  95. Applying assets.0047_assetuser... OK
  96. Applying assets.0048_auto_20191230_1512... OK
  97. Applying assets.0049_systemuser_sftp_root... OK
  98. Applying assets.0050_auto_20200711_1740... OK
  99. Applying assets.0051_auto_20200713_1143... OK
  100. Applying assets.0052_auto_20200715_1535... OK
  101. Applying assets.0053_auto_20200723_1232... OK
  102. Applying assets.0054_auto_20200807_1032... OK
  103. Applying applications.0005_k8sapp... OK
  104. Applying perms.0012_k8sapppermission... OK
  105. Applying assets.0055_auto_20200811_1845... OK
  106. Applying assets.0056_auto_20200904_1751... OK
  107. Applying assets.0057_fill_node_value_assets_amount_and_parent_key...
  108. ................................................................. OK
  109. Applying perms.0013_rebuildusertreetask_usergrantedmappingnode... OK
  110. Applying perms.0014_build_users_perm_tree... OK
  111. Applying perms.0015_auto_20200929_1728... OK
  112. Applying assets.0058_auto_20201023_1115... OK
  113. Applying assets.0059_auto_20201027_1905... OK
  114. Applying applications.0006_application... OK
  115. Applying perms.0016_applicationpermission... OK
  116. Applying perms.0017_auto_20210104_0435... OK
  117. Applying applications.0007_auto_20201119_1110... OK
  118. Applying applications.0008_auto_20210104_0435... OK
  119. Applying assets.0060_node_full_value...
  120. - Start migrate node value if has /
  121. - Start migrate node full value
  122. OK
  123. Applying assets.0061_auto_20201116_1757... OK
  124. Applying assets.0062_auto_20201117_1938... OK
  125. Applying assets.0063_migrate_default_node_key...
  126. Check old default node `key=0 value=Default` not exists
  127. OK
  128. Applying assets.0064_auto_20201203_1100... OK
  129. Applying assets.0065_auto_20210121_1549... OK
  130. Applying audits.0001_initial... OK
  131. Applying audits.0002_ftplog_org_id... OK
  132. Applying audits.0003_auto_20180816_1652... OK
  133. Applying audits.0004_operatelog_passwordchangelog_userloginlog... OK
  134. Applying audits.0005_auto_20190228_1715... OK
  135. Applying audits.0006_auto_20190726_1753... OK
  136. Applying audits.0007_auto_20191202_1010... OK
  137. Applying audits.0008_auto_20200508_2105... OK
  138. Applying audits.0009_auto_20200624_1654... OK
  139. Applying audits.0010_auto_20200811_1122... OK
  140. Applying audits.0011_userloginlog_backend... OK
  141. Applying auth.0009_alter_user_last_name_max_length... OK
  142. Applying auth.0010_alter_group_name_max_length... OK
  143. Applying auth.0011_update_proxy_permissions... OK
  144. Applying auth.0012_alter_user_first_name_max_length... OK
  145. Applying authentication.0001_initial... OK
  146. Applying authentication.0002_auto_20190729_1423... OK
  147. Applying authentication.0003_loginconfirmsetting... OK
  148. Applying authentication.0004_ssotoken... OK
  149. Applying captcha.0001_initial... OK
  150. Applying common.0001_initial... OK
  151. Applying common.0002_auto_20180111_1407... OK
  152. Applying common.0003_setting_category... OK
  153. Applying common.0004_setting_encrypted... OK
  154. Applying common.0005_auto_20190221_1902... OK
  155. Applying common.0006_auto_20190304_1515... OK
  156. Applying django_cas_ng.0001_initial... OK
  157. Applying django_celery_beat.0001_initial... OK
  158. Applying django_celery_beat.0002_auto_20161118_0346... OK
  159. Applying django_celery_beat.0003_auto_20161209_0049... OK
  160. Applying django_celery_beat.0004_auto_20170221_0000... OK
  161. Applying django_celery_beat.0005_add_solarschedule_events_choices... OK
  162. Applying django_celery_beat.0006_auto_20180322_0932... OK
  163. Applying django_celery_beat.0007_auto_20180521_0826... OK
  164. Applying django_celery_beat.0008_auto_20180914_1922... OK
  165. Applying django_celery_beat.0006_auto_20180210_1226... OK
  166. Applying django_celery_beat.0006_periodictask_priority... OK
  167. Applying django_celery_beat.0009_periodictask_headers... OK
  168. Applying django_celery_beat.0010_auto_20190429_0326... OK
  169. Applying django_celery_beat.0011_auto_20190508_0153... OK
  170. Applying django_celery_beat.0012_periodictask_expire_seconds... OK
  171. Applying jms_oidc_rp.0001_initial... OK
  172. Applying ops.0001_initial... OK
  173. Applying ops.0002_celerytask... OK
  174. Applying ops.0003_auto_20181207_1744... OK
  175. Applying ops.0004_adhoc_run_as... OK
  176. Applying ops.0005_auto_20181219_1807... OK
  177. Applying ops.0006_auto_20190318_1023... OK
  178. Applying ops.0007_auto_20190724_2002... OK
  179. Applying ops.0008_auto_20190919_2100... OK
  180. Applying ops.0009_auto_20191217_1713... OK
  181. Applying ops.0010_auto_20191217_1758... OK
  182. Applying ops.0011_auto_20200106_1534... OK
  183. Applying ops.0012_auto_20200108_1659... OK
  184. Applying ops.0013_auto_20200108_1706... OK
  185. Applying ops.0014_auto_20200108_1749... OK
  186. Applying ops.0015_auto_20200108_1809... OK
  187. Applying ops.0016_commandexecution_org_id... OK
  188. Applying ops.0017_auto_20200306_1747... OK
  189. Applying ops.0018_auto_20200509_1434... OK
  190. Applying ops.0019_adhocexecution_celery_task_id... OK
  191. Applying orgs.0001_initial... OK
  192. Applying orgs.0002_auto_20180903_1132... OK
  193. Applying orgs.0003_auto_20190916_1057... OK
  194. Applying orgs.0004_organizationmember... OK
  195. Applying orgs.0005_auto_20200721_1937... OK
  196. Applying orgs.0006_auto_20200721_1937... OK
  197. Applying orgs.0007_auto_20200728_1805... OK
  198. Applying orgs.0008_auto_20200819_2041... OK
  199. Applying orgs.0009_auto_20201023_1628... OK
  200. Applying sessions.0001_initial... OK
  201. Applying settings.0001_initial... OK
  202. Applying terminal.0001_initial... OK
  203. Applying terminal.0002_auto_20171228_0025_squashed_0009_auto_20180326_0957... OK
  204. Applying terminal.0010_auto_20180423_1140... OK
  205. Applying terminal.0011_auto_20180807_1116... OK
  206. Applying terminal.0012_auto_20180816_1652... OK
  207. Applying terminal.0013_auto_20181123_1113... OK
  208. Applying terminal.0014_auto_20181226_1441... OK
  209. Applying terminal.0015_auto_20190923_1529... OK
  210. Applying terminal.0016_commandstorage_replaystorage... OK
  211. Applying terminal.0017_auto_20191125_0931... OK
  212. Applying terminal.0018_auto_20191202_1010... OK
  213. Applying terminal.0019_auto_20191206_1000... OK
  214. Applying terminal.0020_auto_20191218_1721... OK
  215. Applying terminal.0021_auto_20200213_1316... OK
  216. Applying terminal.0022_session_is_success... OK
  217. Applying terminal.0023_command_risk_level... OK
  218. Applying terminal.0024_auto_20200715_1713... OK
  219. Applying terminal.0025_auto_20200810_1735... OK
  220. Applying terminal.0026_auto_20201027_1905... OK
  221. Applying terminal.0027_auto_20201102_1651... OK
  222. Applying terminal.0028_auto_20201110_1918... OK
  223. Applying terminal.0029_auto_20201116_1757... OK
  224. Applying terminal.0030_terminal_type... OK
  225. Applying terminal.0031_auto_20210113_1356... OK
  226. Applying tickets.0001_initial... OK
  227. Applying tickets.0002_auto_20200728_1146... OK
  228. Applying tickets.0003_auto_20200804_1551... OK
  229. Applying tickets.0004_ticket_comment... OK
  230. Applying tickets.0005_ticket_meta_confirmed_system_users... OK
  231. Applying tickets.0006_auto_20201023_1628... OK
  232. Applying tickets.0007_auto_20201224_1821... OK
  233. Applying users.0031_auto_20201118_1801... OK
  234. 2021-02-08 14:59:31 [cache INFO] CACHE: Send refresh task <orgs.caches.OrgResourceStatisticsCache object at 0x7fb9122ce0d0>.('nodes_amount',)
  235. Operations to perform:
  236. Apply all migrations: admin, applications, assets, audits, auth, authentication, captcha, common, contenttypes, django_cas_ng, django_celery_beat, jms_oidc_rp, ops, orgs, perms, sessions, settings, terminal, tickets, users
  237. Running migrations:
  238. No migrations to apply.
  239. - Start Flower as Task Monitor
  240. - Start Daphne ASGI WS Server
  241. 2021-02-08 15:01:02 Check service status: gunicorn -> running at 38
  242. 2021-02-08 15:01:02 Check service status: flower -> running at 44
  243. 2021-02-08 15:01:02 Check service status: daphne -> running at 54
  1. # 确定上面都是 ok, 没有 error, 重新 start 即可
  2. ./jmsctl.sh start

使用方式

  • 安装目录 /opt/jumpserver-install-v2.9.2
  • 配置文件 /opt/jumpserver/config/config.txt

Install

  1. ./jmsctl.sh install

Help

  1. ./jmsctl.sh -h

Upgrade

  1. ./jmsctl.sh check_update

后续的使用请参考 安全建议 快速入门