HOME » Documents » Changes from KUSANAGI 8 to KUSANAGI 9

Changes from KUSANAGI 8 to KUSANAGI 9

"KUSANAGI 9"

This is the latest version of KUSANAGI, built on the latest versions of CentOS Stream 8, AlmaLinux OS 8, CentOS Stream 9 and AlmaLinux OS 9.

  • Built on CentOS Stream 8, AlmaLinux OS 8, CentOS Stream 9 and AlmaLinux OS 9.
  • Middleware selection (nginx, httpd, mariadb)
    • It is now easier to build your preferred environment with stable operations and the latest versions, etc.
  • Python based refactoring of various commands
    • KUSANAGI commands have now been internally re-factored to detect incorrect option combinations.
    • In previous versions, if duplicate combinations of options were given, the last option specified would be selected without displaying any error. To prevent the possibility of building an environment that doesn't behave as expected, KUSANAGI 9 is designed to display an error message if there is a duplicate setting in a combination of options.
    • The help "-h" / "--help" option is now displayed with "kusanagi" commands and all "kusanagi" subcommands.

Changes in “KUSANAGI 9”

"kusanagi" Users Can Execute Commands

In KUSANAGI 9, not only "root" users, but all "kusanagi" users can execute "kusanagi" commands.

Installation Destination Changed to "/opt/kusanagi"

In KUSANAGI 9, "kusanagi" commands and "kusanagi" modules are now installed under "/opt/kusanagi".
Configuration files are now located in "/etc/opt/kusanagi" and log files in "/var/opt/kusanagi".
The full path of "kusanagi" commands is "/opt/kusanagi/bin/kusanagi".
The default PATH variable is "/opt/kusanagi/bin", the same as in previous versions of "kusanagi".
Also, a symbolic link is provided in "/usr/local/bin/kusanagi".

Specifying Profile Changed from "target" Subcommand to Specifying Profile with Subcommand Options

In KUSANAGI 9, specifying a profile has changed from using the "target" subcommand to setting a profile with certain subcommand options.
The commands to which profile specification can be added as an option are as follows:

KUSANAGI 8 KUSANAGI 9 Remarks
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}

Now able to specify a profile for each subcommand.
Profile specification can be omitted. In such cases, each subcommand will be executed against the profile in the current directory. In previous versions, each subcommand was executed after the profile was changed with the "target" subcommand.
With this change in the profile specification method, the "target" subcommand is now obsolete.

Changed in the Subcommand Names

KUSANAGI 8 KUSANAGI 9 Remarks
php7
php8
php Subcommand names have been changed.
ruby24 ruby Subcommand names have been changed.
(Not supported by CentOS Stream 9, AlmaLinux OS 9)
setting configure Subcommand names have been changed.
Note: Starting with KUSANAGI 9, the function of the subcommand "configure" differs from previous versions.

Options for "kusanagi init" Have Changed

KUSANAGI 8 KUSANAGI 9 Remarks
--nginx --nginx125
--nginx124
--nginx123 (discontinued as of 9.4.5)
--nginx122 (discontinued as of 9.4.5)
--nginx121 (discontinued as of 9.2.10)
--nginx120 (discontinued as of 9.2.10)
--nginx119 (discontinued as of 9.0.12)
--nginx118 (discontinued as of 9.0.12)
Option names have been changed to specify the web server middleware and version.
--httpd --httpd24
--php7
--php8
--php83
--php82
--php81
--php80
--php74
--php73 (discontinued as of 9.1.13)
Option names have been changed to specify the PHP version.
--hhvm
--php5
(Discontinued) This option has been discontinued because CentOS Stream 8, AlmaLinux OS 8, CentOS Stream 9 and AlmaLinux OS 9 no longer support these versions.
--ruby24 --ruby
--ruby26
Option name changed due to changes in which Ruby versions are supported.
(Not supported by CentOS Stream 9, AlmaLinux OS 9)
--dbsystem --mariadb10.3
--mariadb10.4
--mariadb10.5
--mariadb10.6
--mariadb10.7 (discontinued as of 9.4.6)
--mariadb10.8 (discontinued as of 9.4.6)
--mariadb10.9 (discontinued as of 9.4.6)
--mariadb10.10 (discontinued as of 9.4.6)
--mariadb10.11
Option names have been changed to specify the database middleware and version.
(CentOS Stream 9, AlmaLinux OS 9 do not support "--mariadb10.3" and "--mariadb10.4")
--psql --psql13
--psql14
--psql15
--psql16

Options for "kusanagi provision" Have Changed

KUSANAGI 8 KUSANAGI 9 Remarks
--WordPress
--wordpress
--WordPress
--wp
Of the WordPress provisioning options, the lowercase "--wordpress" option is now obsolete.
A new "--wp" option is now available.
Uppercase "--WordPress" options are still available.
(N/A) --MovableType
--mt
Movable Type provisioning is now supported.
--drupal
--drupal8
--drupal7
--drupal Of the Drupal environment provisioning options, the "--drupal8" and "--drupal7" options have been discontinued.
A new option "--drupalversion" can be specified. Versions 9 and 10 are currently supported.
--c5
--concrete5
(Under review) With the exceptions of WordPress, Movable Type and Drupal, various other CMS/frameworks are under review and not available for use.
--rails
--RubyonRails
--woo
--WooCommerce

