KUSANAGI 9クイックスタート

WordPressを動かしてみましょう

KUSANAGI 9がインストールされている仮想マシンを立ち上げましたか?
それでは早速、KUSANAGI 9をセットアップして、WordPressを動かすところまでやってみましょう。

仮想マシンにログイン

まずは、仮想マシンにログインしてください。
クライアントがLinuxであればsshコマンドを利用してログインしてください。
クライアントがWindowsであれば以下のリンクを参照してください。
WindowsでKUSANAGI 9にsshでログイン - KUSANAGI

KUSANAGI 9の初期設定

仮想マシンにログインできたら、初期設定を行いましょう。
初期設定には専用の「KUSANAGIコマンド」を使用します。
「KUSANAGIコマンド」は、初期設定のほか、Webサーバーの切替え、キャッシュの制御なども行えるKUSANAGI専用のコマンドです。
「KUSANAGIコマンド」については以下のリンクに一覧があります。
KUSANAGI 9コマンド - KUSANAGI

ここからはKUSANAGI 9の初期設定を行い、WordPressをプロビジョン可能な状態にする手順について説明します。

初期設定の実行の前に

KUSANAGIコマンドによる初期設定を行う前に、まずOS(※)やKUSANAGIシステムのアップデートを行います。

※KUSANAGI 9が利用できるOSの一覧は以下の通りです。
 クラウドベンダーによって提供されているOSは変わります。

  • CentOS Stream 9
  • AlmaLinux OS 8
  • AlmaLinux OS 9

仮想マシンにログインしたユーザーが root ユーザではない場合は、 以下のように入力して root ユーザーへ切り替えてください。
仮想マシンにログインしたユーザーが root ユーザである場合は、この手順は不要です。

# sudo su -

続いて次のように入力し、アップデートを開始します。

# dnf upgrade -y

アップデートが完了したら、次のように入力し、一度サーバを再起動します。

# reboot

再起動を行いますと接続が切れますので、再度ログインしてから root ユーザーへ切り替え、初期設定の実行へ進みます。

初期設定の実行

仮想マシンにおけるLinuxのユーザ、データベースのユーザーのパスワードの設定、利用するミドルウェアの設定を行います。

# kusanagi init --passwd "パスワード" --nophrase --dbrootpass "パスワード" --nginx127 --php81 --mariadb10.6

オプションには必須のオプションと任意のオプションがあります。
オプションの内容については以下で説明します。

注意:TLS用ホスト鍵ファイルの生成には時間がかかります

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

必須のオプション

kusanagiユーザーのパスワードの設定

kusanagiユーザーのパスワードの設定を行うために、--passwd オプションを指定します。
--passwd の指定は必須で、省略できません。
--passwd に指定した値を、kusanagiユーザーのパスワードとして設定します。

--passwd "パスワード"
kusanagiユーザーのSSHユーザ鍵のパスフレーズの設定

kusanagiユーザーのSSHユーザー鍵のパスフレーズの設定を行うために、--phrase または --nophrase オプションを指定します。
--phrase または --nophrase のいずれかの指定は必須で、省略できません。
--phrase に指定した値を、kusanagiユーザーのSSHユーザ鍵のパスフレーズとして設定します。
パスフレーズには5文字以上の文字列を指定してください。
--nophrase を指定すると、kusanagiユーザーのSSHユーザ鍵のパスフレーズに空文字列を設定します(値の指定は不要です)。

--phrase "パスフレーズ"
--nophrase
MariaDBのrootパスワードの設定

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

--dbrootpass "パスワード"

任意のオプション

以下のオプションは任意のオプションです。
ミドルウェアの設定に特にこだわりがない方は、「初期設定の完了」まで進んでください。

Webサーバの選択

起動するWebサーバをnginx、httpd(Apache) から選択します。それぞれ指定したときは以下のWebサーバを起動します(一部抜粋です)。
省略した場合は --nginx127 (NGINX 1.27) を指定したこととなります。

  • --nginx127 : NGINX 1.27
  • --nginx126 : NGINX 1.26
  • --httpd24 : Apache httpd 2.4

--nginx127、--nginx126、--httpd24 は複数指定できません。

