Ubuntu前書きAnsibleは、システム管理者がインフラストラクチャ管理アクティビティを自動化するために使用する構成管理ツールです。AnsibleはSSHのみを使用してリモートでコマンドを実行するため、リモートサーバーにエージェントは必要ありません。これにより、管理対象サーバーにエージェントをインストールしたくない場合、PuppetやChefなどの他の一般的なツールよりもAnsibleの方が適しています。Language)を使用するため、Ansibleを使い始めるのがはるかに簡単です。Drupalは、インストールに時間がかかりますが自動化が簡単な人気のあるCMSです。Playbookを作成します。各サーバー上のhttps://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-an-ubuntu-14-04-vps[sudo]ユーザー。Drupalをインストールするサーバーごとに*同じユーザー名*と*同じパスワード*を使用する必要がありますDrupalインストールの仕組みの基本的な理解。14.04にDrupalをインストールする方法を参照できます。`が使用するデフォルトのリポジトリでは利用できません。ppa:rquillo/ansibleプロンプトが表示されたらEnterキーを押します。パッケージリストを更新します。updateAnsibleをインストールします。ansibleステップ2-プレイブックのディレクトリを作成するAnsibleの命令セットは、プレイブックと呼ばれます。すべてのプレイブックを単一のディレクトリに保存することをお勧めします。*という名前のディレクトリを作成します。」という名前を付けましょう。+`という名前の新しいディレクトリを作成します。+」ファイルがあります。*にインストールします。このファイルにサーバーを自由に追加できます。追加するサーバーはすべて、SSH経由でアクセスできる必要があることに注意してください。+`という名前のファイルを作成および編集します。~/MyPlaybooks/drupal_setup/hosts次のコンテンツを用意します。[drupal_hosts]localhost2台目のサーバーのIPアドレスに置き換える必要があります。ここには、必要な数だけIPアドレスをリストできます。14.04サーバーにDrupalをインストールできます。+`ファイルは、今後このプレイブックを再利用してDrupalサーバーをさらに構成する場合に更新する必要があるファイルです。プレイブックを再実行する前に、リストから構成済みのサーバーを削除し、新しいサーバーIPを追加する必要があることに注意してください。_ファイルを保存して閉じます。updateのロールを作成するPlaybookのすべてのロールを保存する新しいディレクトリを作成します。`のディレクトリを作成します。~/MyPlaybooks/drupal_setup/roles/update各役割には1つ以上のタスクがあります。+」という名前のディレクトリを作成します。これは、Ansibleにこのロールを実行するときに何をすべきかを伝えるファイルです。+`モジュールを使用してシステムを更新します。update_cache=yesファイルに余分な空白がないことを確認してください。Ansibleはこれについてうるさいです。ファイルを保存して閉じます。*のディレクトリを作成します。~/MyPlaybooks/drupal_setup/roles/php/tasksDrupalには、PHPを使用するように構成されたWebサーバーが必要です。このチュートリアルでは、Apacheを使用します。PHPをインストールすると、Apacheが自動的にインストールされるため、追加のコマンドは必要ありません。+`を作成および編集します。GDライブラリをインストールします。ファイルに次を追加します。GDライブラリをインストールした後、Apacheを再起動する必要があります。したがって、このロールにはハンドラーも必要です。ロールのすべてのハンドラーは、個別のディレクトリに保存されます。+`という名前のディレクトリを作成します。+`ファイルを作成および編集します。~/MyPlaybooks/drupal_setup/roles/php/handlers/main.yml次のコードを追加してください。state=restartedPHPとApacheのセットアップが完了しました。ステップ6-MySQLをセットアップするロールを作成するDrupalには、設定とコンテンツを保存するデータベースが必要です。このチュートリアルでは、MySQLを使用します。この役割とそのタスクのディレクトリを作成します。~/MyPlaybooks/drupal_setup/roles/mysql/tasksこのロールの最初のタスクは、MySQLとその依存関係をインストールします。+`という名前のファイルを作成および編集します。+`モジュールを再度使用してインストールするように指示します。mysql-serverlibapache2-mod-auth-mysqlphp5-mysqlそのため、ファイルに次を追加します。state=latestこのロールには、もう1つのタスクファイルがあります。Drupalは独自のMySQLデータベースとデータベースユーザーを必要とするため、個別のタスクファイルを作成してそれらを作成します。+`という名前のファイルを作成および編集します。~/MyPlaybooks/drupal_setup/roles/mysql/tasks/create_db.ymlAnsibleには、MySQLを管理できるモジュールがあります。このタスクでは、次のモジュールを使用します。+-Drupal用の新しいデータベースを作成します。+`新しいユーザーを作成し、データベースへのアクセスを許可します。`パッケージがリモートホストにインストールされていることを確認する必要があります。+`モジュールを使用してインストールします。ファイルに次の内容を追加します。{}}で囲まれた文字列は変数を示すことに注意してください。これらの変数の値は後のステップで設定します。次に、このロールには2つのタスクがあることをAnsibleに知らせる必要があります。+`ファイルを作成します。~/MyPlaybooks/drupal_setup/roles/mysql/tasks/main.ymlこのファイルに次のコードを追加します。create_db.ymlステップ7-Drupalをインストールするロールを作成しますそれでは、Drupal自体のインストールに移りましょう。この役割とそのタスクのディレクトリを作成します。+`という名前のタスクファイルを作成および編集します。~/MyPlaybooks/drupal_setup/roles/drupal/tasks/main.ymlこのタスクでは、Ansibleに次のアクションを実行するように指示します。」をインストールします。+`モジュールを使用するために必要です。`のリポジトリからクローンします。files`のパーミッションを更新しますファイルに次のコードを追加します。recurse=yesこれらのファイルのアクセス許可は、各サーバーでブラウザーのインストールを完了した後で(Ansibleではなく各サーバーで)更新する必要があります。ステップ8-すべての役割を使用するファイルを作成するこの時点で、すべての役割の準備ができました。これらを使用する必要があります。+`という名前のファイルを作成します。これは、Ansibleで実際に実行するファイルです。~/MyPlaybooks/drupal_setup/site.ymlこのファイルでは、次のアクティビティを実行します。+`を使用することを指定しますさまざまな役割で使用される変数にデフォルト値を設定しますすべての役割を実行する次のコードを追加してください。」の値を「+」以外の値に変更してください。好みに合わせて、他の2つの変数の値も自由に変更できます。+`ファイルに記載されている各ホストのエントリが必要です。+`ファイルにリストされている各サーバーに1回接続することです。localhostこの方法でサーバーに初めて接続する場合は、次のメッセージが表示されます。+」と言うと、次のメッセージが表示されます。@ユーザー名とIPアドレスを各サーバーの実際の情報に置き換えてください。*を含む各サーバーで同じでなければならないことに注意してください。+`ファイルにコピーできます。_各サーバーに接続すると、プレイブックを実行する準備が整います。ステップ10-プレイブックを実行するこれで、Playbookをテストする準備ができました。`コマンドを使用して起動します。`オプションはAnsibleに強制的にSSHパスワードを要求し、パスワードなしの認証を設定している場合は必要ありません。+`パスワードの入力を強制します。-kKSSHパスワードを入力し、Playbookの実行を待ちます。実行が完了すると、サーバーに新しいDrupalがインストールされます。+`フラグを省略できます。_これは実行に数分かかり、Ansibleは各ステップで何をしているかを表示します。+`ファイルまたはAnsibleから既にセットアップされているサーバーのIPアドレスを削除する必要がありますカスタマイズされたDrupalサイトを上書きします。+`でブラウザーベースのインストールを完了することができます。[Drupalセットアップページ]Drupalのブラウザーインストーラーの完了についてサポートが必要な場合は、https://www.digitalocean.com/community/tutorials/how-to-install-drupal-on-an-ubuntu-14-04-の指示に従ってください。+`セクションで設定した変数になります。各サーバーでDrupalが正常にインストールされていることを再確認してください。+`ファイルからホストを削除する良い機会です。することで、プレイブックを再度実行した場合、既に設定したホストを誤って上書きすることはありません。トラブルシューティングYAMLは空白を区別することに注意してください。+`ファイルに不適切なインデントまたは余分なスペースがある可能性があります。+`ファイルに1つ以上のホストのエントリを追加できなかったことを意味します。+」またはターゲットのリモートサーバーに手動でSSH接続する必要があります。その後、プレイブックを再度実行してください。結論このチュートリアルでは、ApacheとMySQLとともに、DrupalをセットアップするAnsibleプレイブックを作成する方法を学びました。本番システムでこのプレイブックを使用する前に、インストールをより安全にするために、このプレイブックをさらにビルドする必要があります。PlaybookのDrushコマンドを使用して、Drupalのインストールを管理することもできます。