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のプロビジョニングへ進みます。