KUSANAGI 8 から KUSANAGI 9 の変更点

『KUSANAGI 9』

最新の CentOS Stream 8/AlmaLinux OS 8 をベースにした KUSANAGI 最新版です。

  •  CentOS Stream 8/AlmaLinux OS 8 ベース
  • ミドルウェアバージョンの選択(nginx、httpd、mariadb)
    • 安定稼働の組み合わせや最新バージョンの組み合わせなど、よりお好みの環境を構築しやすくなりました。
  • 各種コマンド類を Python ベースにリファクタリング
    • KUSANAGI コマンドを内部的にリファクタリングし、間違ったオプションの組み合わせを検出するようになりました。
    • 以前のバージョンは、重複する組み合わせのオプションを指定された場合、特にエラーを表示することなく最後に指定されたオプションを選択するようになっていました。期待しない環境を構築する恐れがあったため、KUSANAGI 9 ではオプションの組み合わせで重複する設定があった場合にはエラーを返すように設計されています。
    • ヘルプ -h / --help オプションが kusanagi コマンドおよび kusanagi サブコマンドすべてで表示されるようになりました。

『KUSANAGI 9』の変更点

kusanagi ユーザで実行可能

KUSANAGI 9 では、kusanagi コマンドを root だけでなく kusanagi ユーザで実行が可能に変更しました。

インストール先を /opt/kusanagi 配下へ変更

KUSANAGI 9 では、kusanagi コマンドや kusanagi の各モジュールを /opt/kusanagi 配下にインストールするように変更しました。
設定ファイルは /etc/opt/kusanagi に、ログファイルは /var/opt/kusanagi に配置されます。
kusanagi コマンドのフルパスは /opt/kusanagi/bin/kusanagi となります。
従来通り kusanagi で使用できるようにデフォルトで /opt/kusanagi/bin にパスを通しています。
また /usr/local/bin/kusanagi にシンボリックリングが用意されています。

プロファイル指定を target サブコマンドから各種サブコマンドのオプション指定へ変更

KUSANAGI 9 では、サブコマンドの対象プロファイル指定を各コマンドのオプションとして追加するように変更しました。
オプションにプロファイル指定を追加できるコマンドは以下の通りです。

KUSANAGI 8 KUSANAGI 9 備考
target {profile} status {option} {profile}
update {option} {profile}
remove {option} {profile}
bcache {option} {profile}
fcache {option} {profile}
configure {option} {profile}
monit {option} {profile}
ssl {option} {profile}
各サブコマンドでプロファイルを指定できるように変更しました。
プロファイルの指定は省略できます。その場合は、現在のカレントディレクトリのプロファイルに対し各サブコマンドを実行します。以前のバージョンでは target サブコマンドでプロファイルを変更した後に、各サブコマンドを実行していました。
プロファイルの指定方法の変更に伴い、target サブコマンドは廃止となりました。

サブコマンド名の変更

KUSANAGI 8 KUSANAGI 9 備考
php7
php8
php サブコマンド名を変更しました。
ruby24 ruby サブコマンド名を変更しました。
setting configure サブコマンド名を変更しました。

【注意】KUSANAGI 9 より configure サブコマンドは以前バージョンと機能が異なります。

kusanagi init のオプション変更

KUSANAGI 8 KUSANAGI 9 備考
--nginx --nginx123
--nginx122
--nginx121 (9.2.10で廃止)
--nginx120 (9.2.10で廃止)
--nginx119 (9.0.12で廃止)
--nginx118 (9.0.12で廃止)
ウェブサーバーのミドルウェアとバージョンを指定するよう、オプション名が変更されました。
--httpd --httpd24
--php7
--php8
--php81
--php80
--php74
--php73 (9.1.13で廃止)
PHP のバージョンを指定するよう、オプション名が変更されました。
--hhvm
--php5
(廃止) CentOS Stream 8/AlmaLinux OS 8 のサポート対象外バージョンにつき、オプションは廃止になりました。
--ruby24 --ruby
--ruby26
Ruby サポートバージョン変更につき、オプション名が変更されました。
--dbsystem --mariadb10.3
--mariadb10.4
--mariadb10.5
--mariadb10.6
--mariadb10.7
--mariadb10.8
--mariadb10.9
データベースのミドルウェアとバージョンを指定するよう、オプション名が変更されました。
--psql --psql13

kusanagi provision のオプション変更

KUSANAGI 8 KUSANAGI 9 備考
--WordPress
--wordpress
--wp
--wordpress
WordPress 環境をプロビジョンするオプションのうち、大文字の --WordPress オプションは廃止になりました。
新たに --wp オプションが使用できます。
小文字の --wordpress オプションは従来通り使用できます。
--c5
--concrete5
(検討中) WordPress を除く各種CMS/フレームワークは検討中のため使用できません。
--drupal
--drupal8
--drupal7
--rails
--RubyonRails
--woo
--WooCommerce

