드루팔 7 멀티 사이트 호스팅 공유

하나 개 이상의 드루팔 사이트를 실행하는 경우, 당신은 관리를 단순화 할 수 있고 멀티 사이트 기능을 사용하여 사이트를 업그레이드 할 수 있습니다. 멀티 사이트가 단일 드루팔 설치를 공유 할 수 있도록 여러 사이트들 (를 포함하여 핵심 코드를 모듈 및 테마 기여).

이것은 각 업그레이드 한 번만 수행해야하기 때문에 코드를 관리에 특히 유용합니다. 각 사이트는 자체 데이터베이스 자체 구성 설정을해야합니다, 그래서 각 사이트는 자신 만의 콘텐츠, 설정, 활성화 모듈 및 활성화 테마를해야합니다. 그러나, 사이트는 코드베이스와 웹 문서 루트를 공유하는, 그래서 여러 명의 관리자와 보안 문제가있을 수 있습니다. (자세한 내용은 아래 섹션 "안전 문제"를 참조하십시오).

드루팔 7 멀티 사이트가 하위 도메인이 아닌 공유 호스팅 또는

프로세스의 개요

다음 단계를 완료해야 공유 드루팔 코드베이스를 사용하여 새 사이트를 만들려면 :

  1. (이미도 설치 절차에 접두사를 정의하여이를 사용할 수있는 기존 데이터베이스가있는 경우) 사이트에 대한 새 데이터베이스를 만듭니다.
  2. 새 사이트의 이름으로 '사이트'디렉토리의 새로운 하위 디렉토리를 만듭니다. 아래를 참조하거나 하위 디렉토리의 이름을하는 방법에 대한 자세한 내용은 default.settings.php 파일의 설명.
  3. default.settings.php 이전 단계에서 만든 하위 디렉토리에 / 파일 사이트 / 기본 복사합니다. settings.php하는 새 파일의 이름을 바꿉니다.
  4. 드루팔 8의 경우에만 : 사이트 / sites.php에 파일 사이트 / example.sites.php을 복사 (및 이름 변경)에 의한 멀티 사이트 기능을 활성화합니다. 당신이 사이트 별칭을 필요로하지 않는 파일을 편집 할 필요가 없습니다. 정상적인 사이트 선택 규칙이 적용됩니다.
  5. 새 사이트 디렉토리의 사용 권한을 조정하고 구성 파일 (settings.php)에 대한 쓰기 권한을 부여합니다.
  6. 당신이 그런 subd.example.com 같은 하위 디렉토리와 같은 하위 도메인 example.com/subdir로하지를 사용하는 경우 당신은 아마 각 사이트에 대한 심볼릭 링크를 만들어야합니다. 자세한 내용은 아래의 하위 디렉토리 멀티 사이트 섹션을 참조하십시오.
  7. 웹 브라우저에서 새 사이트의 URL로 이동 (당신이 무한 리디렉션 루프를 얻을 경우 파일 install.php 파일은 문서 루트를 존재하는 경우, 확인) 표준 드루팔 설치 절차를 계속합니다.

또한 드루팔 아파치의 설정을 재정의 할 수 있도록 웹 서버의 구성 파일 (아파치 종종 이름을 httpd.conf)을 수정해야 할 수도 있습니다. 이 드루팔의 모든 설치에 대한 사실과 멀티 사이트 설치를 특정하지 않습니다. 추가 정보는 모범 사례에서 볼 수 있습니다 : 설치 안내서의 공유 환경 섹션에 드루팔 아파치와 PHP를 구성.

드루팔 7 멀티 사이트는 필요에가 없습니다 공유 호스팅

프로세스의 세부 사항

도메인, URL 및 사이트 하위 디렉토리 이름

사이트 디렉토리의 새 하위 사이트의 URL로 구성되는 이름이 있습니다. 예를 들어, www.example.com에 대한 구성은 사이트에 / example.com / settings.php 될 것이다. 당신은 디렉토리 이름의 일부로 'www'를 포함 할 필요가 없습니다.

