멀티사이트 설치.
DXPR Builder는 Drupal 멀티사이트 설치에서도 별도 서버와 같은 방식으로 실행됩니다. 모듈 코드 사본 하나, 사이트마다 데이터베이스 하나, 모든 사이트가 공유하는 제품 키 하나입니다. 이 페이지에서는 공유 항목, 사이트별 항목, 설정법을 다룹니다.
사이트 간 라이선싱
하나의 제품 키가 모든 사이트에 적용됩니다. 라이선스는 사이트별이 아니라 편집자별이며, 개수는 DXPR 라이선스 서버가 관리합니다.
- 각 사이트는 호스트 이름과 편집자(
edit with dxpr builder권한이 있고 제외되지 않은 계정, 사용자 1 포함)를 라이선스 서버(src/Service/DxprBuilderLicenseService.php)에 보냅니다. 유효한 이메일 주소가 없는 계정은 보내지 않습니다. - 서버는 이메일 주소마다 해당 주소가 편집한 도메인 목록과 함께 기록 하나를 유지합니다. 동일한 이메일 주소로 세 사이트에서 편집하는 사람은 한 명으로 계산됩니다.
- 각 사이트는 서버에서 공유 편집자 목록을 가져와 상태 보고서와 User Licenses 페이지에 합계를 보고합니다. 목록은 24시간 캐시됩니다.
편집자 계산 및 해제 방법은 Multi-site licensing을 참조합니다.
공유 항목과 사이트별 항목
코드베이스를 통해 공유됩니다.
- 다음에 있는 모듈과 서브모듈입니다.
modules/contrib/dxpr_builder의 모듈과 서브모듈입니다. - 에디터 JavaScript입니다. Asset source를 Cloud로 설정하면(기본값) 모든 사이트가 DXPR CDN에서 동일한 릴리스를 로드합니다. 모듈 디렉터리에 로컬 빌드가 있으면 모든 사이트가 대신 해당 파일을 로드합니다.
- 모듈과 테마가 선언한 아이콘 세트와 유틸리티 클래스(
*.dxpr_icon_sets.yml,dxpr_builder_classes는 테마의.info.yml에)입니다. 테마 클래스는 해당 테마가 활성화된 사이트에만 표시됩니다.
해당 사이트의 데이터베이스와 구성에 있으므로 사이트별입니다.
dxpr_builder.settings: 제품 키 또는 이를 보관하는 Key 엔터티, Custom styles, Sideload Bootstrap files, 미디어용 Browser type, 텍스트 필터 및 에디터 애셋 설정.- Key 엔터티 자체(
key.key.*)로, 제품 키를 Key 모듈과 함께 저장할 때 사용합니다. - AI 설정(DXPR Studio > DXPR Builder > AI)으로, 활성화된 모델을 포함합니다.
- 빌더 프로필(
dxpr_builder.dxpr_builder_profile.*), 페이지 템플릿(dxpr_builder.page_template.*), 사용자 템플릿(dxpr_builder.user_template.*). - 각 사이트 파일 디렉터리에 업로드된 이미지(
dxpr_builder_images,dxpr_builder_videos,dxpr_builder_files).
Bootstrap 설정에는 값이 두 개 있습니다. None (theme provides Bootstrap)과 Bootstrap 5입니다. 해당 사이트가 쓰는 테마에 따라 사이트별로 선택합니다.
멀티사이트에 새 사이트 설정하기
-
다른 Drupal 멀티사이트 사이트와 마찬가지로 사이트의
sites/<name>/settings.php와 데이터베이스를 만듭니다. -
해당 사이트에서 모듈을 활성화합니다.
drush --uri=https://<site-host> en dxpr_builder -y -
다음 경로로 이동합니다. 해당 사이트에서 DXPR Studio > DXPR Builder > General Settings (
/admin/dxpr_studio/dxpr_builder/settings)로 이동합니다. License 섹션에서 다른 사이트에서 쓰는 동일한 제품 키를 붙여넣거나 이를 보관하는 이 사이트의 Key를 선택합니다. -
다음을 사이트 테마에 맞게 설정합니다. Sideload Bootstrap files를 사이트 테마에 맞게 설정합니다.
-
사이트의 빌더 프로필을 만들고, 필요하면 아래 설명대로 템플릿을 가져옵니다.
사이트 간 템플릿 공유하기
페이지 템플릿과 사용자 템플릿은 구성 엔터티이므로 구성 내보내기 및 가져오기로 옮길 수 있습니다.
-
원본 사이트의 구성을 내보냅니다.
drush --uri=https://<source-host> config:export -
다음 파일을 대상 사이트의 구성 동기화 디렉터리에 복사합니다.
dxpr_builder.page_template.*.yml와dxpr_builder.user_template.*.yml파일을 대상 사이트의 구성 동기화 디렉터리에 복사합니다. -
대상 사이트에서 가져옵니다.
drush --uri=https://<target-host> config:import --partial
사용자 템플릿에는 uid가 있습니다. 내보낸 파일은 원본 사이트의 소유자 사용자 ID를 참조하므로 가져온 뒤 소유자를 확인합니다.
다음 단계
- Multi-site licensing에서 편집자 계산 및 라이선스 해제를 확인합니다.
- Importing and exporting templates에서 관리 인터페이스로 개별 템플릿을 옮깁니다.