KUSANAGIの更新してる(*゜・゜)?

遠藤博樹(NHN JAPAN株式会社)

「KUSANAGI」は定期的にバージョンアップが行われ、2017年だけでも10回以上の進化が見られたと述べたNHNテコラスの遠藤氏。バージョンアップのプロセスや手順について、また、WordPressのプロフィール毎に自動更新される方法なども説明しています。KUSANAGIの最新情報についてはナビゲートされ、より効果的な利用を提案しています。

目次

6回目の投稿となります。
NHNテコラスの遠藤と申します。本年もよろしくお願いいたします┏○

KUSANAGIは定期的にバージョンアップが行われているのをご存知でしょうか。
2017年だけでも10回以上、KUSANAGIは進化しています☆-(ノ゚Д゚)八(゚Д゚ )ノ

弊社で取り扱っているKUSANAGI搭載のホスティングサービスもお客様サポートの過程において、お客様の環境を確認させていただく事がございますが、割と出荷時のバージョンのままというのが見受けられます。

バージョンアップによりバグの修正や機能追加も行われていますので、バージョンアップをしたことが無い方は是非更新をしてみてください。

特に古いものを利用している場合はWordPressダッシュボードにセキュリティ情報が表示されるようになったり、WordPressの自動更新がKUSANAGI専用プラグインから設定できるようになったりと、大きな変化が確認できますΣd(d≧∀≦)

■現在のバージョン確認方法

shell上で確認する場合、kusanagiコマンドにて確認いただけます。
バージョン8.1未満の場合、最新ではない状態です。

# kusanagi status |grep Version
KUSANAGI Version 8.1.1-3

2017年中にあった更新履歴は以下の通りです。
(参考:KUSANAGI 新着情報より)

2017.1.5 バージョン:8.0.2-3
kusanagi provision 時の不具合修正(Let’s Encrypt取得時)
1.13 バージョン: 8.0.3-1
KUSANAGI 専用プラグインのアップデート (ページキャッシュ関連)
1.16 バージョン:8.0.3-2
Let’s Encryptの自動更新有効時のバグ修正
2.10 バージョン:8.0.4-1
WordPressの自動更新に対応(要プラグインアップデート)
2.17 バージョン:8.0.4-2
8.0.4-1で対応した自動更新のバグ修正(要プラグインアップデート)
2.28 バージョン:8.0.4-5
8.0.4-1で対応した自動更新の機能修正(要プラグインアップデート)
3.8 バージョン:8.0.5-1
ダッシュボードにセキュリティアドバイザーの追加(要プラグインアップデート)
3.31 バージョン:8.0.6-1
8.0.4-1で対応した自動更新の機能追加(要プラグインアップデート)
○曜日には行わないなど、スケジュール設定が可能に
4.14 バージョン:8.0.6-2
bcache有効時 WP REST API利用の不具合修正(要プラグインアップデート)
5.15 バージョン:8.0.7-1
・PNGとJPEG画像の最適化ロジック修正(要プラグインアップデート)
・アップロード済み画像を最適化するコマンド kusanagi images を追加
5.18 バージョン:8.0.7-2
8.0.7-1で対応した画像を最適化するコマンドのバグ修正
7.7 バージョン:8.0.7-3
(要プラグインアップデート)
・デバイス切替タブの挙動変更
・8.0.5-1で対応したセキュリティアドバイザの仕様変更(nginx利用時)
・一部翻訳の修正
8.15 バージョン:8.0.7-4
kusanagiコマンドのバグ修正
8.21 バージョン:8.0.8-1
Drupal 7のプロビジョンに対応
11.2 バージョン:8.1.0
Ruby、Ruby on Railsへの対応
12.21 バージョン:8.1.1-1
(要プラグインアップデート)
・個別キャッシュ削除機能
・kusanagi statusのハイライト表示
・その他微改修
12.21 バージョン:8.1.1-2
(要プラグインアップデート)
8.1.1-1で対応したアップデートのバグ修正

※新着情報に掲載されていないバージョンが公開されており、アップデートコマンドにより適用される場合があります。
例えば2017/12/26現在、バージョン8.1.1-3が適用されますが新着情報には8.1.1.-2までしか掲載されていません。