드루팔은 example.com의 모든 하위 도메인에 대해 동일한 사이트 / example.com 디렉토리를 사용합니다. 하위 사이트의 하위 디렉토리를 일치 대안이 없다면, www가 포함된다. 예를 들어, URL의 sub.example.com는 sub.example.com / 사이트에서 제공 될 것입니다. 존재하는 경우.

같은 example.com/subdir 같은 하위 디렉토리 URL하십시오. 사이트 / example.com.subdir을 - 그리고 작업 디렉토리 멀티 사이트를 얻기에 아래 섹션을 읽어 다음과 같이 사이트의 하위 디렉토리 이름을 지정합니다.

비표준 포트에서 설치하는 경우, 포트 번호는 하위 도메인의 첫 번째 부분으로 처리됩니다. 예를 들어, www.example.com:8080는 8080.example.com / 사이트에서로드 할 수 있습니다. 이 디렉토리가 존재하지 않는 경우, 드루팔은 다음 사이트 / example.com 보일 것이다. 다만 실제 하위 도메인있다.

사이트 별 모듈 및 테마

각 사이트 구성은 표준 '모듈'과 '테마'디렉토리에 설치하는 외에 자신의 사이트 별 모듈과 테마를 가질 수 있습니다. 사이트 별 모듈 또는 테마를 사용하려면 사이트 구성 디렉토리 내에서 '모듈'또는 '테마'디렉토리를 만들 수 있습니다. sub.example.com 사용자 정의 테마 및 다른 사이트에 액세스 할 수 없도록 사용자 정의 모듈이있는 경우 예를 들어, 설정은 다음과 같이 보일 것이다 :

문서 루트

자주 혼란 한 지역은 드루팔 멀티 사이트 설치시 웹 서버의 문서 루트가 모든 사이트에 대해 같은 것입니다. 다음과 같은 세 가지 사이트와 예 : example.com, sub.example.com 및 example.com/site3가 하나의 드루팔 디렉토리되며 모든 사이트는 동일한의 index.php 파일을 호출됩니다.

일부 웹 호스트는 자동으로 새 도메인 또는 하위 도메인을 생성 (예 : example.com) 새로운 디렉토리를 생성합니다. 이 경우에는 주요 드루팔 디렉토리에 심볼릭 링크로 만들, 또는 더 나은 아직 도메인 또는 하위 도메인을 만들 때, 당신은 드루팔 설치 한 사이트와 동일한 문서 루트를 사용하도록 설정해야합니다.

하위 디렉토리 멀티 사이트

당신이 하위 디렉토리의 URL이 아닌 하위 도메인 또는 다른 도메인의 URL을 사용하여 작업 드루팔 멀티 사이트를 얻기 위해 시도하는 경우 문제가 발생할 수 있습니다. 당신은 이러한 사이트 / example.com.subdir와 같은 디렉토리를 제작하여 시작합니다. 저기 settings.php 파일을 넣어. 이 당신을 위해 작동하는 경우, 좋은! 그러나 그것은 아마하지 않습니다.

로컬 워크 스테이션에 대한 로컬 호스트 별칭

많은 시스템은 로컬 워크 스테이션의 로컬 호스트 이름에 대한 별칭을 만들려면 "호스트"파일에 항목을 만들 수 있습니다. 로컬 호스트 별명을 작성하여 로컬 컴퓨터 모두 같은 localdev1.example.com localdev2.example.com와 같은 이름을 생성 할 수있다.

로컬 웹 루트의 서브 디렉토리를 사용하는 반면에 경우이 같은 심볼릭 링크를 만듭니다

귀하의 사이트 폴더 localhost.subdir 이름을 지정합니다.

도메인 이름 변경

