본문으로 건너뛰기

Enhance Control Panel Integration

개요

Enhance는 강력한 호스팅 자동화 및 관리 기능을 제공하는 최신 컨트롤 패널입니다. 이 통합은 Ultimate Multisite와 Enhance Control Panel 간에 자동 도메인 동기화 및 SSL 인증서 관리를 가능하게 합니다.

관련 토론: 커뮤니티 팁 및 추가 정보를 위해 GitHub Discussion #265를 확인하세요.

기능

  • Ultimate Multisite에서 도메인이 매핑될 때 자동 도메인 동기화
  • DNS가 해결될 때 LetsEncrypt를 통해 자동 SSL 인증서 프로비저닝
  • 서브도메인 모드에서 실행되는 네트워크에 대한 서브도메인 지원
  • 매핑이 삭제될 때 도메인 제거
  • API 자격 증명을 확인하기 위한 연결 테스트

요구 사항

시스템 요구 사항

  • Enhance Control Panel이 설치되고 접근 가능해야 함
  • WordPress Multisite 설치가 Enhance 서버에 호스팅되거나 연결되어 있어야 함
  • Apache 웹 서버 (Enhance는 현재 Apache 구성을 지원하며, LiteSpeed Enterprise는 할인 가격으로 제공됩니다)

API 접근

API 토큰을 생성하려면 Enhance Control Panel에 관리자 접근 권한이 있어야 합니다.

API 자격 증명 가져오기

1. API 토큰 생성

  1. 관리자 권한으로 Enhance Control Panel에 로그인합니다.
  2. 탐색 메뉴에서 Settings를 클릭합니다.
  3. Access Tokens로 이동합니다.
  4. Create Token을 클릭합니다.
  5. 토큰에 설명적인 이름을 지정합니다 (예: "Ultimate Multisite Integration").
  6. System Administrator 역할을 할당합니다.
  7. 만료 날짜에 대해:
    • 토큰이 무기한 유효하도록 하려면 비워 두세요.
    • 또는 보안 목적으로 특정 만료 날짜를 설정하세요.
  8. Create를 클릭합니다.

생성 후, Access TokenOrganization ID가 표시됩니다. 즉시 저장하세요. 토큰은 한 번만 표시됩니다.

2. 조직 ID 가져오기

조직 ID는 Access Tokens 페이지의 파란색 정보 상자에 "Org ID: {your_id}" 라벨로 표시됩니다.

조직 ID는 다음과 같은 UUID 형식입니다: d8554b6d-5d0d-6719-009b-fec1189aa8f3

고객의 조직 ID를 찾으려면:

  1. Customers 페이지로 이동합니다.
  2. 해당 고객의 Manage customer를 클릭합니다.
  3. URL을 확인하세요. 조직 ID는 /customers/ 뒤의 영숫자 문자열입니다.

3. 서버 ID 가져오기

서버 ID(도메인 작업에 필요)를 찾으려면:

  1. Enhance Control Panel에서 Servers로 이동합니다.
  2. WordPress 설치가 실행 중인 서버를 클릭합니다.
  3. 서버 ID( UUID 형식)는 URL 또는 서버 세부 정보에 표시됩니다.
  4. 또는 API를 사용하여 서버 목록을 가져올 수 있습니다:
curl -s -X GET https://your-enhance-panel.com/api/servers \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" | jq

서버 ID는 UUID 형식입니다: 00000000-0000-0000-0000-000000000000

4. API URL 가져오기

API URL은 Enhance Control Panel URL에 /api/를 추가한 것입니다:

https://your-enhance-panel.com/api/

중요: /api/ 경로가 필요합니다. 흔한 실수는 다음과 같습니다:

  • 도메인만 사용하고 /api/를 생략하는 경우
  • HTTPS 대신 HTTP를 사용하는 경우 (보안을 위해 HTTPS가 필요합니다)

구성

필수 상수

다음 상수를 wp-config.php 파일에 추가하세요:

// Enhance Control Panel Integration
define('WU_ENHANCE_API_TOKEN', 'your-bearer-token-here');
define('WU_ENHANCE_API_URL', 'https://your-enhance-panel.com/api/');
define('WU_ENHANCE_SERVER_ID', 'your-server-uuid-here');

통합 마법사를 통한 설정

  1. WordPress 관리자에서 Ultimate Multisite > Settings로 이동합니다.
  2. Integrations 탭으로 이동합니다.
  3. Enhance Control Panel Integration을 찾아 Configuration을 클릭합니다.
  4. 마법사는 설정 과정을 안내합니다:
    • Step 1: 소개 및 기능 개요
    • Step 2: API 자격 증명(토큰, API URL, 서버 ID)을 입력합니다.
    • Step 3: 연결 테스트
    • Step 4: 검토 및 활성화

