KUSANAGIプラグインの「自動更新」の紹介

謝 永佳

「KUSANAGI 9でも適用可能!プラグイン自動更新機能でWordPressを常に最新保持。自動更新の設定・管理が可能になり、バックグラウンドでの保守作業を効率化。マイナーアップデートからメジャーバージョン更新までカバー。」

プライム・ストラテジー「KUSANAGI」開発チームの謝です。
KUSANAGIプラグインの「自動更新」はKUSANAGI本体の更新ではなく、WordPressのコア、プラグイン、テーマ、翻訳の自動更新を管理機能です。ではこの自動更新は何かできるかを紹介します。

本記事はKUSANAGI 9ベースで書いていますが、KUSANAGIプラグインの新しい機能はKUSANAGI 8上のKUSANAGIプラグインをアップデートすれば、同じく利用できます。
記事中にもKUSANAGI 8とKUSANAGI 9操作などが違う場合、追加説明をします。

WordPressの自動更新

WordPressの自動更新はWordPress Cronを利用していると一部フォルダに書き込み権限が必要です。なので自動更新を正しく動作にはまずこちら条件を満足していることが必要です。

WordPress 5.5から自動更新に対して変更点は下記なります。

  • WordPress 5.5
    管理画面からテーマ、プラグインの自動更新をオプトインできるようになりました。
  • WordPress 5.6
    管理画面からメジャーバージョンの自動更新をオプトインできるようになりました。
    メジャーバージョンの自動更新はデフォルトで有効になります。

上記変更に合わせて、KUSANAGIプラグイン(バージョン: 1.3.0)の自動更新もアップデートしました。
KUSANAGIプラグインのバージョンは「プラグインページ1」の「必須」タブの「WP KUSANAGI」プラグインの行で確認できます。
バージョン1.3.0のアップデートのメインな変更点は後ほど詳細に説明します。

KUSANAGIプラグインのバージョン確認

KUSANAGIプラグインの「自動更新」

最新版へアップデート

今回説明KUSANAGIプラグインの内容はバージョン1.3.0もとで説明するなので、バージョン1.3.0以前の場合は最新版へアップデートしてください。
KUSANAGIプラグインのアップデートはWordPress管理画面からではなく、kusanagi update2コマンドを利用が必要です。

KUSANAGIプラグインのアップデート手順を説明します。

1.dnf upgrade3コマンドでKUSANAGIプラグインのパッケージを最新版へアップデートします。
  バージョン1.3.0のKUSANAGIプラグインパッケージは「kusanagi-wp-plugins-20231107-1」です。
  ※KUSANAGI 8ではyum updateコマンドになります。適宜に読み替えてください。

# dnf upgrade kusanagi-wp-plugins
メタデータの期限切れの最終確認: 2:04:49 前の 2023年11月22日 14時03分55秒 に実施しました。
依存関係が解決しました。
===================================================================================================================================================================================================================
 パッケージ                                                アーキテクチャー                             バージョン                                            リポジトリー                                   サイズ
===================================================================================================================================================================================================================
アップグレード:
 kusanagi-wp-plugins                                       noarch                                       20231107-1.el8                                        kusanagi                                        64 k

トランザクションの概要
===================================================================================================================================================================================================================
アップグレード  1 パッケージ

ダウンロードサイズの合計: 64 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
kusanagi-wp-plugins-20231107-1.el8.noarch.rpm                                                                                                                                      415 kB/s |  64 kB     00:00    
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                                                               385 kB/s |  64 kB     00:00     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                                                                                           1/1 
  scriptletの実行中: kusanagi-wp-plugins-20231107-1.el8.noarch                                                                                                                                                 1/2 
  アップグレード中 : kusanagi-wp-plugins-20231107-1.el8.noarch                                                                                                                                                 1/2 
  整理             : kusanagi-wp-plugins-20231031-1.el8.noarch                                                                                                                                                 2/2 
  検証             : kusanagi-wp-plugins-20231107-1.el8.noarch                                                                                                                                                 1/2 
  検証             : kusanagi-wp-plugins-20231031-1.el8.noarch                                                                                                                                                 2/2 

アップグレード済み:
  kusanagi-wp-plugins-20231107-1.el8.noarch                                                                                                                                                                        

完了しました!

2.対象プロファイルのKUSANAGIプラグインをアップデートします。

KUSANAGI 9とKUSANAGI 8でのWordPressのKUSANAGIプラグインアップデートは同じくkusanagi updateコマンドで行うが内容は若干違うので、それぞれを説明します。

KUSANAGI 9は対象プロファイルに作業する際はプロファイルを指定するか、指定がなければ、カレントディレクトリのプロファイルで作業になります。カレントディレクトリがプロファイルではない場合はエラーになります。

