본문 바로가기

설치형 첫 실행 설정 ​

Docker 없이 자기 서버(Windows·Linux·macOS)에 직접 설치한 서버가온은 처음 실행하면 서버가온 설치 설정 화면을 엽니다. 이 화면에서 캐시·데이터베이스·HTTPS·AI 실행기를 차례로 고르고 저장하고 시작을 누르면 서버가 다시 시작해 최초 관리자 설정 화면으로 넘어갑니다.

설정을 마치기 전에는 다른 화면과 API를 쓸 수 없습니다. 고른 값은 나중에 바꿀 수 있습니다.

미리 보기

체험 데모의 설치 화면에서 가상 서버로 같은 화면을 눌러 볼 수 있습니다. 체험에서는 실제 DB·Redis·Docker에 연결하지 않습니다.

설정 화면 열기 ​

  • 서버를 설치한 컴퓨터에서 브라우저로 설치할 때 안내된 서버 주소를 열면 바로 설정 화면이 나옵니다.
  • 다른 컴퓨터에서 열면 설치 설정 토큰을 묻습니다. 설치할 때 표시된 토큰을 넣거나, 서버 데이터 폴더의 setup-token 파일 내용을 넣습니다. 토큰이 20번 틀리면 서버를 다시 시작할 때까지 원격 설정을 막습니다.

위쪽 단계 표시(캐시 → DB 연결 → HTTPS 연결 → AI 실행기 → 설정 검토)에서 지금 단계와 끝난 단계(체크 표시)를 볼 수 있습니다. 단계마다 필요한 시험을 통과해야 다음이 켜지고, 아래에 무엇을 해야 하는지 안내가 나옵니다.

1단계: 캐시 ​

로그인 세션과 실시간 지표를 어디에 둘지 고릅니다.

1단계: 캐시
선택설명
내장 캐시(권장)서버 한 대에서 따로 설치할 것 없이 씁니다. 서버를 다시 시작하면 로그인이 풀리고 실시간 그래프가 비워집니다.
Redis다시 시작해도 로그인과 실시간 지표가 유지됩니다. 여러 서버로 나눌 때 필요합니다. 호스트·포트·비밀번호·DB 번호·TLS를 넣고 연결 시험을 통과해야 합니다.
Memcached준비 중입니다.

2단계: DB 연결 ​

서버가온 데이터를 저장할 데이터베이스입니다. 빈 데이터베이스와 표를 만들 수 있는 계정을 미리 준비하세요.

  • 종류: MariaDB, MySQL, PostgreSQL, SQL Server, Oracle 중에서 고릅니다. 종류를 바꾸면 포트가 기본값(3306·3306·5432·1433·1521)으로 바뀝니다.
  • 데이터베이스 이름: Oracle은 서비스 이름(예: FREEPDB1)을 넣습니다.
  • TLS(암호화 연결): 사용 안 함·가능하면 사용·반드시 사용·반드시 사용 · 인증서 확인. 사설 인증서로 확인할 때는 CA 인증서 경로를 넣습니다.

연결 시험은 실제로 접속해 시험용 표를 만들었다 지워 권한까지 확인합니다. 성공하면 연결했습니다. 표를 만들 권한도 확인했습니다.와 DB 버전이 보이고, 실패하면 연결하지 못했습니다. 뒤에 DB가 돌려준 오류가 괄호로 붙습니다. 값을 바꾸면 시험 결과가 지워지므로 다시 시험합니다.

3단계: HTTPS 연결 ​

3단계: HTTPS 연결
선택설명
앞단 웹 서버(프록시)IIS·Nginx·Apache가 HTTPS를 받고 서버가온으로 넘깁니다. 서버가온은 이 컴퓨터 안(127.0.0.1의 서버 내부 포트, 기본 5080)에서만 접속을 받습니다.
서버가 직접 HTTPS웹 서버 없이 인증서 파일로 바로 HTTPS를 받습니다. HTTP 접속은 HTTPS로 넘깁니다.

앞단 웹 서버 ​

접속 도메인과 웹 서버(Nginx·Apache·IIS(프록시)·IIS(통합 실행))를 고르면 웹 서버 설정 예시가 나옵니다. 안내된 파일에 넣고 웹 서버를 다시 읽게 한 뒤, 인증서 경로를 실제 파일로 바꾸세요. 복사로 설정을 복사할 수 있습니다.

앞단 웹 서버
웹 서버넣을 곳필요한 것
Nginx/etc/nginx/conf.d/servergaon.conf웹 소켓 전달(예시에 포함)
Apache/etc/apache2/sites-available/servergaon.confssl proxy proxy_http proxy_wstunnel headers 모듈
IIS(프록시)사이트의 web.configURL Rewrite, Application Request Routing(프록시 사용), 웹 소켓 프로토콜
IIS(통합 실행)서버가온 폴더의 web.configASP.NET Core Hosting Bundle(.NET 10), 사이트 바인딩의 HTTPS 인증서

