Docker 기반 JumpServer 설치 및 기본 사용법

시스템 요구 사항

다음은 JumpServer v2.28.6을 성공적으로 배포하기 위한 필수 조건입니다:

  • 운영체제: CentOS Linux 7.9
  • 커널 버전: 최소 4.0 이상
  • 데이터베이스: MySQL 5.7 이상 (MariaDB 10.6 권장, MySQL 8.0과 호환 가능)
  • Redis: 버전 5.0 이상 (Redis Cluster 미지원, 공식 권장: Redis 6.2)
  • 추가 의존 패키지: wget, curl, tar, gettext, iptables, python

필수 구성 요소 설치

1. MySQL 서버 설정

안정적인 데이터 저장을 위해 외부 MySQL 인스턴스를 구성합니다. 설치 방법은 각 시스템 환경에 맞는 공식 가이드를 참고하세요.

2. Redis 서버 배포

세션 및 캐시 처리를 위해 Redis를 설치합니다. 클러스터 모드는 지원하지 않으므로 단일 노드 또는 센티널 구성을 사용해야 합니다.

3. 커널 업그레이드

CentOS 7의 기본 커널이 4.0 미만인 경우, ELRepo 저장소를 통해 최신 커널로 업데이트합니다.

4. 보조 도구 설치

yum install -y wget curl tar gettext iptables python

5. 전용 데이터베이스 생성

JumpServer 전용 스키마와 사용자를 생성합니다:

CREATE DATABASE jumpserver CHARACTER SET utf8mb4;
CREATE USER 'jumpserver'@'%' IDENTIFIED BY 'Qwer@123';
GRANT ALL PRIVILEGES ON jumpserver.* TO 'jumpserver'@'%';
FLUSH PRIVILEGES;

6. 암호화 키 생성

시스템 보안을 위한 비밀 키와 부트스트랩 토큰을 생성합니다:

# SECRET_KEY 생성 (50자)
SECRET_KEY=$(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50)

# BOOTSTRAP_TOKEN 생성 (16자)
BOOTSTRAP_TOKEN=$(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16)

생성된 값을 안전한 위치에 저장하세요. 이후 설정 파일에서 재사용됩니다.

JumpServer 설치 절차

1. 설치 프로그램 다운로드

cd /opt
wget https://github.com/jumpserver/installer/releases/download/v2.28.6/jumpserver-installer-v2.28.6.tar.gz
tar -zxvf jumpserver-installer-v2.28.6.tar.gz
cd jumpserver-installer-v2.28.6

2. 환경 설정 파일 작성

설정 예제 파일을 기반으로 환경을 구성합니다:

cp config-example.txt config.txt

# config.txt 내용 수정:
VOLUME_DIR=/data/jumpserver
SECRET_KEY=YOUR_GENERATED_SECRET_KEY
BOOTSTRAP_TOKEN=YOUR_BOOTSTRAP_TOKEN

DB_HOST=192.168.1.135
DB_PORT=3306
DB_USER=root
DB_PASSWORD=Qwer@123
DB_NAME=jumpserver

REDIS_HOST=192.168.1.135
REDIS_PORT=6379
REDIS_PASSWORD=Qwer@123

3. 설치 스크립트 실행

./jmsctl.sh install

스크립트는 다음 작업을 자동으로 수행합니다:

  • Docker 및 Docker Compose 설치
  • 필요한 이미지 다운로드 (core, web, koko, lion 등)
  • 설정 파일 검증 및 마운트 디렉터리 구성
  • 외부 DB 및 Redis 연결 확인
  • 애플리케이션 데이터베이스 초기화 및 마이그레이션

4. 서비스 시작 및 접속

./jmsctl.sh start

서비스가 정상 시작된 후 다음 경로로 접근 가능합니다:

  • 웹 인터페이스: http://[서버IP]:80
    기본 계정: admin / admin
  • SSH 접속: ssh -p 2222 admin@[서버IP]
  • SFTP 접속: sftp -P 2222 admin@[서버IP]

최초 로그인 시 시스템에서 비밀번호 변경을 요구하며, 이후 새 비밀번호로 재로그인해야 합니다.

5. 관리 명령어

./jmsctl.sh stop      # 서비스 중지
./jmsctl.sh restart   # 서비스 재시작
./jmsctl.sh backup    # 백업 생성
./jmsctl.sh upgrade   # 업그레이드 준비
./jmsctl.sh --help    # 전체 명령어 확인

추가 정보는 공식 문서(https://docs.jumpserver.org)를 참조하세요.

태그: Jumpserver docker CentOS MySQL Redis

7월 10일 18:07에 게시됨