いつマルチサイトセットアップを使用する必要がありますか?


13

私は互いに関係のない4つのDrupalサイトを持っていますが、それらはすべてDrupal上で実行され、すべて私が管理しています。

各サイトに必要なモジュールは異なりますが、おそらくいくつかの小さなサブセットのモジュールを共有しています。

この状況は、マルチサイト構成の使用に適していますか?

5番目のサイトを追加する場合はどうなりますか?新しいものをアップロードするにはどうすればよいですか?

回答:


11

マルチサイトのセットアップは、同じコードベースに依存しているため、少し注意が必要です。このシナリオではマルチサイト設定を使用できますが、でモジュールをアップグレードするとsites/all/modules、すべてのサイトに影響することに注意してください(でオーバーライドされない限りsites/$SITENAME/modules)。

これは、サイトの1つがモジュールのNバージョンに依存しているが、別のサイトでN + 1を使用したいという潜在的な問題につながります。問題のモジュールにはアップグレードパスがないか、バージョン間で機能が大幅に変更されている可能性があります(メジャーバージョンに対するDrupalの文化を考えると、想像するほど珍しいことではありません)。

さらに、モジュールのアップグレード中に重要なデータベースの変更が必要な場合は、を実行するために複数のサイトを同時に停止する必要があることがわかりますupdate.php

そのため、ほとんどのユースケースでは、マルチサイトは使用できません。本当にスペースに縛られているか、各サイトのドメインを個別のフォルダーにマッピングできないような奇妙なホスティング制限がある場合を除き、個別のコードベースを維持し、Drushやバージョン管理などのツールを使用してコードを高速化することをお勧めします展開。

制限のあるホストの回避策として使用する以外の、マルチサイトの典型的な使用例は、非常に類似した大量のサイトを展開する場合です。あなたはホスティングサービスを実行しているかもしれませんし、会社のためにたくさんのマイクロサイトを構築しているかもしれません。そのような場合、独自のマルチサイトセットアップをロールできますが、Aegirの使用も検討する必要があります。

マルチサイトのセットアップに新しいサイトを追加する非常に簡単です:の下に新しいフォルダを作成しsites、編集sites/sites.php(Drupalの7のみ)、コピーsites/default/default.settings.phpsettings.php、新しいフォルダに、ブラウザでサイトを参照してください。Drupalはインストールプロセスを開始し、新しいフォルダーを使用する必要があります。新しいサイトはsites/all/modules、既存のサイトと同じように、すべてのモジュールにアクセスできます。


それはいいね。これは、実際には、シンボリックリンクとモジュールフォルダーに関する他の質問に関連しています。開発環境で新しいテストサイトを開始するたびに同じルーチンを繰り返さなければならないことにうんざりしています。また、モジュール(特にカスタムモジュール)を複数のプロジェクトにコピーするのもかなりうんざりしています(更新が複雑です)。少なくとも開発中は、マルチサイトアプローチを使用できると思います。
サメドール

Drupalの開発に使用する@sameoldは、サブモジュールとして使用する必要のあるモジュールを含むgitリポジトリです。その後、実行git clone git@my.repository.com:/base.git newsiteするだけでクリーンな環境が得られます。

4
別の方法は、基本的なセットアップ用のdrush make fileです。もう1つの小さな注意点として、sites / sites.phpの編集はオプションであり、D6のようにデフォルトのルックアップが機能しない場合にのみ必要です(たとえば、1つのサイトに複数のドメインを持つマルチサイト)。
ベルディール

2

関連するコンテンツを提供しているが、異なる視聴者向けのマルチサイトを使用します。

たとえば、複数のブランドをサポートするイントラネットに使用します。これにより、コンテンツ/ユーザーを共有するオプションを使用して、各ブランドを個別に管理できます(重複を減らすための時間を大幅に節約できます)。

また、独自のインターフェイス(メニュー/ブロック/テーマ)を使用すると、さまざまな部門が最も重要なものに簡単にアクセスできるようになります。

ユーザーがデフォルトサイト、サブドメインごとに異なるサイトを設定できるようにするため(たとえば、marketing.intranet.localまたはengineering.intranet.localなど)、サイト間の検索、アクセス制御など、ドメインアクセスを使用して多くの機能を利用できます。。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.