서버가 직접 HTTPS ​

HTTPS 포트(기본 443), HTTP 포트(HTTPS로 넘김), **인증서 파일 경로(PFX 또는 PEM)**를 넣습니다. PEM이면 개인 키 파일 경로, PFX면 인증서 비밀번호도 넣고 인증서 확인을 누릅니다. 개인 키가 없거나, 만료됐거나, 접속 도메인과 맞지 않으면 그 이유를 알려 줍니다.

4단계: AI 실행기 ​

ChatGPT·Gemini·Claude Code CLI로 AI 기능을 쓸 때 명령을 실행할 곳입니다. API 키 방식 AI 제공자만 쓴다면 필요하지 않습니다.

4단계: AI 실행기
선택설명
Docker 컨테이너(권장)읽기 전용·권한 축소·메모리 제한 컨테이너에서 실행합니다. 이 단계에 들어오면 Docker가 있는지 확인하고 Docker 버전을 찾았습니다.를 보여 줍니다.
직접 설치Node.js와 CLI를 이 서버에 설치하고 전용 저권한 계정의 서비스로 실행합니다.
플랫폼 실행기준비 중입니다.
사용 안 함CLI 실행기 없이 API 키 방식 AI 제공자만 씁니다.

Docker 컨테이너를 고르고 저장하면, 서버가 다시 시작할 때 ChatGPT 실행기(servergaon-runner), Gemini 실행기(servergaon-gemini-runner), Claude 실행기(servergaon-claude-runner) 컨테이너를 자동으로 만들고 켭니다.

  • 세 실행기는 이 컴퓨터 안(127.0.0.1의 5110·5111·5112 포트)에서만 접속을 받습니다.
  • 서버만 아는 접속 토큰을 씁니다. 토큰은 데이터 폴더의 runner 폴더에 있습니다.
  • 실행기 자료(AI 로그인 정보)는 Docker 볼륨 servergaon-runner-data·servergaon-gemini-runner-data·servergaon-claude-runner-data에 남습니다.
  • Docker가 늦게 켜지면 1분마다 다시 시도합니다. 서버를 다시 시작해도 이미 만든 컨테이너를 그대로 씁니다.

Docker가 없을 때 ​

Docker가 설치되어 있지 않거나 실행 중이 아닙니다.가 나오면 다음 중 하나를 합니다.

  • Linux: Docker Engine을 설치하고 서비스를 시작한 뒤, 서버가온 서비스 계정을 docker 그룹에 넣습니다.
  • Windows·macOS: Docker Desktop을 설치하고 실행합니다.

설치 안내 링크는 새 창으로 열립니다. 준비가 끝나면 다시 확인을 누릅니다. Docker를 찾기 전에는 다음 단계로 갈 수 없으니, Docker를 쓰지 않으려면 직접 설치나 사용 안 함으로 바꿉니다.

직접 설치를 고를 때 ​

직접 설치는 컨테이너보다 격리가 약합니다. AI가 실행하는 명령이 이 서버의 다른 파일·프로세스에 닿을 수 있으므로 업무 서버와 분리된 장비에서 쓰기를 권장합니다. **격리가 약하다는 점을 이해했고 직접 설치를 사용합니다.**에 체크해야 다음으로 넘어갑니다.

5단계: 설정 검토 ​

고른 캐시·DB 연결·HTTPS 연결·AI 실행기를 한 번 더 보여 줍니다. 이전으로 돌아가 고칠 수 있습니다. 저장하고 시작을 누르면 서버가 저장 전에 DB·캐시·인증서를 다시 확인한 뒤 설정을 저장하고 다시 시작합니다.

  • 화면에 저장했습니다. 서버를 다시 시작하는 중입니다…가 보이고, 서버가 평소 모드로 뜨면 자동으로 최초 관리자 설정 화면으로 넘어갑니다.
  • 서버를 OS 서비스로 등록하지 않고 직접 실행했다면 다시 실행해야 합니다.
  • 6분이 지나도 넘어가지 않으면 서버가 다시 시작되지 않았습니다.가 나옵니다. 서버의 서비스 상태와 로그를 확인하세요.

저장되는 곳 ​

설정은 서버 데이터 폴더의 install-settings.json에 저장합니다. DB·Redis 비밀번호와 인증서 비밀번호는 이 서버의 보호 키로 암호화하고, 파일은 서버 계정만 읽을 수 있게 둡니다. 다른 서버로 파일을 그대로 복사하면 비밀번호를 풀 수 없으니 새 서버에서는 설정을 다시 합니다.

도움말 내용은 서비스 업데이트에 따라 바뀔 수 있습니다.