■バージョンアップ方法

基本的にはshell上で、 # yum update のみで更新されます。
(KUSANAGI以外にOSに搭載のミドルウェアも同時に更新されます)

また、KUSANAGI専用プラグインも更新する場合は、以下のコマンド発行が必要です。

# kusanagi target <<profile>>
# kusanagi update plugin

※profileを複数作成していない場合、1行目のコマンドは不要ですが複数作成している場合はprofile毎に必要です。
profileが複数あったり、名称が分からなくなってしまっている場合は /etc/kusanagi.d/profile.conf 内から確認いただけます。

# grep PROFILE /etc/kusanagi.d/profile.conf
PROFILE="*****"
PROFILE="*****"
PROFILE="*****"

この例ではprofileが3つあることが分かります。
なお、KUSANAGI専用プラグインはWordPressのprofileのものとなりますので、例えばConcrete5のprofileで実行するとエラーとなります。

※Concrete5のprofileで実行した例

# kusanagi update plugin
プラグインファイルが存在ません。何もしません。

※profile毎にあるKUSANAGIプラグインのバージョンを確認する例

# grep Version /home/kusanagi/*/DocumentRoot/wp-content/mu-plugins/wp-kusanagi.php
/home/kusanagi/<<profile1>>/DocumentRoot/wp-content/mu-plugins/wp-kusanagi.php:Version: 1.0.23
/home/kusanagi/<<profile2>>/DocumentRoot/wp-content/mu-plugins/wp-kusanagi.php:Version: 1.0.10

この例では<<profile1>>はVersion1.0.23(2017.12.26現在最新)ですが、<<profile2>>は少し古いものでした。

■KUSANAGIの自動更新

KUSANAGIに限定したものではありませんが、yum updateを定期的に自動実行するよう、yum-cronを利用した例です。

1.yum-cronのインストール

# yum install -y yum-cron

2.yum-cronの有効化と起動

# systemctl enable yum-cron
# systemctl start yum-cron

3.yum-cronは毎時実行用の0yum-hourly.cronと毎日実行用の0yum-daily.cronを持ちます。
この例では毎日実行するよう設定変更します。

# vi /etc/yum/yum-cron.conf

apply_updates = no
↓
apply_updates = yes


random_sleep = 360
↓
+random_sleep = 0
のように2箇所の設定を書き換えます。

4.手動でcronを実行して動作確認してみます。

標準のKUSANAGI環境ではあまり関係ないですが、postgresqlに関するパッケージがyum-cronにより更新されました。
また、/var/log/yum.log でも更新されたことが記録されていました。
更新: postgresql-libs.x86_64 9.2.23-3.el7_4

# run-parts /etc/cron.daily/
/etc/cron.daily/0yum-daily.cron:

The following updates will be applied on ********:
================================================================================
 Package アーキテクチャー
 バージョン リポジトリー 容量
================================================================================
更新します:
 postgresql-libs x86_64 9.2.23-3.el7_4 updates 234 k

トランザクションの要約
================================================================================
更新 1 パッケージ
The updates were successfully applied

kusanagi plugin自体も自動更新されたい場合は (WordPressのprofile毎に)cronでkusanagi update plugin を追加してください。


前回の記事の最後に誤字修正をしたか、してないかの結果を次回の更新時に報告させていただくと書かせていただきました。

結果、、、誤字修正はなく初回の原稿提出のまま進めることができました( ´o`)

なお、今回の記事で紹介のyumの自動更新ですが、
自動更新は場合によっては予期せぬ不具合が起こるかもしれません(゜ロ゜ノ)ノ

社内のみで利用しているテスト環境とか、あまり外部に公開されない環境であれば自動更新で何らか不具合が起きても影響は小さい場合もありますが、更新情報はRSSなどで受信し、必要に応じて手動で更新の方がトラブルは少ないかもヾ(・ε・。)

KUSANAGI更新情報のRSSfeedは以下となりますので運用に合わせて参考にしてください。
https://kusanagi.tokyo/archives/feed/

 

<< (σ・∀・)σKUSANAGIで良くある質問3種適当にMroongaを入れようとしては駄目な話 乂(゚д゚`) >>

関連記事

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

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

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

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

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