Options for "kusanagi bcache", "kusanagi fcache" Have Changed

KUSANAGI 8 KUSANAGI 9 Remarks
bcache bcache status When checking status, the method has changed from specifying an option (or no specification) to specifying "status".
fcache fcache status
bcache clear [path [--dryrun]] [--dryrun] bcache clear [--path /path/to] The "--dryrun" option has been changed to the common "--dryrun" option which can be used on all subcommands.
The "--dryrun" option must be specified immediately before the subcommand.
fcache clear [path [--dryrun]] [--dryrun] fcache clear [--path /path/to]

Added "--use" Options for Middleware Version Switching on "kusanagi nginx", "kusanagi httpd", "kusanagi php", "kusanagi dbinit mariadb", "kusanagi dbinit psql" and "kusanagi ruby"

This subcommand is used after "kusanagi init" to switch middleware versions.

KUSANAGI 8 KUSANAGI 9 Remarks
(N/A) nginx [--use {installed | nginx125 | nginx124 | nginx123 (discontinued as of 9.4.5) | nginx122 (discontinued as of 9.4.5) | nginx121 (discontinued as of 9.2.10) | nginx120 (discontinued as of 9.1.10) | nginx119 (discontinued as of 9.0.12) | nginx118 (discontinued as of 9.0.12)}]httpd [--use {installed | httpd24}]php [--use {installed | php83 | php82 | php81 | php80 | php74 | php73 (discontinued as of 9.1.13)}]dbinit mariadb [--use {installed | mariadb10.11 | mariadb10.10 (discontinued as of 9.4.6) |  mariadb10.9 (discontinued as of 9.4.6) | mariadb10.8 (discontinued as of 9.4.6) | mariadb10.7 (discontinued as of 9.4.6) | mariadb10.6 | mariadb10.5 | mariadb10.4 | mariadb10.3}]

dbinit psql [--use {installed | psql13 | psql14 | psql15 | psql16}]

ruby [--use {installed | ruby:2.6}]

"--use" option added for middleware version switching.
(CentOS Stream 9 and AlmaLinux OS 9 do not support "dbinit mariadb --use mariadb10.4", "dbinit mariadb --use mariadb10.3" and "ruby".)

Mandatory Options for "kusanagi dbinit"

KUSANAGI 8 KUSANAGI 9 Remarks
dbinit dbinit mariadb
dbinit psql
In KUSANAGI 9, the subcommand "dbinit" must be set as an option.

Profile Option No Longer Needed for "kusanagi update cert"

KUSANAGI 8 KUSANAGI 9 Remarks
update cert {profile} update cert Profile option can no longer be specified.

Additional Features of "kusanagi addon"

KUSANAGI 8 KUSANAGI 9 Remarks
mroonga
go
vuls
tripwire
suricata
shibboleth
zabbix There may be differences in which additional features are supported.

Discontinued Subcommands

KUSANAGI 8 KUSANAGI 9 備考
hhvm
warm-up
(Discontinued) These subcommands have been discontinued because versions of HHVM on CentOS Stream 8, AlmaLinux OS 8, CentOS Stream 9 and AlmaLinux OS 9 are no longer supported.
php-fpm (Discontinued) This subcommand has now been discontinued because PHP version 5 is no longer supported by CentOS Stream 8, AlmaLinux OS 8, CentOS Stream 9 and AlmaLinux OS 9.
https ssl --https These subcommands have now been discontinued due to becoming optional commands of the "ssl" command.
autorenewal ssl --auto
configure dbinit
php
The functions of the "configure" command have been transferred to the following 2 commands, therefore "configure" has been discontinued.
-Database parameters are adjusted using the "dbinit" command.
-PHP parameters are adjusted using the "php" command
[Note] Starting with KUSANAGI 9, the "configure" subcommand is a totally different subcommand, so its function differs from that of previous versions.
target (Discontinued) Setting the "profile" has been adjusted from the previous version. You can specify the profile when running each subcommand.
Example) "kusanagi bcache on {profile}"
zabbix (Discontinued) This subcommand has been discontinued because the "addon install" command installs and the "addon remove" command removes.

Unimplemented Subcommands

KUSANAGI 8 KUSANAGI 9 Remarks
images (Unimplemented) This subcommand is not yet implemented.
selinux (Unimplemented) This subcommand is not yet implemented.

Notes Regarding Changes in "KUSANAGI 9"

The default servers for Nginx and Apache httpd are disabled (The "Welcome to nginx!" and "It works!" pages).  If accessed with an IP address or FQDN that is not specified in the profile, the first profile in alphabetical order will be used.

Support for the following middlewares has ended, on CentOS Stream 8, AlmaLinux OS 8, CentOS Stream 9 and AlmaLinux OS 9 or the middleware itself. Please be careful if you are using the following.

  • HHVM is no longer supported.
  • PHP 5 is no longer supported.
  • MariaDB 10.1 is no longer supported.
  • PostgreSQL 9.6 is no longer supported.

Support for the following middlewares has ended on CentOS Stream 9 and AlmaLinux OS 9 or on the middleware itself. Please be careful if you are using the following.

  • MariaDB 10.3 and 10.4 are no longer supported.

The following middleware has not yet been implemented in KUSANAGI 9 and is therefore not supported. Please be aware.

  • CMS and other frameworks, except WordPress, Movable Type and Drupal.