KUSANAGIの初期設定

KUSANAGI の初期設定

仮想マシンにログインできたら、初期設定を行います。

初期設定には専用の「KUSANAGIコマンド」を使用します。

「KUSANAGIコマンド」は、初期設定のほか、Webサーバーの切替え、キャッシュの制御なども行えるKUSANAGI専用のコマンドです。

ここからの手順ではWordPressが利用できる状態になるよう準備を行う手順について説明します。

1. 初期設定の開始

KUSANAGIコマンドによる初期設定を行う前に、まずCentOSやKUSANAGIシステムのアップデートを yum を利用して行います。
次のように入力し、アップデートを開始します。

# yum update kusanagi -y
# yum --enablerepo=remi,remi-php56 update -y

アップデートが完了したら以下の手順に従って初期設定を開始します。

次のように入力し、一度サーバを再起動します。Microsoft Azure の場合は、Microsoft Azure ポータルより仮想マシンの再起動を行います。

# reboot

一度接続が切れますので、再度ログインしてから root ユーザーへ切り替え、下記の手順へ進みます。

KUSANAGI仮想マシンにおけるLinuxやデータベースのユーザーパスワードの設定、変更を行います。
次のように入力し、設定を開始します。

# kusanagi init [options]

2. TLS用ホスト鍵ファイルの生成

TLSセッションチケットファイル、DH(Diffie-Hellman)鍵交換で使用するパラメータファイルを生成します。
これらのファイルは /etc/kusanagi.d/ssl 下に生成され、すでに生成しているときは再生成しません。
マシンの性能によっては、このファイル生成に数分かかることがありますので、ご注意ください。

3. サーバタイムゾーンの設定

サーバのタイムゾーンの設定を行います。
オプションに --tz タイムゾーンを指定すると、指定されたタイムゾーンを設定します。

# kusanagi init --tz tokyo

このとき指定した文字列は大文字小文字の区別を行いません。また”Toky” のように一部の文字列だけ入力しても、合致する”Asia/Tokyo” という正しいタイムゾーンを設定します。
指定されたタイムゾーン文字列が複数のタイムゾーンに一致するときはエラーメッセージを表示します。
オプション --tz を指定しないときは、以下のように対話的にタイムゾーンを選択します。

Search or select timezone:
Africa/Abidjan
Africa/Accra
.
.
.

任意のタイムゾーンを選択します。
※直接文字を入力していくと絞り込みができます。
タイムゾーンを設定すると、下記のように表示されます。

Applying Location: Asia/Tokyo.

(Asia/Tokyoを選択した場合の例)

4. ロケールの設定

使用言語の選択を行います。
オプション --lang en を指定すると英語ロケール(en_US.UTF-8)を、オプション --lang ja を指定すると日本語ロケール(ja_JP.UTF-8)を設定します。

# kusanagi init --lang ja

オプション --lang を指定しない場合は、以下のように対話的にロケールを選択します。

Select your using language.

1 : English
2 : 日本語

q : quit

Which are you using?:

1 を選択すると英語ロケール(en_US.UTF-8)を、2 を選択すると日本語ロケール(ja_JP.UTF-8)を設定します。
q を選択すると、ここで処理を停止します。

5. キーボードタイプの設定

キーボードタイプの設定を行います。
オプション --keyboard en を指定すると英語キーボード(us配列)を、オプション --lang ja を指定すると日本語キーボード(jp106配列)を設定します。

# kusanagi init --keyboard ja

オプション --keyboard を指定しない場合は、以下のように対話的にキーボードを選択します。

Select your keyboard layout.

1 : English
2 : Japanese

q : quit

Which are you using?:

1 を選択すると英語キーボード(us配列)を、2 を選択すると日本語キーボード(jp106配列)を設定します。
q を選択すると、ここで処理を停止します。
キーボードを設定すると、下記のように表示されます。

You choose: Japanese

6. ユーザーパスワードの設定

ユーザー kusanagi のパスワードの設定を行います。
オプション --passwd パスワード を指定すると、ユーザー kusanagi のパスワードとして指定したパスワードを設定します。

# kusanagi init --passwd Passw0rd

オプション --passwd を指定しない場合は、以下のように対話的にパスワードを設定します。

Changing password for user kusanagi.
New password:

※Changing password と表示されますが、ここでは新規設定となります。
任意のパスワードを入力します。
続いて確認用としてパスワードを再入力します。

Retype new password:

パスワードを設定すると、下記のように表示されます。

passwd: all authentication tokens updated successfully.