--nginx127
PHPの選択

使用するPHPのバージョンを選択します。それぞれ指定したときは以下のPHPを使用します(一部抜粋です)。
省略した場合は --php81(PHP 8.1) を指定したこととなります。

  • --php83 : PHP 8.3
  • --php82 : PHP 8.2
  • --php81 : PHP 8.1

--php83、--php82、--php81 は複数指定できません。

--php81
MariaDB(MySQL)の選択

使用するMariaDB(MySQL)のバージョンを選択します。それぞれ指定したときは以下のMariaDBを起動します(一部抜粋です)。
省略した場合は --mariadb10.6(MariaDB 10.6) を指定したこととなります。

  • --mariadb10.11 : MariaDB 10.11
  • --mariadb10.6 : MariaDB 10.6
  • --mariadb10.5 : MariaDB 10.5

--mariadb10.11、--mariadb10.6、--mariadb10.5 は複数指定できません。

--mariadb10.6

初期設定の完了

オプションを指定してコマンドを実行します。
次のように「init completed.」というメッセージが表示されれば、初期設定は完了です。

# kusanagi init --passwd "パスワード" --nophrase --dbrootpass "パスワード" --nginx127 --php81 --mariadb10.6

(途中省略)

init completed.

これでWordPressがプロビジョンできる状態になりました。
続いて、WordPressのプロビジョニング(展開)を行いましょう。

初期設定コマンド及びオプションをさらに詳しく知りたい方は、以下のkusanagi initのページを参照してください。
init - KUSANAGI

WordPressのプロビジョニング

プロビジョニングには初期設定と同じく、専用の「KUSANAGIコマンド」を使用します。

KUSANAGIコマンドでWordPressを使用するためのプロファイルを作成します。
これにより、Webサーバの設定ファイル、MariaDB(MySQL)のデータベースや、ドキュメントルートなどが展開されます。
プロファイルの説明は以下のリンクを参照してください。
KUSANAGI 9プロファイル - KUSANAGI

※このクイックスタートではWordPressをプロビジョニングしていますが、KUSANAGI 9では他にもLAMP、FCGI、Movable Type、Drupal をプロビジョニングできます。

プロビジョニングを行う前に

仮想マシンにログインしたユーザーが root ユーザではない場合は、 以下のように入力して root ユーザーへ切り替えてください。
仮想マシンにログインしたユーザーが root ユーザである場合や、初期設定から引き続きrootユーザーで実行している場合はこの手順は不要です。

# sudo su -

プロビジョニングの実行

KUSANAGI 9のプロビジョニングは、以下のコマンドを使います。

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

/home/kusanagi/ の下に上記で指定した “任意のプロファイル名” のディレクトリが作成されます。
この中にドキュメントルートが作成され、必要なデータが格納されます。

必須オプション

プロビジョニングするCMSの選択

プロビジョニングするCMSをオプションに指定することで、CMSを選ぶことができます。
このクイックスタートでWordPressをプロビジョニングするので、--wpを指定します。
プロビジョニングするCMSの指定は必須で、省略できません。

--wp
ホスト名の設定

作成するプロファイルで使用するホスト名(FQDN)の設定を行うために、--fqdnオプションを指定します。
--fqdn の指定は必須で、省略できません。
--fqdn に指定した値を、ホスト名として設定します。

--fqdn www.example.com

※http://や末尾の/は不要です。

SSL証明書(Let’s Encrypt)の設定

--fqdnで指定したホスト名に対応するLet’s EncryptのSSL証明書(※)を発行を行うために、--emailオプションを指定します。
SSL証明書の取得が不要な場合は、--noemailオプションを指定します。
--email または --noemail のいずれかの指定は必須で、省略できません。

--email に指定した値をもって、Let’s EncryptにSSL証明書の取得を行います。
--noemail を指定すると、Let’s EncryptのSSL証明書を取得しません(値の指定も不要です)。

--email kusanagi@example.com
--noemail

