KUSANAGIのプロビジョニング

KUSANAGIのプロビジョニング

初期設定ができたら、KUSANAGIでWordPress などを使用するためのプロファイルを作成します。

これにより、Webサーバの設定ファイル、MySQLのデータベースや、ドキュメントルートなどがプロビジョニング(配置)されます。

KUSANAGI では、WordPress(デフォルト)、Concrete5、Drupal8、LAMP をプロビジョニングできます。

1. kusanagi provision コマンドの実行

次のように入力します。

# kusanagi provision [options] 【任意のプロファイル名】

入力例)# kusanagi provision kusanagi_html

上記の例では /home/kusanagi/kusanagi_html/というディレクトリが作成され、この中にドキュメントルートが作成されます。WordPressのインストールに必要なデータが格納されます。

Target directory is /home/kusanagi/設定したディレクトリ名.

上記のように表示されますので、そのまま次へ進みます。

2. プロビジョンタイプの選択

KUSANAGI でプロビジョンするタイプをオプションで選択します。

  • オプション --WordPress を指定すると、WordPress をプロビジョニングします。
  • オプション --concrete5 を指定すると、Concrete5 をプロビジョニングします。
  • オプション --drupal7 を指定すると、Drupal7 をプロビジョニングします。
  • オプション --drupal8 を指定すると、Drupal8 をプロビジョニングします。
  • オプション --lamp を指定すると、LAMP(Linux+Apache+MySQL+PHP) もしくは LEMP(Linux+NGINX+MySQL+PHP)で使用するための設定のみをプロビジョニングします。
  • オプション --rails を指定すると、Ruby on Rails をプロビジョニングします。この時のプロファイル名はRailsのプロジェクト名として有効な名前である必要があります。
  •  

上記オプションを指定しない場合は、WordPress をプロビジョニングします。

3. WordPressの言語選択

WordPress をプロビジョニングする際、WordPressのインストール時の言語選択を行います。WordPress プロビジョニング時以外は無視されます。

オプション --wplang en_US を指定するとWordPress のインストール時に言語選択が可能となります。オプション --wplang ja を選択すると WordPress 日本語版がインストールされます。

オプション --wplang を指定しない場合は以下のメッセージが表示され、対話的に en_US か ja を選択します。

Choose the installation language of WordPress.

1 : en_US
2 : ja

q : quit

Which do you choose?

言語選択した結果、下記のように表示されます。

You choose: ja

4. WooCommerce プラグインの選択

WordPress をプロビジョニングする際に、WooCommerce プラグインの追加インストールを選択することができます。WordPress プロビジョニング時以外は無視されます。

オプション --WooCommerce もしくは --woo を指定すると、WordPress インストール時にWooCommerceプラグインとStoreFrontテーマを同時にインストールします。

また、オプション--wplang ja を同時に選択しているときは、WooCommerce の日本語パック、WooCommerce for Japanプラグイン、GMOペイメントプラグインが同時インストールされます。

5. ホスト名の設定

作成するプロファイルで使用するホスト名(FQDN) を指定します。

オプション --fqdn ホスト名 を指定すると、ホスト名がWebサーバの設定ファイル、および /etc/hosts ファイルに設定されます。

オプション --fqdn を指定しない場合、次のように表示され対話的にホスト名(FQDN)を入力します。

Enter hostname(fqdn) for your website. ex) kusanagi.tokyo

例 : www.example.com
※http://や末尾の/は不要です。

ホスト名を入力すると次のように表示されるので、確認用として同じホスト名を再度入力します。

Re-type hostname(fqdn) for your website.

6. Let’s Encryptの設定

5で指定したホスト名に対応するLet’s EncryptのSSL証明書を発行します。

Let’s Encryptは認証局(CA)として「SSL/TLSサーバ証明書」を無料で発行するプロジェクトです。
詳細は公式サイトをご覧ください。
こちらにメールアドレスを入力することでLet’s Encryptの使用に同意したことになります。

オプション --email メールアドレスを指定すると、Let’s EncryptでSSL証明書を発行します。

オプション --noemail を指定すると、Let’s EncryptでSSL証明書を発行しません。

オプション --email もしくは --noemail を指定しないと以下のメッセージが表示され、対話的にEmail アドレスを指定します。

In order to use Let's Encrypt services, you must agree to Let's Encrypt's Term of Services.
If you agree this TOS, put in your e-mail adress, otherwise carriage enter key.
TOS of Let's Encrypt : https://letsencrypt.org/repository/

メールアドレスを入力します。
例:kusanagi@example.com

入力すると次のように表示されるので、確認用としてメールアドレスを再度入力します。