다음 중 선택할 수 있습니다:

  • 마법사가 wp-config.php 파일에 상수를 자동으로 삽입하도록 합니다.
  • 상수 정의를 복사하여 수동으로 추가합니다.

추가 WordPress 구성

커뮤니티 피드백(Discussion #265)에 따라 다음 추가 설정을 구성해야 할 수 있습니다:

.htaccess 구성

도메인 매핑에 문제가 있는 경우:

  1. 원본 Enhance .htaccess 파일을 삭제합니다.
  2. 표준 WordPress Multisite .htaccess 파일로 교체합니다.

쿠키 상수

다음 상수를 wp-config.php에 추가하여 매핑된 도메인 간 쿠키 처리를 보장합니다:

define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', '/');

작동 방식

도메인이 매핑될 때

  1. 사용자가 Ultimate Multisite에서 사용자 정의 도메인을 매핑하거나(또는 서브도메인 모드에서 새 사이트가 생성될 때)
  2. 통합은 Enhance API에 POST 요청을 보냅니다: /servers/{server_id}/domains
  3. Enhance는 도메인을 서버 구성에 추가합니다.
  4. DNS가 서버를 가리키면 Enhance는 LetsEncrypt를 통해 SSL 인증서를 자동으로 프로비저닝합니다.
  5. 도메인이 HTTPS로 활성화됩니다.

도메인이 제거될 때

  1. Ultimate Multisite에서 도메인 매핑이 삭제됩니다.
  2. 통합은 Enhance에서 도메인 ID를 조회합니다.
  3. DELETE 요청이 /servers/{server_id}/domains/{domain_id}에 전송됩니다.
  4. Enhance는 도메인을 서버 구성에서 제거합니다.

DNS 및 SSL 확인

Ultimate Multisite는 내장 DNS 및 SSL 확인 기능을 포함합니다:

  • Domain Mapping Settings에서 확인 간격을 구성할 수 있습니다(기본값: 300초/5분).
  • 시스템은 도메인을 활성화하기 전에 DNS 전파를 확인합니다.
  • SSL 인증서 유효성이 자동으로 확인됩니다.
  • Enhance는 SSL 프로비저닝을 자동으로 처리하므로 수동 SSL 구성이 필요 없습니다.

설정 확인

연결 테스트

  1. 통합 마법사에서 Test Connection 단계를 사용합니다.
  2. 플러그인은 서버의 도메인 목록을 가져오려고 시도합니다.
  3. 성공 메시지가 다음을 확인합니다:
    • API 자격 증명이 올바릅니다.
    • API URL에 접근할 수 있습니다.
    • 서버 ID가 유효합니다.
    • 권한이 올바르게 설정되었습니다.

도메인 매핑 후

  1. Ultimate Multisite에서 테스트 도메인을 매핑합니다.
  2. Ultimate Multisite 로그(Ultimate Multisite > Logs > integration-enhance)를 확인합니다.
  3. Enhance Control Panel에서 도메인이 추가되었는지 확인합니다:
    • Servers > Your Server > Domains로 이동합니다.
    • 새 도메인이 목록에 표시됩니다.
  4. DNS 전파가 완료되면 SSL이 자동으로 프로비저닝되는지 확인합니다.

문제 해결

API 연결 문제

오류: "Failed to connect to Enhance API"

  • WU_ENHANCE_API_URL/api/가 끝에 포함되어 있는지 확인합니다.
  • HTTPS를 사용하고 HTTP가 아닌지 확인합니다.
  • Enhance 패널이 WordPress 서버에서 접근 가능한지 확인합니다.
  • 방화벽 규칙이 연결을 차단하지 않는지 확인합니다.

오류: "Enhance API Token not found"

  • WU_ENHANCE_API_TOKENwp-config.php에 정의되어 있는지 확인합니다.
  • 토큰이 Enhance에서 삭제되거나 만료되지 않았는지 확인합니다.
  • 토큰 값에 오타가 없는지 확인합니다.

오류: "Server ID is not configured"

  • WU_ENHANCE_SERVER_IDwp-config.php에 정의되어 있는지 확인합니다.
  • 서버 ID가 유효한 UUID 형식인지 확인합니다.
  • 서버가 Enhance 패널에 존재하는지 확인합니다.

도메인이 추가되지 않음

로그를 확인하세요:

  1. Ultimate Multisite > Logs로 이동합니다.
  2. integration-enhance로 필터링합니다.
  3. 문제를 나타내는 오류 메시지를 찾습니다.

일반적인 원인:

  • 도메인 이름 형식이 잘못되었습니다.
  • 도메인이 Enhance에 이미 존재합니다.
  • API 권한이 부족합니다(토큰에 System Administrator 역할이 있는지 확인).
  • 서버 ID가 Enhance의 실제 서버와 일치하지 않습니다.

SSL 인증서 문제

SSL이 프로비저닝되지 않음:

  • DNS가 서버 IP 주소를 가리키는지 확인합니다.
  • 도메인이 올바르게 해결되는지 확인합니다: nslookup yourdomain.com
  • Enhance는 SSL을 프로비저닝하기 전에 DNS가 해결되어야 합니다.
  • SSL 프로비저닝은 DNS 전파 후 5-10분이 걸립니다.
  • Enhance Control Panel 로그에서 SSL 관련 오류를 확인합니다.

Enhance에서 수동 SSL 문제 해결:

  1. Servers > Your Server > Domains로 이동합니다.
  2. 도메인을 찾아 SSL 상태를 확인합니다.
  3. 필요하면 수동으로 SSL 프로비저닝을 트리거할 수 있습니다.

DNS 확인 간격

도메인 또는 SSL 인증서가 활성화되는 데 시간이 오래 걸리는 경우:

  1. Ultimate Multisite > Settings > Domain Mapping으로 이동합니다.
  2. DNS Check Interval 설정을 찾습니다.
  3. 기본값 300초에서 더 낮은 값(최소 10초)으로 조정합니다.
  4. 참고: 낮은 간격은 더 자주 확인하지만 서버 부하가 증가합니다.

인증 오류

HTTP 401/403 오류:

  • Enhance에서 API 토큰을 재생성합니다.
  • 토큰에 System Administrator 역할이 있는지 확인합니다.
  • 토큰이 만료되지 않았는지 확인합니다.
  • 올바른 조직 ID를 사용하고 있는지 확인합니다(일반적으로 URL에 필요하지 않음).

로그 분석

자세한 로깅을 활성화합니다:

// Add to wp-config.php for enhanced debugging
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

그런 다음 로그를 확인합니다:

  • Ultimate Multisite 로그: Ultimate Multisite > Logs
  • WordPress 디버그 로그: wp-content/debug.log
  • Enhance 패널 로그: Enhance 관리 인터페이스에서 확인 가능

API 참조

인증

모든 API 요청은 Bearer 토큰 인증을 사용합니다:

Authorization: Bearer YOUR_TOKEN_HERE

일반적으로 사용되는 엔드포인트

서버 목록:

GET /servers

서버의 도메인 목록:

GET /servers/{server_id}/domains

도메인 추가:

POST /servers/{server_id}/domains
Body: {"domain": "example.com"}

도메인 삭제:

DELETE /servers/{server_id}/domains/{domain_id}

전체 API 문서

완전한 API 문서: https://apidocs.enhance.com

모범 사례

보안

  • API 토큰을 버전 관리에 커밋하지 마세요
  • wp-config.php에 토큰을 저장하고 Git에서 제외하세요
  • 적절한 권한(전체 통합을 위해 System Administrator)을 가진 토큰을 사용하세요
  • 프로덕션 환경에서 토큰 만료 날짜를 설정하세요
  • 토큰을 주기적으로 회전하세요

성능

  • 과도한 API 호출을 방지하려면 기본 DNS 확인 간격(300초)을 사용하세요
  • 대규모 도메인 작업을 실행할 때 Enhance 서버 리소스를 모니터링하세요
  • 한 번에 많은 도메인을 매핑하는 경우 도메인 추가를 분산하세요

모니터링

  • 통합 오류를 위해 Ultimate Multisite 로그를 정기적으로 확인하세요
  • 실패한 도메인 추가를 모니터링하도록 설정하세요
  • SSL 인증서가 올바르게 프로비저닝되는지 확인하세요
  • Enhance 서버 용량 및 도메인 한도를 주시하세요

추가 자료

지원

문제가 발생하면:

  1. 위의 문제 해결 섹션을 확인하세요.
  2. Ultimate Multisite 로그를 검토하세요.
  3. GitHub Discussions를 참조하세요.
  4. 패널 관련 문제는 Enhance 지원팀에 문의하세요.
  5. 커뮤니티 지원을 위해 상세 오류 로그와 함께 새 토론을 생성하세요.

참고 사항

  • 이 통합은 도메인 별칭만 처리합니다; Enhance는 SSL을 자동으로 관리합니다
  • 이 통합은 사용자 정의 도메인 매핑과 서브도메인 기반 사이트를 모두 지원합니다
  • 자동 www 서브도메인 생성은 도메인 매핑 설정에서 구성할 수 있습니다
  • Enhance는 현재 Apache 구성을 지원합니다(LiteSpeed Enterprise는 사용 가능)
  • Ultimate Multisite에서 도메인을 제거하면 Enhance에서 도메인이 삭제되지만 관련 SSL 인증서는 즉시 삭제되지 않을 수 있습니다