diff --git a/docs/deployment.md b/docs/deployment.md index 67711f2..8f153c0 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -17,6 +17,15 @@ Synology NAS 환경에서 통합 운영을 위해 Express 서버가 빌드된 - `express.static`을 사용하여 `../client/dist` 폴더의 정적 파일을 서빙합니다. - SPA(Single Page Application)를 위해 모든 경로를 `index.html`로 폴백(fallback) 시킵니다. +## 초기 계정 정보 +최초 로그인 시 아래 계정을 사용하세요. + +- **ID**: `admin` +- **Password**: `^Ocean1472bk` + +> [!NOTE] +> 만약 로그인이 되지 않는다면 서버 터미널에서 `node init_db.js`를 실행하여 계정을 생성해 주세요. + ## 배포 단계 (설치 절차) ### 1. 소스 코드 배포 @@ -75,11 +84,19 @@ node server.js ``` ### 5. PM2를 이용한 무중단 운영 -서버가 백그라운드에서 계속 실행되도록 `pm2`를 사용합니다. +서버가 백그라운드에서 계속 실행되도록 `pm2`를 사용합니다. 반드시 **server 폴더**에서 실행하세요. + ```bash -# PM2 설치 및 실행 +# 1. 서버 폴더로 이동 +cd /volume1/[NAS사용자폴더]/smart_ims_license/server + +# 2. PM2 설치 (이미 설치했다면 생략 가능) sudo npm install -g pm2 + +# 3. 서비스 시작 pm2 start server.js --name "license-manager" + +# 4. 현재 상태 저장 (재부팅 시 자동 복구를 위해 필수) pm2 save ``` @@ -100,6 +117,48 @@ NAS가 재부팅될 때 PM2가 자동으로 실행되도록 Synology '작업 스 ``` 5. **확인**을 눌러 저장합니다. -## 확인 사항 -- Synology 역방향 프록시(Reverse Proxy)를 사용하여 도메인 또는 특정 포트를 연결합니다. -- 방화벽 설정에서 해당 포트(3006)가 열려 있는지 확인합니다. +## 확인 사항 및 외부 접속 설정 + +### 1. Synology 역방향 프록시(Reverse Proxy) 설정 +외부 도메인(예: `license.yourdomain.com`)을 통해 HTTPS로 접속하려면 역방향 프록시를 설정해야 합니다. + +1. **제어판 > 로그인 포털 > 고급 > 역방향 프록시**로 이동합니다. +2. **생성**을 클릭하고 다음과 같이 입력합니다: + - **일반 탭**: + - 역방향 프록시 이름: `License Manager` + - **원본(소스)**: + - 프로토콜: `HTTPS` + - 호스트 이름: `도메인 주소` (예: `license.qideun.com`) + - 포트: `443` + - **대상(대상)**: + - 프로토콜: `HTTP` + - 호스트 이름: `localhost` + - 포트: `3006` (또는 설정한 포트) +3. **사용자 지정 머리글 탭**: + - **생성 > WebSocket** 클릭 (자동으로 `Upgrade`, `Connection` 헤더 추가됨) +4. **확인**을 눌러 저장합니다. +5. **보안 > 인증서**: 생성한 도메인에 유효한 인증서(Let's Encrypt 등)가 할당되어 있는지 확인합니다. + +### 2. 방화벽 설정 +- **제어판 > 보안 > 방화벽**에서 3006 포트(내부 전용) 또는 443 포트(외부 접속용)가 열려 있는지 확인합니다. +- 공유기를 사용 중이라면 443 포트에 대한 포트 포워딩 설정이 필요할 수 있습니다. + +--- + +## 시스템 업데이트 방법 (Git) +코드 수정이나 기능 추가 시 서버에 최신 버전을 적용하는 방법입니다. + +```bash +# 1. 서버 폴더로 이동 (예시 경로) +cd /volume1/web/smart_ims_license + +# 2. 최신 코드 가져오기 +git pull origin main + +# 3. 의존성 및 빌드 업데이트 (필요한 경우) +cd server && npm install +cd ../client && npm install && npm run build + +# 4. 서비스 재시작 +pm2 restart license-manager +```