Re-type mail address.

Let’s Encryptを使用しない場合は、入力は行わず空のまま2度エンターキーを入力してください。

※ Let’s Encryptは、ドメイン認証によるSSL/TLSサーバ証明書です。利用するには、認証の仕組み上、取得するFQDNの名前解決ができること、httpのアクセスに認証がかかっていないことが必要です。また、Let’s Encryptのドメイン単位での利用制限が定められており、仮想マシン作成時にクラウドより付与されるDQDNは利用できません。
※ Let’s Encryptは、プロビジョニング完了後でも kusanagi ssl コマンドにて、設定することが可能です。詳しくは、kusanagi ssl のドキュメントを参照してください。

7. データベース名の設定

データベース名を設定します。
オプション --dbname データベース名を指定すると、指定されたデータベース名で新たにMySQLデータベースを作成します。

オプション --dbname を指定しない場合、以下のメッセージが表示されるので対話的に任意のデータベース名を入力します。

Enter the name of your database.

データベース名を入力すると次のように表示されるので、確認用としてデータベース名を再度入力します。

Re-type database name you create.

※ここで設定したデータベース名は後ほどWordPress、Concrete5、Drupal8 のインストール設定の際に使用します。忘れないよう控えておいて下さい。

8. データベースのユーザー名の設定

7 で作成したデータベースのユーザー名を設定します。

オプション --dbuser ユーザー名 を指定すると、6 で作成したデータベースにアクセスするためのユーザーとして指定したユーザ名を設定します。

オプション --dbuser を指定しない場合、以下のメッセージが表示されるので対話的に任意のユーザー名を入力します。

Enter user name for database '作成したデータベース名'.

ユーザー名を入力すると下記のように表示されるので、確認用としてユーザー名を再度入力します。

Re-type user name for database '作成したデータベース名'.

9. データベースユーザーのパスワードの設定

8 で作成したデータベースユーザーのパスワードを設定します。
オプション --dbpass パスワードを指定すると、7 で作成したデータベースユーザのパスワードとして指定したパスワードを設定します。

オプション --dbpass を指定しない場合、以下のメッセージが表示されるので、対話的に任意のパスワードを入力します。

Enter password for database user '作成したデータベースユーザー名'. USE [a-zA-Z0-9.!#%+_-] 8 characters minimum.

入力すると下記のように表示されるので、確認用としてパスワードを再度入力します。

Re-type password for database user '作成したデータベースユーザー名'.

10. プロビジョニングの完了

「9. データベースユーザーのパスワードの設定」が完了すると、WordPressの場合には下記のように表示されます。
これでプロビジョニングは完了です。
※ サイズやアドレス等はWordPressのバージョンなどによって変わります。また、CentOSの言語設定によっても表示が変わります。

Target directory is /home/kusanagi/aws03.
--2016-09-06 16:54:47--  https://ja.wordpress.org/latest-ja.tar.gz
Resolving ja.wordpress.org (ja.wordpress.org)... 66.155.40.250, 66.155.40.249
Connecting to ja.wordpress.org (ja.wordpress.org)|66.155.40.250|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8421826 (8.0M) [application/octet-stream]
Saving to: ‘wordpress.tar.gz’

100%[=========================================================================================================================>] 8,421,826   5.92MB/s   in 1.4s   

2016-09-06 16:54:49 (5.92 MB/s) - ‘wordpress.tar.gz’ saved [8421826/8421826]

Let’s Encryptの設定を行っていた場合には以下のような表示も行われます。

IMPORTANT NOTES:
 - If you lose your account credentials, you can recover through
   e-mails sent to 設定したメールアドレス.
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/設定したドメイン/fullchain.pem.
   Your cert will expire on 2016-05-04. To obtain a new version of the
   certificate in the future, simply run Let's Encrypt again.
 - Your account credentials have been saved in your Let's Encrypt
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Let's
   Encrypt so making regular backups of this folder is ideal.
 - If you like Let's Encrypt, please consider supporting our work by:

    Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
    Donating to EFF:                    https://eff.org/donate-le

最後に以下のような表示がされていればプロビジョニングは完了です。末尾の「WordPress」の部分は、プロビジョンタイプによって異なります。

Provisioning of 設定したディレクトリ名 completed. Access 設定したドメイン and install WordPress!

続いて、ブラウザからプロビジョン時に指定したホスト名(FQDN)にアクセスし、サイトの初期設定を行います。

プロビジョンタイプがLAMPのときは、この後の作業は必要ありません。ただし、DocumentRoot 以下に何もファイルが配置されていないので、別途PHPアプリケーションを配置する必要があります。