$ kusanagi update plugin plugintest
Update KUSANAGI plugin 1.2.19 to 1.3.0
Update KUSANAGI configure plugin 0.8 to 0.9
update completed.

KUSANAGI 8は対象プロファイルに作業する際はkusanagi target4コマンドで作業対象プロファイルに切り替えが必要です。

# kusanagi target plugintest
INFO: ターゲットは plugintest に変更されました。
完了しました。

# kusanagi update plugin
INFO: Target: plugintest
アップグレードしますか?[y/N]:  y
INFO: KUSANAGIプラグインを 1.2.19 から 1.3.0 へアップデートします。
INFO: KUSANAGI設定プラグインを 0.8 から 0.9 へアップデートします。
完了しました。

設定画面

KUSANAGIプラグインの「自動更新」設定画面は大きく三つセッションを分けています。

  1. メッセージ表示セッションです。
  2. 自動更新の設定項目セッションです。
  3. 使用中のテーマ・プラグインの自動更新ステータス一覧セッションです。
KUSANAGIプラグインの自動更新の設定画面

メッセージ表示エリア

kusanagi provision5し、WordPressをセットアップ後にKUSANAGIプラグインの「自動更新」タブを開くと上記画面が表示されると思います。
最初はFTP_PASSにまだ定義してないため、一番上に「define('FTP_PASS', '');をwp-config.phpファイルに追加し、****部分をログインパスワードに変更してください。」が表示されます。
メッセージに従って、FTP_PASSを追加しとパスワードを設定したら、メッセージはなくなります。
****のパスワードはkusanagi init6時に設定したkusanagiパスワードです。
パスワードまたは接続情報を間違って設定した場合、「FTP サーバー localhost への接続に失敗しました。接続情報が思い出せない場合は、ホスティング担当者に問い合わせてください。」メッセージが表示されます。

設定によって自動更新を無効になってや設定情報不足、自動更新無効な場合もメッセージが表示されることがあります。
メッセージが表示されたら、メッセージを従って設定変更または管理者に連絡をください。

設定によって自動更新無効になっていた一つ例です。
例:WordPress Cronの利用を停止します。
wp-config.phpに(define('DISABLE_WP_CRON', true);)を定義された場合、「自動更新は無効です。「DISABLE_WP_CRON」定数が設定されています。」メッセージが表示されます。

自動更新の設定項目

KUSANAGIプラグインの自動更新は次の項目を設定できます

項目名設定内容1.3.0の項目1.3.0以前の項目
翻訳翻訳データの自動更新の設定・無効
・有効 – デフォルト
・無効
・有効 – デフォルト
プラグインプラグインの自動更新の設定・すべて有効
・個別設定 – WordPressのデフォルト
・すべて無効 – KUSANAGIのデフォルト
・無効 – デフォルト
・有効
テーマテーマの自動更新の設定・すべて有効
・個別設定 – WordPressのデフォルト
・すべて無効 – KUSANAGIのデフォルト
・無効 – デフォルト
・有効
WordPressコアWordPressコアの自動更新の設定・すべて無効
・マイナー更新有効 – KUSANAGIのデフォルト
・メジャー更新有効 – WordPressのデフォルト
・すべて無効
・マイナー更新のみ有効 – デフォルト
・すべて有効
自動更新スケジュール自動更新のスケジュールの指定
指定された曜日と時間に自動更新をチェックが行われ、更新があった場合に自動更新を行う
・自動更新スケジュール設定を有効するチェック
・自動更新スケジュールを実行する曜日と時間の設定
・自動更新スケジュール設定を有効するチェック
・自動更新スケジュールを実行する曜日と時間の設定

バージョン1.3.0に設定項目のアップデートでメインな変更点

新バージョンの「- KUSANAGIのデフォルト」は旧バージョンと「 – デフォルト」と同じです。
なので新規kusanagi provisionの自動更新のデフォルト設定は以前のデフォルトと変更がありません。
そして既に利用しているプラグインをアップデートしても設定が変わることがありません。なのでWordPressのデフォルトを利用したい場合、設定を変更してください。

設定項目に「- KUSANAGIのデフォルト」と「- WordPressのデフォルト」という文字を追加し、ユーザーにKUSANAGIとWordPressのそれぞれのデフォルトをわかやすいように調整しました。
新バージョンの設定項目を見ればわかると思いますが、テーマ、プラグイン、WordPressコアの自動更新のデフォルト値にはKUSANAGIのデフォルトとWordPressのデフォルトが違います。

テーマ・プラグインに個別設定という項目を追加しました。
個別設定とすべて有効、すべて無効何か違うが確認してみましょう。

