本文档指导你在 Linux 系统上安装 JumpServer v4.7.0 社区版 (CE),适用于离线部署。步骤包括防火墙配置、灵活的端口修改及 HTTPS 支持。
系统要求
- 操作系统: Linux (amd64 架构)
- 内核: >= 4.0
- 硬件: 至少 4GB 内存,10GB 磁盘空间
- 安装包: jumpserver-ce-v4.7.0-x86_64.tar.gz
- 下载链接:开源社区 - FIT2CLOUD 飞致云
前置准备
1. 确认环境
以 root 或具有 sudo 权限的用户登录,执行以下命令检查系统状态:
# 检查磁盘空间(建议 /home 分区至少 10GB 可用)
df -h
示例输出:
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 70G 7G 63G 11% /
/dev/sda2 116G 3G 113G 3% /home
确保 /home 或你计划使用的存储分区有足够空间。
2. 下载安装包
从 飞致云社区 下载 jumpserver-ce-v4.7.0-x86_64.tar.gz,并上传至服务器 /opt 目录:
scp jumpserver-ce-v4.7.0-x86_64.tar.gz user@<服务器IP>:/opt
推荐使用MoboXterm上传至服务器中
安装步骤
1. 解压安装包
cd /opt
tar -xf jumpserver-ce-v4.7.0-x86_64.tar.gz
cd jumpserver-ce-v4.7.0-x86_64
2. 修改配置文件
默认配置文件为 config-example.txt,安装后生效文件为 /opt/jumpserver/config/config.txt。建议在安装前修改 config-example.txt。
2.1 查看默认配置
cat config-example.txt
核心配置项说明:
- VOLUME_DIR: 数据存储目录,默认 /data/jumpserver,建议改为容量大的分区,如 /home/jumpserver。
- SECRET_KEY: 32位随机字符串,加密密钥,自定义并记录。
- BOOTSTRAP_TOKEN: 随机字符串,服务注册令牌,自定义并记录。
- HTTP_PORT: HTTP 服务端口,默认 80,可根据需要修改。
- SSH_PORT: SSH 服务端口,默认 2222。
- DOMAINS: 访问地址,格式为 <IP>:<端口>,无引号。
- TZ: 时区,建议保持 Asia/Shanghai。
2.2 示例修改(HTTP)
假设你希望:
- 数据存储在 /home/jumpserver。
- 使用自定义端口(如 8081,而不是 8080)。
- 服务器 IP 为安装JumpServer的服务器实际IP(我这里使用192.168.117.129)根据实际情况修改。
执行以下命令:
sed -i 's|VOLUME_DIR=/data/jumpserver|VOLUME_DIR=/home/jumpserver|' config-example.txt
sed -i 's|HTTP_PORT=80|HTTP_PORT=8081|' config-example.txt
sed -i 's|DOMAINS=".*"|DOMAINS=192.168.117.129:8081|' config-example.txt
注释: 如果不喜欢 8081,可将 HTTP_PORT=8081 替换为其他端口(如 8090),同时更新 DOMAINS 中的端口号。修改后需重启服务生效:
./jmsctl.sh restart
2.3 可选:配置 HTTPS
若需要使用 HTTPS(推荐生产环境),需准备 SSL 证书并调整配置:
- 将证书文件(certificate.crt 和 private.key)上传至 /opt/jumpserver/config/certs。
- 修改 config-example.txt,添加或调整以下内容:
sed -i 's|HTTP_PORT=80|HTTP_PORT=443|' config-example.txt
sed -i 's|DOMAINS=".*"|DOMAINS=192.168.117.129:443|' config-example.txt
echo "HTTPS=true" >> config-example.txt
echo "SSL_CERTIFICATE=/config/certs/certificate.crt" >> config-example.txt
echo "SSL_CERTIFICATE_KEY=/config/certs/private.key" >> config-example.txt
注意:
- HTTPS 默认端口为 443,可根据需要改为其他端口(如 8443)。
- 证书路径基于容器内部映射,确保文件在 /opt/jumpserver/config/certs。
3. 配置防火墙
确保防火墙放通 HTTP/HTTPS 和 SSH 端口(默认或自定义)。以 firewalld 为例:
# HTTP 示例(端口 8081)
firewall-cmd --permanent --add-port=8081/tcp
# HTTPS 示例(端口 443)
firewall-cmd --permanent --add-port=443/tcp
# SSH 服务端口(默认 2222)
firewall-cmd --permanent --add-port=2222/tcp
# 应用规则
firewall-cmd --reload
提示: 如果使用其他防火墙(如 iptables 或云服务器安全组),自行调整规则。
4. 执行安装
./jmsctl.sh install
交互配置建议:
- 是否支持 IPv6?输入 n。
- 自定义存储路径?输入 n(使用 VOLUME_DIR)。
- 使用外部数据库/Redis?输入 n(使用内置)。
- 配置对外端口?输入 n(使用 HTTP_PORT)。 安装完成后显示“安装完成了”。
5. 启动服务
./jmsctl.sh start
检查容器状态:
docker ps
确保 jms_core、jms_web、jms_postgresql 等容器运行且状态为 healthy。
6. 验证安装
- HTTP: 访问 http://<服务器IP>:<HTTP_PORT>(如 http://192.168.117.129:8081)。
- HTTPS: 访问 https://<服务器IP>:<HTTP_PORT>(如 https://192.168.117.129:443)。 默认登录:
- 用户名:admin
- 密码:ChangeMe(首次登录后修改)。
常用命令
在 /opt/jumpserver-ce-v4.7.0-x86_64 目录下运行:
启动:./jmsctl.sh start
停止:./jmsctl.sh stop
重启:./jmsctl.sh restart
备份:./jmsctl.sh backup
卸载:./jmsctl.sh uninstall
注意事项
网络
- 确保 DOCKER_SUBNET=192.168.250.0/24 不与现有网络冲突。
- 检查防火墙或云安全组是否放通所需端口。
安全性
- SECRET_KEY 和 BOOTSTRAP_TOKEN 需记录并保密。
- 首次登录后立即修改默认密码。
调试
- 日志路径:/opt/jumpserver/logs
- 查看容器日志:docker logs <容器名>