Drupalには、1つのコードベースから個別の独立したサイトを提供できる機能があります。各サイトには、独自のデータベース、設定、ファイル、基本ドメインまたはURLがあります。このドキュメントが拡張されるまで、Drupal 7用の対応するドキュメントを確認してください。
Drupal 8サイトを作成してサーバーにホストしたい場合
または
リモートサーバーでDrupal 8サイトを設定し、ローカルで作業したい場合
Drupal 8の違い
Drupal 7以前は、これはかなり単純なプロセスでした。すべてのファイルをコピーし、データベースをコピーすれば完了です。
Drupal 8では、CMI(設定管理)が登場し、それに対処する必要があります。
サイトを同期する方法
ローカルからサーバーへ、またはその逆方向にサイトをミラーリングする場合、プロセスは同じです。説明を簡単にするために、ローカルからリモートサーバーへのデプロイメントについて説明します。
1. 使用しているローカルのWamp、Xamp、Mamp、またはその他のウェブサーバーにサイトをインストールします。
2. drupalディレクトリからサーバーへすべてのファイルを移動します。これは、バージョン管理(Git、SVNなど)またはFTPを使用して行うことができます。
3. sites/default内の「settings.php」ファイルはコピーしないでください。
デフォルトでは、Drupalは設定管理情報をデータベースに保存することに注意してください。ファイルシステムベースのワークフローを機能させるには、settings.phpファイルとservices.ymlファイルを変更する必要があります。
これはDrupalのインストール前に実行する必要があります。ファイルシステムに切り替えた後、データベースベースの設定管理設定に戻るのは難しいためです。サイトのインストール後にファイルで設定を有効にする必要がある場合は、ファイル設定を有効にする前に、まず設定をエクスポートしてアクティブな設定フォルダーにコピーを保存する必要があります。
注記:アクティブディレクトリとステージングディレクトリは異なる必要があります(以下の設定に従って)。ファイルベースのワークフローでは、設定のインポート手順がまだ必要です。このイシューを参照してください - ファイルシステムベースのワークフローは、設定のインポート手順なしではモジュールを正しくインストール/アンインストールしません。
デフォルトでは、Drupalは設定同期ディレクトリをサイトのファイルディレクトリに配置し、ディレクトリ名の一部としてハッシュを使用します。つまり、sites/default/files/config_HASHのようになります。
HASHはかなり長いランダムな文字列です。これにより、インターネット経由での設定へのアクセスが難しくなります(不可能ではありません)。同期ディレクトリの場所は、インストール後に変更できます。
本番サイトでは、アカウントに権限がある場合は、設定同期ディレクトリをサイトルートの完全に外側に移動することをお勧めします。同期ディレクトリはバージョン管理下にある必要があるため、バージョン管理リポジトリのルートディレクトリはサイトルートの1つ上のレベルにある必要があることを意味します。
ローカル開発サイトでは、設定ファイルへのアクセスを容易にするために、ディレクトリをsites/default/sync.のような場所に移動したい場合があります。
このページでは、Drushの使用に慣れており、最新バージョンを持っていることを前提としています。
次の例では、開発サイトから本番サイトに変更をエクスポートする方法を示します。逆も可能です。
1. Drupal 8をインストールします。このサイトを「Live」と呼びます。
2. このサイトのコピーを作成します(これを「Development」と呼びます)。Liveサイトと同じソースコード、ファイルディレクトリ、およびDevelopmentにインポートされたデータベースダンプを使用してコピーを作成します。Drupal 7では、データベースダンプとアップロードされたファイルだけで済みましたが、Drupal 8では、設定ファイルやPHPを含むファイルディレクトリの他の部分も重要です。サイトの完全なコピーを作成してください。
完了後、既存の設定から新しいサイトをインストールできるようになるため、サイトのコピーは、エクスポートされた設定で新しいサイトをインストールするのと同じくらい簡単になります。この問題が解決されるまでは、サイトの完全なコピーが必要です。
ここでは、サイト名をある環境で設定し、別の環境にデプロイする方法を示す簡単な例を示します。この例では、tar.gz設定ファイルを手動でアップロードおよびダウンロードしますが、サイトの同期ディレクトリをバージョン管理下に置き、そのように同期することも可能です。
1. Drupal 8をインストールします。このサイトを「Production」と呼びます。
Drupalは、有効なモジュールのリストからコンテンツタイプ、タクソノミーのボキャブラリ、フィールド、ビューまで、サイトの設定データを一貫した方法で保存します。
稼働中のサイトで設定を直接変更することはお勧めできません。システムは、現在の設定を簡単に使用し、変更をローカルでテストし、ファイルにエクスポートして本番環境にデプロイできるように設計されています。サイトの設定はコードベースの一部として保存し、バージョン管理と統合できます。
デフォルトでは、「アクティブ」な設定はデータベース(「config」テーブル)に保存されます。これはパフォーマンスとセキュリティの理由によるものです。これは現時点でのサイト全体の完全な設定です。設定は、Drushおよび/またはDrupal ConsoleまたはConfiguration Managerの設定コマンドを使用して、YAMLファイルとして、完全に、または設定の単一のチャンクとしてエクスポートおよびインポートできます。(詳細は以下を参照してください。)
Drupalでは、設定とは、サイトのコンテンツではなく、サイトがどのように機能するかを決定する管理者設定のセットです。
設定には通常、サイト名、コンテンツタイプとフィールド、タクソノミーのボキャブラリ、ビューなどが含まれます。
プレーンテキストまたは文字列フィールドには、コアに1つのフィールドフォーマッターがあります:デフォルト。これは、変更されていない文字列を表示するだけで、オプションで親エンティティにリンクされます。
以下は、テキストフィールド用の追加のフィールドフォーマッターを提供する追加モジュールのリストです。
Drupal 8には、テキストフィールド用の3つのフォーマッターが付属しています:Default、Trimmed、Summary or Trimmed。
以下のモジュールは、テキストフィールド用の追加のField Formatterプラグインを提供します。