※Let’s EncryptのSSL証明書について

  • Let’s Encryptは認証局(CA)として「SSL/TLSサーバ証明書」を無料で発行するプロジェクトです。
    詳細は以下の公式サイトをご覧ください。
    Let's Encrypt
    --emailにメールアドレスを指定することでLet’s Encryptの使用に同意したことになります。
  • Let’s Encryptは、ドメイン認証によるSSL/TLSサーバ証明書です。
    利用するには、認証の仕組み上、取得するFQDNの名前解決ができること、httpのアクセスに認証がかかっていないことが必要です。
    また、Let’s Encryptのドメイン単位での利用制限が定められており、仮想マシン作成時にクラウドより付与されるFQDNは利用できません。
  • --noemailを指定し、SSL証明書を取得しなかった場合も、プロビジョニング完了後にkusanagi sslコマンドにて、Let’s EncryptのSSL証明書を取得することが可能です。
    詳しくは、以下のkusanagi sslのドキュメントを参照してください。
    ssl - KUSANAGI
データベース名の設定

データベース名を設定を行うために、--dbname オプションを指定します。
--dbnameの指定は必須で、省略できません。
--dbname で指定した値を、データベース名として設定します。

--dbname kusanagi_db
データベースのユーザー名の設定

上記で作成したデータベースのユーザー名を設定を行うために、--dbuser オプションを指定します。
--dbuser の指定は必須で、省略できません。
--dbuser で指定した値を、データベースユーザー名として設定します。

--dbuser kusanagi_db
データベースのユーザーのパスワードの設定

上記で作成したデータベースのユーザーのパスワードを設定を行うために、--dbpass オプションを指定します。
--dbpass の指定は必須で、省略できません。
--dbpass で指定した値を、データベースユーザーのパスワードとして設定します。

--dbpass "パスワード"

WordPress のインストールオプション

KUSANAGI バージョン 9.5.2-1 よりプロビジョニング時に WordPress インストールオプションを指定して、プロビジョニングと同時に WordPress のインストールまで一貫して行えるようになりました。

以前はプロビジョニングから WordPress のインストールまでにタイムラグがあり、その間に第三者に WordPress のインストールをされ、乗っ取られてしまう恐れがありました。
それが、このオプションを指定することで、プロビジョニングから WordPress のインストールまでのタイムラグがなくなり、第三者に WordPress をインストールされることがなくなりますので、WordPress をインストールする場合は、このオプションの指定を推奨します。

WordPress の管理者ユーザーのメールアドレス

WordPress の管理者ユーザーのメールアドレスを設定するためには、 --adminemail オプションを指定します。
--adminemail の指定は、プロビジョニング時に WordPress をインストールする場合は必須となります。
--adminemail で指定した値を、WordPress の管理者ユーザーのメールアドレスとして設定します。

--adminemail kusanagi@example.com

--adminemail オプションの指定が、 プロビジョニング時に WordPress をインストールするかどうかの判断となります。
そのため、以下の WordPress のインストールオプションを指定しても、 --adminemail オプションが指定されていない場合は、エラーとなります。
反対に、 --adminemail を指定しており、以下の WordPress のインストールオプションを指定しなかった場合は、デフォルトの値が設定されます。

WordPress のタイトル

WordPress のタイトルを設定するためには、 --title オプションを指定します。
--title を省略した場合は、 WordPress のタイトルが "Welcome to KUSANAGI" となります。
--title で指定した値を、 WordPress のタイトルとして設定します。

--title "WordPress のタイトル"
WordPress の管理者ユーザー名

WordPress の管理者ユーザー名を設定するためには、 --adminuser オプションを指定します。
--adminuser を省略した場合は、 WordPress の管理者ユーザー名が --adminemail に指定した値と同じになります。
--adminuser で指定した値を、 WordPress の管理者ユーザー名として設定します。

--adminuser admin_user
WordPress の管理者ユーザーのパスワード

WordPress の管理者ユーザーのパスワードを設定するためには、 --adminpass オプションを指定します。
--adminpass を省略した場合は、 WordPress の管理者ユーザーのパスワードは自動生成され、画面に表示されます。
省略した場合は、必ずその場で表示されたパスワードを控えてください。再度、表示することはできません。
--adminpass で指定した値を、 WordPress の管理者ユーザーのパスワードとして設定します。

