web-dev-qa-db-ja.com

'drush site-install'を使用して、単一のコマンドで個別のデータベースを持つマルチサイトをインストールするにはどうすればよいですか?

私は定期的にdrush site-installをインストールするDrupalコマンドラインから8サイト。それはうまくいきます。

現在、Drupal 8マルチサイトの構築に取り組んでいます。サイトごとに個別のデータベースがあります。

できる drush siコマンドラインからマルチサイトをインストールするために使用されますか? Drupal8のsites.phpを使用していますか?

私は drushのみを使用してマルチサイト構成をインストールする必要があるステップ、つまり異なるデータベースを持つマルチサイトインストール を見ましたが、実際にそこで何が行われているかはわかりません。

私はそれができるはずだと考えましたが、マルチサイトのHowToドキュメントが見つかりません。

2
gilmarks

あなたが提供したリンクで、@ greg_1_andersonが--sites-subdirを使用して言及しました。このオプションは、<DRUPAL_ROOT>/sites/の下にサイトフォルダを作成するために使用されます。

たとえば、drush si --sites-subdir=example1.comを実行すると、<DRUPAL_ROOT>/sites/の下にexample1.comフォルダーが作成され、settings.phpもこのフォルダーに生成されます。データベース構成が含まれています。

マルチサイト構造であるため、同じデータベースを共有したくない場合があります。 --db-urlでデータベース情報を指定する必要があります。

例えば:

  • DB:MySQL
  • rootユーザー名:ユーザー名
  • rootパスワード:パスワード
  • ホスト:localhost
  • テーブル名:example

上記の情報は--db-url=mysql://username:password@localhost/exampleで指定できます。

マルチサイト構成でより多くのサイトを設定することを含むより複雑な例は次のとおりです。

drush si --sites-subdir=example1.com --url=mysql://username:password@localhost/example1
drush si --sites-subdir=example2.com --url=mysql://username:password@localhost/example2

さらに、サイトごとに異なるデータベース資格情報が必要な場合は、別々のユーザー名とパスワードを同時に動的に作成できます。

drush si --sites-subdir=example1.com --url=mysql://user1:newpassword1@localhost/example1 --db-su=username --db-su-pw=password
drush si --sites-subdir=example2.com --url=mysql://user2@newpassword2@localhost/example2 --db-su=username --db-su-pw=password
4
Jimmy Ko