카테고리 없음

Synology 서버 기반 운세 웹서비스 구성 방안

idea9329 2024. 11. 19. 22:47
반응형

 

1. 필요한 서버 구성 요소

Synology NAS를 웹 서버로 활용하려면 아래와 같은 구성 요소가 필요합니다:

  1. Synology NAS 모델
    • PHP 및 MySQL(MariaDB)을 지원하는 Synology NAS 모델 선택.
    • 예: Synology DS220+, DS720+ 등.
  2. 웹서버 소프트웨어
    • Synology의 기본 제공 패키지인 Apache 또는 Nginx 사용.
    • PHP 패키지 설치 (PHP 7.x 또는 8.x 권장).
  3. 데이터베이스
    • Synology에서 제공하는 MariaDB 설치.
    • 프로그램 소스에서 사용하는 SQL 스키마와 데이터를 MariaDB로 가져옴.
  4. 운세 프로그램 소스
    • 웹 소스 파일(HTML, ASP, JavaScript 등)과 데이터베이스(SQL 파일)을 Synology NAS에 업로드.
  5. 도메인 설정 및 외부 접속
    • Synology NAS에 도메인을 연결하려면 DDNS(Dynamic DNS) 또는 고정 IP 설정 필요.
    • SSL 인증서 (Let's Encrypt)를 통해 HTTPS를 설정.

2. 설치 및 구성 단계

1) Synology NAS 초기 설정

  • Synology NAS 관리자 콘솔에서 DSM(DiskStation Manager) 설정.
  • 패키지 센터에서 Apache 또는 Nginx, PHP, MariaDB 설치.
  • 네트워크 설정에서 고정 IP 또는 DDNS 설정.

2) PHP 환경 설정

  • DSM > 웹 서비스에서 PHP 활성화.
  • PHP 설정에서 필요한 확장(예: mysqli, json) 활성화.

3) MariaDB 데이터베이스 구성

  • 패키지 센터에서 MariaDB 설치.
  • phpMyAdmin 설치 후 데이터베이스 관리.
  • SQL 파일을 업로드하여 데이터베이스 테이블 및 데이터를 생성.

4) 소스 파일 업로드

  • Synology NAS의 Web 폴더에 소스 파일 업로드.
  • FTP 또는 DSM 파일 관리자 사용.

5) 도메인 및 외부 접속

  • Synology QuickConnect 또는 DDNS 설정으로 외부 접속 가능하도록 설정.
  • 라우터 포트 포워딩: 80(HTTP), 443(HTTPS) 포트를 NAS로 연결.

6) SSL 인증서 적용

  • DSM > 보안 > SSL 인증서에서 Let's Encrypt로 HTTPS 인증서 설치.

3. 구성 예제

1) 파일 구조

/web
  ├── incs/
  ├── forms/
  ├── paymode/
  ├── data/
  ├── index.asp

2) MariaDB 데이터베이스 예시

  • DB 이름: sajuDB
  • 테이블:
    • mansedata: 만세력 데이터 저장.
    • users: 사용자 정보 저장.
    • payments: 결제 정보 기록.

4. 서버 아키텍처

  • Synology NAS: 웹 서버와 데이터베이스 서버 역할.
  • 도메인: 외부에서 접근 가능하도록 DDNS 또는 정적 IP 연결.
  • 운영 환경: Apache 또는 Nginx, PHP, MariaDB.
  • 보안: HTTPS 인증서 적용, 방화벽 및 IP 필터링.

5. 추가 고려사항

  1. 성능 최적화
    • NAS의 하드웨어 사양에 따라 동시 접속자 수 제한 가능. 필요 시 더 높은 사양의 NAS 선택.
  2. 백업 및 복원
    • 정기적으로 데이터베이스와 소스 파일 백업.
    • Synology Snapshot 기능 활용 가능.
  3. 관리자 모드 보안
    • /data/etcDATA.dat와 같은 민감한 데이터 파일은 NAS 내 접근 제한 설정.

6. 구성도

[사용자]
   │
   ▼
[Synology NAS]
   ├── [웹 서버 (Apache/Nginx)]
   │       ├── /incs (PHP, ASP)
   │       ├── /forms (운세 입력 폼)
   │       └── /paymode (결제 처리)
   │
   └── [MariaDB (데이터베이스)]
           ├── mansedata (만세력 DB)
           ├── users (사용자 DB)
           └── payments (결제 DB)

7. 필요한 Synology NAS 기능

  • Synology DSM 7.x 이상.
  • MariaDB 및 PHP 지원.
  • 외부 접속을 위한 DDNS 및 SSL 인증서 지원.
반응형