Drupal 7のマルチサイトを作成したい:すべてのサイトは個別に機能しますが、ユーザーとノードはサイト間で共有する必要があります。
どうすれば達成できますか?
Drupalサイトで使用されるsettings.phpファイルに含まれているデータベースへのアクセスの設定を次のようなものに変更できます(括弧内の値を正しいサイトの値):
$databases['default']['default'] = array(
'driver' => '[Your database engine]',
'database' => '[Your database name]',
'username' => '[Your username for the access to the database engine]',
'password' => '[The password for the access to the database]',
'Host' => 'localhost',
'prefix' => array(
'default' => 'main_',
'users' => 'shared_',
'sessions' => 'shared_',
'role' => 'shared_',
'authmap' => 'shared_',
),
'collation' => 'utf8_general_ci',
);
異なるドメイン間でユーザーとコンテンツを共有するのが Domain Access モジュールの目的です。基本的に、同じデータベースから複数のDrupal=サイトを実行し、コンテンツを共有することができます。
モジュールをインストール、有効化、構成すると、ノード編集ページに新しいタブが表示され、特定のドメインをノードのターゲットにすることができます。また、ctools選択ルールを使用するビュー、パネル、およびその他のモジュールともうまく機能します。
このソリューションは、コアおよびcontribファイルの共通セットである真のマルチサイトとは異なりますが、サイトごとにデータベースは異なります。
これは少し複雑ですが、ユーザーと複数のデータベースを共有するマルチサイト環境を作成できます。ユーザーとノードを共有する個別のデータベースが必要な場合は、非常に複雑になると思います。長所と短所を使用したさまざまなセットアップの詳細については、 このドキュメント を参照してください。