--adminpass "パスワード"

プロビジョニングの完了

オプションを指定してコマンドを実行します。
次のように「provison completed.」メッセージが表示されれば、プロビジョニングは完了です。

# kusanagi provision --wp --fqdn www.example.com --email kusanagi@example.com --dbname kusanagi_db --dbuser kusanagi_db --dbpass "パスワード" --adminemail kusanagi@example.com "任意のプロファイル名"

(途中省略)

Admin password: (自動生成パスワード)
Success: WordPress installed successfully.
Provisioning of "任意のプロファイル名" completed. Access www.example.com and install wp.
provison completed.

これで WordPress のプロビジョニングまで完了しました。
次のステップは、--adminemail オプションを指定して WordPress のインストールを行っているか否かで変化します。

  • --adminemail オプションを指定した場合
    WordPress のインストールまで済んでいますので、以下の URL にアクセスして WordPress の管理画面を表示し、「管理画面にログイン」の手順に進んでください。
    https://(指定したFQDN)/wp-admin/
  • --adminemail オプションを指定しなかった場合
    WordPress がまだインストールされていませんので、引き続き、以下の「WordPress のインストール」の手順に進んでください。

プロビジョニングコマンド及びオプションをさらに詳しく知りたい方は、以下のkusanagi provisionのページを参照してください。
provision - KUSANAGI

WordPressのインストール

WordPressのインストールはブラウザから行えますので、ブラウザを立ち上げます。
ブラウザからプロビジョニング時に指定したホスト名(FQDN)にアクセスします。

KUSANAGI 8ではデータベースの接続設定を入れる必要がありましたが、KUSANAGI 9では必要ありません。
自動的にデータベースへの接続設定まで完了しています。

必要情報の入力

ホスト名(FQDN)にアクセスすると、必要情報の入力画面になります。
WordPressサイトの基本情報、サイト管理者のユーザー情報等を入力します。

① 次のように入力します。

サイトのタイトル 任意のWebサイトのタイトル
ユーザー名WordPressの管理ユーザー名
パスワードWordPressの管理画面にログインするためのパスワード
メールアドレスWordPressからの通知メールを受け取るメールアドレス
検索エンジンでの表示検索エンジンによるインデックスを許可するか否か

② すべて入力したら、「WordPressをインストール」をクリックします。

インストール結果の確認

インストールが成功すると、以下の画面が表示されます。

① 「成功しました!」画面が表示されますので、「ログイン」をクリックします。

管理画面にログイン

ログイン画面が表示されたら、以下の情報を入力してWordPressの管理画面にログインします。

  • --adminemail オプションを指定した場合
    • ユーザー名: --adminuser で指定した値。省略した場合は --adminemail で指定した値。
    • パスワード: --adminpass で指定した値。省略した場合はプロビジョニング時に画面に表示された値。
  • --adminemail オプションを指定しなかった場合
    • ユーザー名: WordPressのインストール時に指定したユーザー名。
    • パスワード: WordPressのインストール時に指定したパスワード。

パーマリンク設定の確認

管理画面のメニューから「設定」をクリック、開いたサブメニューの「パーマリンク」をクリックし、「パーマリンク設定」の「共通設定」->「パーマリンク構造」を確認します。
必要に応じて設定を変更し、URLのカスタマイズを行います。

「KUSANAGI」メニューより、KUSANAGI専用の高速化に関する設定を行うことができます。
機能、および設定方法については、以下のKUSANAGI専用プラグインのページをご覧ください。

KUSANAGI 専用プラグイン - KUSANAGI

確認が終わりましたら、管理画面の左上のサイトのタイトル(例では家のマークの隣の「KUSANAGI」と表示されている部分)をクリックし、トップページを表示します。

トップページの表示を確認

以下のようにトップページが正しく表示されればインストールは完了です(表示される内容はテーマによって変わります)。

おめでとうございます! これでWordPressを動かすことができました。
あとは、自由にサイトをカスタマイズして、思い通りのサイトを構築してください。

KUSANAGIコマンドの詳細は以下のドキュメントを参照してください。
KUSANAGI 9コマンド - KUSANAGI