すべて無効または全て有効を設定したら、全プラグインの自動更新を有効と無効になります。
プラグインを「すべて無効 – KUSANAGIデフォルト」を設定した時に「プラグインページ」で確認すると「自動更新」列は「自動更新無効」が表示されます。
「すべて有効」を設定した時は「自動更新」列は「自動更新有効」が表示されます。実際画面は割愛します。

「すべて無効 – KUSANAGIデフォルト」を設定

「個別設定 – WordPressのデフォルト」を設定した時、プラグインごとに自動更新有効・無効ができます。
では自動更新個別設定できる時は「プラグインページ」の「自動更新」列は「自動更新を有効化」または「自動更新を無効化」リンクが表示されます。
リンクをクリックすれば、自動更新の有効と無効の切り替えができます。この機能はWordPress 5.5から導入した機能です。

「自動更新」列に何も表示されないプラグインがあります。何も表示されないプラグインは自動更新対応しないプラグインです。例えば自作プラグインとかはそうなります。もちろん自作プラグインでも正しく、更新情報設定すれば、自動更新はできます。

上記紹介したはプラグインですが、テーマも同じ機能があります。
ただテーマの自動更新ステータスを確認場所はプラグインと違います。現在のWordPressではテーブルでのテーマ一覧はないので、「テーマページ7」で対象テーマをクリックし、テーマの詳細ページに自動更新ステータスを確認できます。

テーマの詳細ページ

WordPressコアの設定項目に旧バージョンと新バージョンの文言変更がありましたが、機能に変更がありません。

  • 「マイナー更新のみ有効 – デフォルト」を「マイナー更新有効 – KUSANAGIのデフォルト」に変更しました
  • 「すべて有効」を「メジャー更新有効 – WordPressのデフォルト」に変更しました

使用中のテーマ・プラグインの自動更新ステータス

上記紹介した方法で「プラグインページ」または「テーマページ」で自動更新のステータス確認はできますが、自動更新の設定を更新する度に「プラグインページ」または「テーマページ」に行って確認には手間になります。

バージョン1.3.0から現時使用(アクティブ)中のテーマやプラグインの自動更新ステータスを一目でわかるように「使用中のテーマ・プラグインの自動更新ステータス」一覧を追加しました。一覧の表示はWordPress 5.5以上が必要です。
「自動更新」列に「有効」を青色、「無効」を赤色、「サポートされていません」を灰色で表示します。
自動更新の個別設定は「プラグインページ」または「テーマページ」で行ってください。
プラグインページとテーマページを開くやすいように、それぞれのリンクも用意しました。

サンプルサイトの使用中のテーマ・プラグインの自動更新ステータス

最後に

WordPressは常に新しいバージョンを利用することは勧めしています。機能の改良はもちろんありますが、セキュリティー対策としても重要です。
それと自動更新ではないが、万が一何か発生した後にすぐ復旧できるにはバックアップも大事です。

ただビジネスの本番サイトですべて自動更新を有効するにはなかなか難しいところも正直です。
なぜというとみんなも経験または耳したことがあると思うが、ある日自動的に最新版へ更新したら、サイトがエラー発生しました。
でもそれでアップデートを怠るに理由にはならないでください。

対策は色々があります。
簡単なものなら、KUSANAGIプラグインの自動更新のスケジュールを利用し、自分が稼働している時間で自動更新を行う、それで問題が発生したら、すぐでも対応できます。
他にも検証用環境を作成、自動更新を有効、自動更新後に自動的にサイトの正常性をチェック、問題がなければ、本番環境に自動的自動更新の内容を適用することもできます。

WordPress公式のWordPressの更新(英語)とWordPressのプラグインとテーマの自動更新(英語)のドキュメンテーションです。

  1. プラグインページは「プラグイン」→「インストール済みプラグイン」画面です。 ↩︎
  2. kusanagi updateコマンドのドキュメントページです。 ↩︎
  3. dnf upgradeはKUSANAGI 9のコマンドです、KUSANAGI 8の場合はyum updateになります。
    パッケージのアップデートはrootユーザーで実行が必要です。 ↩︎
  4. kusanagi targetコマンドのドキュメントページです。※こちらコマンドKUSANAGI 8のみ存在します。 ↩︎
  5. kusanagi provisionコマンドのドキュメントページです。 ↩︎
  6. kusanagi initコマンドのドキュメントページです。 ↩︎
  7. テーマページは「外観」→「テーマ」画面です。 ↩︎
<< HTTPS暗号化通信のパズルの最後のピースPHP 8.1(or 8.2) + WordPress 6.3 = ??? >>

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解