7. 鍵認証の設定

ユーザーkusanagi のSSHユーザ鍵の作成を行います。
オプション --phrese フレーズ を指定すると、SSHユーザ鍵のパスフレーズとして指定したフレーズを設定します。パスフレーズには5文字以上の文字列を指定してください。
オプション --nophrese を指定すると、SSHユーザ鍵のパスフレーズとして空文字列を設定します。

# kusanagi init --nophrase

オプション --phrese および --nophrese を設定しない場合は、次のようなメッセージが表示され、対話式にパスフレーズを設定します。

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):

SSH鍵認証を行う場合のパスフレーズを設定します。
任意のパスフレーズを入力し、Enter(Return)キーを押します。
(パスフレーズは空欄のまま進めることも可能ですが、設定されることを推奨します)

次のように表示されますので、確認の為再度パスフレーズを入力し、Enterキーを押します。

Enter same passphrase again:

次のように鍵の作成に関するメッセージが表示されます。

このタイミングで鍵認証に必要な公開鍵がルートディレクトリ(/root)にkusanagi.pemとして生成されますので、初期設定完了後、必要に応じてダウンロード等を行ってください。

Your identification has been saved in /root/kusanagi.pem.
Your public key has been saved in /root/kusanagi.pem.pub.

対話的にパスフレーズを設定したときは、以下のメッセージも表示されます。

The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx root@
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
+-----------------+

8. MySQL rootパスワードの設定

MySQLのrootパスワードを設定します。
オプション --dbrootpass パスワードを指定すると、MySQLのrootパスワードとして指定したパスワードを設定します。このパスワードには、アルファベット大文字小文字、数字、「.!#%+_-」のいずれかで構成される 8文字以上の文字列を設定してください。

# kusanagi init --dbrootpass Password

オプション --dbrootpass を指定しない場合、次のように表示されますので、任意のパスワードを入力します。

Enter MySQL root password. Use [a-zA-Z0-9.!#%+_-] 8 characters minimum.

確認用としてパスワードを再度入力します。

Re-type MySQL root password.

9. Webサーバの選択

起動するWebサーバをNGINX、httpd(Apache2) から選択します。
オプション --nginx を指定すると NGINX が、オプション --httpd を指定すると httpd(Apache2) が起動します。
オプション --nginx と --httpd を複数指定した場合、最初に指定したものが有効になります。

# kusanagi init --nginx

オプション --nginx もしくは --httpd を指定しない場合は、以下のように表示されますので、対話式に選択します。

KUSANAGI can choose middlewares.
Please tell me your web server option.
1) NGINX(Default)
2) Apache

Which you using?(1):

1 もしくは 2 を入力し、起動するWebサーバを選択します。リターンのみ入力するとデフォルトの NGINX を選択します。

10. アプリケーションサーバの選択

起動するアプリケーションサーバをPHP7、PHP8、HHVM、PHP-FPM(PHP5)から選択します。
オプション --php7 を指定すると PHP7が、オプション --php8 を指定すると PHP8が、オプション --hhvm を指定すると HHVMが、--php5 を指定すると PHP-FPM(PHP5) が起動します。
オプション --php7、--php8、--hhvm、--php5 を複数指定した場合、最初に指定したものが有効になります。

# kusanagi init --php7

オプション --php7、--php8、--hhvm、--php5 を指定しない場合は、以下のように表示されますので、対話式に起動するアプリケーションサーバを選択します。

Then, Please tell me your application server option.")
1) PHP8(Default)
2) PHP7
3) HHVM
4) PHP5

Which you using?(1):

1、2、3、4 のいずれかを入力し、起動するアプリケーションサーバを選択します。リターンのみ入力するとデフォルトの PHP8 を選択します。
※WordPress5.2以降を利用の際には、HHVMは利用できません。PHP8を利用するには、WordPress5.6以降が必要です。

11. Rubyのバージョン選択

使用するRubyのバージョンを選択します。
オプション --ruby24 を指定するとRuby2.4.xが使用されます。

Then, Please tell me your ruby version.
1) Ruby2.4

Which you using?(1):

1を入力し、Rubyのバージョンを選択します。

12. 初期設定の完了

次のようなメッセージが表示されれば、初期設定は完了です。

innodb_buffer_pool_size = 768M
query_cache_size = 192M
Initialization of KUSANAGI has been completed

※上記に表示される数値は、仮想マシンのメモリ容量によって異なります。

これで初期設定は完了です。
続いてWordPressのプロビジョニングへ進みます。