kusanagi bcache / kusanagi fcache のオプション変更

 

KUSANAGI 8 KUSANAGI 9 備考
bcache bcache status ステータスを確認する場合は、オプション (指定なし) から status を指定する方式に変わりました。
fcache fcache status
bcache clear [path [--dryrun]] [--dryrun] bcache clear [--path /path/to] --dryrun オプションは、各サブコマンドで共通して使える --dryrun オプションに変更となりました。
--dryrun オプションはサブコマンドの直前に指定してください。
fcache clear [path [--dryrun]] [--dryrun] fcache clear [--path /path/to]

kusanagi nginx / kusanagi httpd / kusanagi php / kusanagi dbinit mariadb / kusanagi dbinit psql / kusanagi ruby
ミドルウェアのバージョン切替 --use オプションの追加

kusanagi init 後にミドルウェアのバージョンを切り替える際に使用するサブコマンドとなります。

KUSANAGI 8 KUSANAGI 9 備考
(なし) nginx [--use {installed | nginx123 | nginx122 | nginx121 (9.0.12で廃止) | nginx120 (9.0.12で廃止) | nginx119 (9.0.12で廃止) | nginx118 (9.0.12で廃止)}]
httpd [--use {installed | httpd24}]
php [--use {installed | php81 | php80 | php74 | php73 (9.1.13で廃止)}]
dbinit mariadb [--use {installed | mariadb10.9 | mariadb10.8 | mariadb10.7 | mariadb10.6 | mariadb10.5 | mariadb10.4 | mariadb10.3}]
dbinit psql [--use {installed | psql13}]
ruby [--use {installed | ruby:2.6}]
ミドルウェアバージョン変更の --use オプション追加

kusanagi dbinit のオプション必須化

KUSANAGI 8 KUSANAGI 9 備考
dbinit dbinit mariadb
dbinit psql
dbinit はオプションが必須のサブコマンドになりました。

kusanagi update cert のプロファイル指定廃止

KUSANAGI 8 KUSANAGI 9 備考
update cert {profile} update cert プロファイルの指定はできなくなりました。

kusanagi addon の追加機能

KUSANAGI 8 KUSANAGI 9 備考
mroonga
go
vuls
tripwire
suricata
shibboleth
zabbix サポートする追加機能が異なります。

廃止されたサブコマンド

KUSANAGI 8 KUSANAGI 9 備考
hhvm
warm-up
(廃止) CentOS Stream 8/AlmaLinux OS 8 で HHVM のサポート対象外バージョンにつき、このサブコマンドは廃止になりました。
php-fpm (廃止) CentOS Stream 8/AlmaLinux OS 8 で PHP 5 のサポート対象外バージョンにつき、このサブコマンドは廃止になりました。
https ssl --https ssl コマンドのオプションで実行可能であるコマンドのため、このサブコマンドは廃止になりました。
autorenewal ssl --auto
configure dbinit
php
configure コマンドは2つのコマンドに機能を移管したため、このサブコマンドは廃止となりました。
・データベースのパラメータの調整は、dbinit コマンドで調整
・PHPのパラメータの調整は、php コマンドで調整
【注意】KUSANAGI 9 より configure サブコマンドは別のサブコマンドとなりますので、前バージョンと機能が異なります。
target (廃止) プロファイルの変更は、各サブコマンドの実行時にオプションでプロファイルを指定するように変更されました。
例)kusanagi bcache on {profile}

未実装のサブコマンド

KUSANAGI 8 KUSANAGI 9 備考
images (未実装) このサブコマンドは未実装です。
selinux (未実装) このサブコマンドは未実装です。
zabbix (未実装) このサブコマンドは未実装です。

『KUSANAGI 9』の変更に伴う注意点

NginxおよびApache httpdのデフォルトサーバー (Welcome to nginx! や It works! のページ) を無効にしています。IPアドレスやプロファイルで指定していないFQDNでアクセスした場合は、アルファベット順で最初のプロファイルが使われます。

下記のミドルウェアは CentOS Stream 8/AlmaLinux OS 8 側もしくはミドルウェア側でサポートを終了しています。以下の環境をご利用の方はご注意ください。

  • HHVM は動作環境対象外となりました。
  • PHP 5 は動作環境対象外となりました。
  • MariaDB 10.1 は動作環境対象外となりました。
  • PostgreSQL 9.6 は動作環境対象外となりました。

下記のミドルウェアは KUSANAGI9 で未実装のためサポート対象外となっています。ご了承ください。

  • WordPress を除くCMS及びフレームワーク