사이트가 사이트 디렉토리 아래에 특정 하위 디렉토리에서 생산되면, 하위 디렉토리는 이름도 웹 사이트 URL 변경되면되어서는 안된다. 에 대한 참조 포함 : (시스템 및 파일 예를 들어) 여러 데이터베이스 테이블이 있기 때문이다 "사이트 / www.mydomain.com을." 대신 사이트 디렉토리의 이름을 변경, 당신은 이전에서 새 URL에 심볼릭 링크를 만들 수 있습니다. 사이트 디렉토리로 이동 한 후 다음 명령을 사용합니다 :
$ LN -s /path/to/drupal/sites/old.domainname.com new.domainname.com

안전 문제

동일한 사람이나 상호 신뢰의 높은 수준의 작은 그룹 중 하나없는 사이트의 모든 관리자가 동일한 코드 기반에서 실행되는 상황에서, 드루팔의 멀티 사이트 구성을 사용하여 재고 할 수 있습니다. 그 이유는 드루팔 사이트에 대한 모든 관리 권한을 가진 사람이 (심지어 사이트에 FTP 접속없이) 다양한 수단을 통해 해당 사이트에 임의의 PHP 코드를 실행할 수 있다는 것입니다, 그 임의의 PHP 코드가 다른 사이트에 영향을 미치는 하나 개의 사이트에서 사용할 수있는, 두 사이트는 같은 HTTP 문서 루트에 있고 같은 드루팔 코드를 공유합니다.

당신이 완전히 당신이, 지식주의, 악성하지 수 같은 드루팔 코드베이스에서 실행 고려하고있는 사이트의 관리자 모두를 신뢰하지 않는 그래서, 당신은 웹 서버의 완전히 분리 된 영역에서 자신의 드루팔 사이트를 설치하는 것을 고려할 수 있습니다 즉, PHP 스크립트를 통해 서로 영향을 미칠 수 없습니다.

때때로, 드루팔 보안 취약점이 적용됩니다. 드루팔 핵심 코드에 권한이없는 사용자가 액세스 할 수 있도록 버그. 해커가 당신의 핵심 코드에 액세스 할 수있는되면, 그들은 하나의 공격을 통해 모든 멀티 사이트에 액세스 할 수 있습니다. 비 멀티 사이트는 취약점이 확보 될 수 있도록 충분한 시간을 제공 할 수 있습니다 별도의 공격을 필요로한다.

때 다중하는 방법

멀티 사이트 설치 수를 사용하거나 말할 수있는 여부에 일반적으로 :

  • 사이트가 동일한 클라이언트위한 그리고 각 사이트의 범위를 단순화하는 경우를 고려한다.
  • 사이트가 기능면에서 유사하다면, 같은 모듈을 사용하거나 같은 드루팔 분포를 사용을 고려한다.
  • 당신이 관리하고 유지하기 위해 자원 / 인력,하지만 사이트를 많이 제한되어 있으면 확실히 그것을 고려한다.
  • 기능 또는 범위가 다른 경우, 다중 사이트를 사용하지 마십시오.
  • 여러 배포판을 관리하는 경우, 멀티 사이트를 사용하지 마십시오.
  • 클라이언트가 다른 경우, 다중 사이트를 사용하지 마십시오.

장단점, 그리고 몇 가지 제안이 사용자 관점의 넓은 관객 설명하는 Drupalcon 오스틴 (2014) 다중의 대화 / 토론 YouTube에서 사용할 수 있습니다.

당신이 당신의 사이트 드루팔 모듈 보안 업데이트에 대한 가능한 한 최대 최신 있고 싶어하지만 다른 기능이있을 때,이는 독립적으로 각 사이트를 테스트하기 위해 더 많은 시간이 걸리기 때문에 할 더 어려운 경우 다중 사이트가 인기입니다. 다중 사이트를 수행하는 경우, 다음 업데이트는 항상 가능한 것은 아니다 모든 사이트에 대해 동시에 실행해야합니다. 이 우려가하거나 접근 방식을 선호 여전히 매우 큰 다중을 가지고 있지만 경우에, 당신은 조금 다르게하지만 같은 이점 멀티 사이트 관리를 취급합니다 drush 플러그인이라고 DSLM을 탐험하는 것이 좋습니다.

