こんにちはー。MUDAI BLOG管理人の「K」です。
今回は「KAGOYA CLOUD VPS」でアプリケーション「KUSANAGI 9」を使いWordPressを構築する方法をお伝えできたらなと思います。
*前バージョンの「KUSANAGI 8」はコミュニティサポートを終了しているため、今回は「KUSANAGI 9」で構築していきます。
*「KUSANAGI 8」を使っていた方は「KUSANAGI 9」で大きく色々と変更がされています。
さっそくやっていきましょー。
前提条件としては、
・KAGOYA CLOUD VPSの会員登録済み。
・ドメインは取得済み。
としてます。
1.インスタンスの作成
まず、KAGOYA CLOUD VPSにログインが完了しましたら「インスタンス作成」のページに移動してください。

そして、「パッケージ」から「KUSANAGI 9 (CentOS Stream9)」を選択して、「アプリケーションセットアップ」から「WordPress (KUSANAGI)」と「latest」を選択してください。

その次にスペックを選択する項目がありますが、ここは個人用途に合わせてお任せいたします。
管理人的に最初は「大容量プラン」の「200GB/2コア/2GB」をおすすめします。
規模が大きくなってきた、もしくは、複数のサイト運営したい場合「400GB/3コア/3GB」、「600GB/4コア/4GB」「800GB/4コア4GB」…とスペックアップしていくことができるからです。
*なお、一度上げたスペックは下げることはできないので注意してください。
*「スタンダードプラン」から「大容量プラン」もしくは「大容量プラン」から「スタンダードプラン」へとまたぐスペック変更もできないので注意してください。


その次に、少しスクロールしたところ、「ログイン用認証キー」の項目があります。
これはインスタンスのログインやSSH接続する際に必要なので、ログイン用認証キーを登録します。
「ログイン用認証キー追加」をクリックして「登録」ボタンをクリックすると、保存ダイアログが表示されますのでキーを保存します。
そして、先程登録したキーを選択してください。
次に、「virtio」をONを選択して、「セキュリティグループ」を「指定しない」を選択してください。(こちらの項目はあとから変更可能です。)
次に、「コンソールログインパスワード」にパスワードを決めて入力してください。
なお、「コンソールログインパスワード」に入力したパスワードはコンソール専用のパスワードになるので、SSH接続やSFTPのログインパスワードではないので注意してください。

インスタンス名はそのままでもOKです。(あとから変更可能です。)
インスタンスの作成をクリックして完了です。
インスタンスの作成はしばらく時間がかかる場合があります。(大体15分〜30分程度で完了すると思います。)
1時間以上経っても完了しない場合はKAGOYAの方にお問い合わせてみてください。
(過去に1時間以上経っても完了しないことがあったので・・・)
2.初期設定
インスタンスの作成が完了したら、次に初期設定をしていきます。
前項のログイン用認証キーを使いSSH接続します。
下記のコマンドを実行します。
$ ssh root@作成したインスタンスのIPアドレス -i ログイン用認証キー.key
ログインが完了したら下記のような画面が表示されます。
__ ____ _______ ___ _ _____ __________
/ //_/ / / / ___// | / | / / | / ____/ _/
/ ,< / / / /\__ \/ /| | / |/ / /| |/ / __ / /
/ /| / /_/ /___/ / ___ |/ /| / ___ / /_/ // /
/_/ |_\____//____/_/ |_/_/ |_/_/ |_\____/___/
Version 9.5.4-1.el9 on CentOS Stream 9, Powered by Prime Strategy.
CentOS 9 - WordPress
Access URL: https://vXXX-XXX-XXX-XXX.vir.kagoya.net/
Open TCP ports 80, 443.
You can find the initial settings at '/root/.application.txt'
To forcibly renew the expiration date of the SSL certificate,
please execute the following command:
kusanagi update cert
...............
[root@vXXX-XXX-XXX-XXX ~]$
*アスキーアートがズレてますが、気にしないでください…w

ログインメッセージにもありますが、「Access URL: https://vXXX-XXX-XXX-XXX.vir.kagoya.net/」にあるアドレスをブラウザでアクセスしたら、WordPressの初期設定画面が表示されます。
WordPressの初期設定の前に、ドメインとインスタンスのIPアドレスを紐づけするためにネームサーバーに登録してあげる必要があります。
今回はCloudFlareを利用しますが、説明は簡単にさせていただきます。
簡単に説明すると、CloudFlareのDNSレコードにお名前.comなどから取得したドメインとインスタンスのIPアドレスを登録するだけでOKです。