서로 다른 기능을 가진 사이트는 일반적으로 각각의 테스트 및 백업 할 필요가 있기 때문에 서로 다른 시간에 업그레이드되고 결국. 사이트 업데이트 및 백업 drush 사용할 수있는 @sites 대상이 멀티 사이트에 명령의 대량 응용 프로그램을 단순화 불구 또는 다중없이 drush으로 자동화 할 수 있습니다.

권장 다중 구성 세부 사항

이러한 하드 및 빠른 규칙은 아니지만 확실히 다중와 구석에 자신을 그림에서 당신을 방지 할 수 있습니다.

배포 / 사이트 업그레이드를 관리 할 수 ​​Drush를 사용하여

Drush은 드루팔 사이트에 대한 스크립트 명령을 위해 할 수있는 강력한 CLI입니다. 멀티 사이트와 결합하면, 그들은 규모의 관리가 훨씬 쉬워집니다. Drush 별칭 (사이트의 그룹을 참조 할 수 / 단일 명령 대상이) 중요 성공적으로 대형 멀티 사이트 구축을 관리 할 수 ​​있습니다. 예를 들어, 많은 교육 기관이 잘 1000-100 이상의 사이트가 하나의 다중 사이트를 실행하는 멀티 사이트를 실행합니다.

사이트를 관리 할 수 ​​sites.php 사용

기반 대신 주소의 다중 사이트에 사이트를 참조 할 포함 된 사이트 / sites.php (드루팔 7.x의) 또는 사이트 / sites.example.php (드루팔 8.x.x)를 사용합니다. 이보다 쉽게 ​​배포 (예. dev에, 무대, 찌르다) 사이에서 마이그레이션 할 수 있습니다. 전통적인 다중 사이트 구성은 사이트 / my.new.domain.address / settings.php 같은 디렉터리를 만들 수있을 것입니다하지만 당신은 작동하려면 폴더 이름으로 도메인을 사용할 필요가 없습니다. sites.php에서는 'my.new.domain.address'=> '프로젝트 / 버전 1'와 같은 참조를 만들 수 있습니다. 이렇게함으로써, 당신은 가능한 한 많은 our.dev.address 같이 DEV에 sites.php 매핑을 사용할 수 있도록 아직도 그것의 대상으로 버전 1 / 프로젝트를 가리있다.

관련 기사

멀티 사이트 드루팔 호스팅하나 개 이상의 드루팔 사이트를 실행하는 경우, 당신은 관리를 단순화 할 수 있고 멀티 사이트 기능을 사용하여 사이트를 업그레이드 할 수 있습니다. 멀티 사이트는 하나의 드루팔을 공유 할 수 있습니다 ...
사이트의 모든 모듈 드루팔 호스팅시스템 관리자 나 개발자가 다중 사이트 구성에서 동일한 서버에 여러 사이트를 호스트하기 위해 선택할 수 많은 이유가있다. 예를 들어, 이러한 구성은 수 ...
멀티 사이트 드루팔 호스팅하나 개 이상의 드루팔 사이트를 실행하는 경우, 당신은 관리를 단순화 할 수 있고 멀티 사이트 기능을 사용하여 사이트를 업그레이드 할 수 있습니다. 멀티 사이트는 하나의 드루팔을 공유 할 수 있습니다 ...
호스팅 여러 사이트 드루팔 모듈하나 개 이상의 드루팔 사이트를 실행하는 경우, 당신은 관리를 단순화 할 수 있고 멀티 사이트 기능을 사용하여 사이트를 업그레이드 할 수 있습니다. 멀티 사이트는 하나의 드루팔을 공유 할 수 있습니다 ...
워드 프레스 대 드루팔 여러 사이트 호스팅하나 개 이상의 드루팔 사이트를 실행하는 경우, 당신은 관리를 단순화 할 수 있고 멀티 사이트 기능을 사용하여 사이트를 업그레이드 할 수 있습니다. 멀티 사이트는 하나의 드루팔을 공유 할 수 있습니다 ...