タイプは「Aレコード」を選択、「名前」に取得したドメインを入力し、「IPv4 アドレス」にインスタンスのIPアドレスを入力して保存をクリックして完了です。雲のマークは一時的にオフにしておいてください。SSLの証明書発行に失敗する可能性があるかもなので…(あとからオンにすることもできます)


そして、ネームサーバーのアドレスをドメインの取得先のサービスに登録してください。
上記が完了したら、設定したドメインにアクセスすると、WordPressの初期設定画面が表示されますが、おそらくこの状態で初期設定を行うと色々と不具合が起きると思うので、
SSHの画面に戻ってドメインの設定をします。
下記のコマンドを実行して「kusanagi_html」ディレクトリに移動します。
[root@vXXX-XXX-XXX-XXX kusanagi]$ cd /home/kusanagi/kusanagi_html/
そして下記のコマンドでドメインの設定をします。
[root@vXXX-XXX-XXX-XXX kusanagi_html]$ kusanagi configure --fqdn 取得したドメイン
するとこのようなメッセージが表示されます。
出力:
Run 'kusanagi ssl --email <YOUR EMAIL ADDRESS>' again.
reload completed.
configure completed.
上記のメッセージにある通り、下記のコマンドを実行します。
[root@vXXX-XXX-XXX-XXX kusanagi_html]$ kusanagi ssl --email メールアドレス
出力:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for testblog.mudai.blog
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/取得したドメイン名/fullchain.pem
Key is saved at: /etc/letsencrypt/live/取得したドメイン名/privkey.pem
This certificate expires on 2024-11-11.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Execution failed: env RENEWED_LINAGE=/etc/letsencrypt/live/取得したドメイン名/opt/kusanagi/bin/ct-submit.sh
Return code was 1
PHP Warning: Version warning: Imagick was compiled against ImageMagick version 1692 but version 1693 is loaded. Imagick will run but may behave surprisingly in Unknown on line 0
ssl email completed.
Auto renewal of certificate is already enabled. Nothing to do.
ssl auto completed.
restart completed.
ssl completed.
上記のようなメッセージが表示されたらSSLの設定は完了です。
これで、https://~でアクセスができますので、WordPressの初期設定を完了させてください。( https://取得したドメイン名/ )
WordPressの初期設定が完了したら、またSSHの画面に戻ってください。
このままだと、ファイルアップロードやプラグインやテーマのアップデート・インストールができないので、その設定をします。
下記のコマンドを実行してください。
[root@vXXX-XXX-XXX-XXX kusanagi_html]$ cat /root/.application.txt
出力:
user : kusanagi
passwd : **********
dbname : **********
dbuser : **********
dbpasswd : **********
*これらの情報は外部に漏らさないようにしてください。
「user」と「passwd」があるので、これらをコピペしてメモ帳などに貼り付けてください。(*dbname、dbuser,、dbpasswdはコピペしなくてOKです)
そして下記のコマンドを実行してください。
[root@vXXX-XXX-XXX-XXX kusanagi_html]$ vi wp-config.php
実行すると、wp-config.phpのファイルが開きます。
開いたファイルから下記のコードを見つけてください。(上下の矢印キーでスクロールできます)
define('FS_METHOD', 'ftpext');
define('FTP_HOST', 'localhost');
define('FTP_USER', 'kusanagi');
#define('FTP_PASS', '*****');
*多分80行目〜85行目にあると思います…見つけたら「i」キーを押して編集します。
#define(‘FTP_PASS’, ‘*****’);をコメントアウトを解除してください。(#を消してください)
先ほどコピペした情報を下にユーザー名とパスワードを入力もしくはペーストしてください。
例:
define('FS_METHOD', 'ftpext');
define('FTP_HOST', 'localhost');
define('FTP_USER', 'kusanagi');
define('FTP_PASS', '1234567890ABCD');
入力(もしくはペースト)を終えたら「ESC」キーを押して「:wq!」と入力しエンターキーを押して完了です。
これで、ファイルアップロードやプラグインやテーマのアップデート、インストールができます。
以上で一通り、KAGOYA CLOUD VPSでKUSANAGI 9を使ったWordPressの構築は完了です。
管理人的に、KUSANAGI 9を使ったWordPressの構築は初心者には若干ハードルが高いかもしれません…。
もし、チャレンジしたい場合はがんばってやってみてください。
また1つのVPSでKUSANAGI 9を使って複数のWordPressサイトの運営もできますが、また機会があれば記事にしたいと思います。