KUSANAGI9 コマンド

kusanagi コマンドは root ユーザーか、もしくは www グループに所属しているユーザーで実行できます。(kusanagi ユーザーはデフォルトで www グループに所属しています)
kusanagi コマンドが使用できない場合、ユーザーが root ユーザーか、もしくは www グループに所属しているかご確認ください。
kusanagi コマンドのフルパスは /opt/local/bin/kusanagi です。

-V | --version

現KUSANAGI環境のバージョン情報を確認します。

使用例

kusanagi -V
kusanagi --version

オプション

なし

実行例

# kusanagi -V
KUSANAGI Version 9.0.0-1.el8

-h | --help

kusanagi コマンドや、各サブコマンドの使い方が表示されます。

使用例

kusanagi -h
kusanagi init -h
kusanagi ssl -h

オプション

なし


[--dryrun] {subcommand}

kusanagi サブコマンドの実行を実際に行わずに、サブコマンドの実行結果を確認できます。
--dryrun オプションはサブコマンドの直前に指定してください。

使用例

kusanagi --dryrun provision test
kusanagi --dryrun bcache clear --path /path/to

オプション

kusanagi サブコマンドによります。


init

KUSANAGIの初期設定
KUSANAGI仮想マシンにおけるLinuxやデータベースのユーザーパスワードの設定、変更を行います。

使用例

kusanagi init --passwd password --nophrase --dbrootpass dbrootpass

オプション

[--tz TZ] タイムゾーンとして TZ を指定します。
デフォルトは Asia/Tokyo です。
[--lang {en|ja}] 使用言語の選択を行います。en もしくは ja を指定します。
enを指定すると英語ロケール(en_US.UTF-8)を、jaを指定すると日本語ロケール(ja_JP.UTF-8)を設定します。
デフォルトは ja です。
[--keyboard {en|ja}] キーボードタイプの設定を行います。en もしくは ja を指定します。
オプション--keyboard enを指定すると英語キーボード(us配列)を、オプション--lang jaを指定すると日本語キーボード(jp106配列)を設定します。
デフォルトは ja です。
--passwd パスワード |
--kusanagi-pass パスワード
ユーザー kusanagi のパスワードとして指定したパスワードを設定します。
オプション --passwd、--kusanagi-pass は同時に指定できません。
オプション --passwd、--kusanagi-pass のいずれかの指定が必須です。
--phrase フレーズ |
--kusanagi-phrase フレーズ |
--nophrase |
--no-phrase
オプション--phraseもしくは--kusanagi-phraseを指定したときは、ユーザー kusanagi のSSHユーザ鍵のパスフレーズとして、指定したフレーズを設定します。
パスフレーズには、5文字以上の文字列を指定してください。
オプション--nophraseもしくは--no-phraseを指定したときは、ユーザー kusanagi のSSHユーザ鍵のパスフレーズとして、空文字列を設定します。
オプション --phrase、--kusanagi-phrase、 --nophrase、--no-phrase は同時に指定できません。
オプション --phrase、--kusanagi-phrase、 --nophrase、--no-phrase のいずれかの指定が必須です。
--dbrootpass パスワード MariaDBのrootパスワードとして指定したパスワードを設定します。
このパスワードには、「A~Z、a~z、0~9、.、!、#、%、+、_、-」の組み合わせからなる8文字以上の文字列を指定してください。
オプション --dbrootpass の指定が必須です。
[--nginx125 |
--nginx124 |
--nginx123 |
--nginx122 |
--nginx121 (9.2.10で廃止) |
--nginx120 (9.2.10で廃止) |
--nginx119 (9.0.12で廃止) |
--nginx118 (9.0.12で廃止) |
--httpd24]
起動するWebサーバを指定します。--nginx125を指定したときは NGINX 1.25を、--nginx124を指定したときは NGINX 1.24を、--nginx123を指定したときは NGINX 1.23を、--nginx122を指定したときは NGINX 1.22を、--nginx121 (9.2.10で廃止)を指定したときは NGINX 1.21を、--nginx120 (9.2.10で廃止)を指定したときは NGINX 1.20を、--nginx119 (9.0.12で廃止)を指定したときは NGINX 1.19を、--nginx118 (9.0.12で廃止)を指定したときは NGINX 1.18を、--httpd24を指定したときは Apache HTTPD 2.4を起動します。
オプション --nginx125、--nginx124、--nginx123、--nginx122、--nginx121 (9.2.10で廃止)、--nginx120 (9.2.10で廃止)、--nginx119 (9.0.12で廃止)、--nginx118 (9.0.12で廃止)、--httpd24 は同時に指定できません。
デフォルトは --nginx125 です。
[--mariadb10.3 |
--mariadb10.4 |
--mariadb10.5 |
--mariadb10.6 |
--mariadb10.7 |
--mariadb10.8 |
--mariadb10.9 |
--mariadb10.10 |
--mariadb10.11 |
--psql13 |
--psql14 |
--psql15]
起動するデータベースサーバを指定します。--mariadb10.3を指定したときはMariaDB 10.3を、--mariadb10.4を指定したときはMariaDB 10.4を、--mariadb10.5を指定したときはMariaDB 10.5を、--mariadb10.6を指定したときはMariaDB 10.6を、--mariadb10.7を指定したときはMariaDB 10.7を、--mariadb10.8を指定したときはMariaDB 10.8を、--mariadb10.9を指定したときはMariaDB 10.9を、--mariadb10.10を指定したときはMariaDB 10.10を、--mariadb10.11を指定したときはMariaDB 10.11を、--psql13を指定したときはPostgreSQL 13を、--psql14を指定したときはPostgreSQL 14、--psql15を指定したときはPostgreSQL 15を起動します。
オプション --mariadb10.3、--mariadb10.4、--mariadb10.5、--mariadb10.6、--mariadb10.7、--mariadb10.8、--mariadb10.9、--mariadb10.10、--mariadb10.11、--psql13、--psql14、--psql15 は同時に指定できません。
デフォルトは --mariadb10.5 です。
なお、MariaDB 10.7、MariaDB 10.8、MariaDB 10.9、MariaDB 10.10は1年間の短期サポート (short-term support) です。
CentOS Stream 9/AlmaLinux OS 9はオプション --mariadb10.3、--mariadb10.4 を指定できません。
[--php82
--php81 |
--php80 |
--php74 |
--php73 (9.1.13で廃止) ]
使用するPHPを指定します。--php82を指定したときは PHP 8.2を、--php81を指定したときは PHP 8.1を、--php80を指定したときは PHP 8.0を、--php74を指定したときは PHP 7.4を、--php73 (9.1.13で廃止) を指定したときはPHP 7.3を使用します。
オプション --php82、--php81、--php80、--php74、--php73 (9.1.13で廃止) は同時に指定できません。
デフォルトは --php81 です。
[--ruby26 |
--ruby]
使用するrubyを指定します。--ruby26をもしくは--rubyを指定した場合は、Rubyのバージョンとして2.6.xを使用します。
オプション --ruby26、--ruby は同時に指定できません。
デフォルトでは指定されません。
CentOS Stream 9/AlmaLinux OS 9はオプション --ruby を指定できません。

実行例

『KUSANAGIの初期設定』参照


provision

WordPressのプロビジョニング
KUSANAGIでWordPressなどを使用するためのプロファイルを作成します。これにより、Webサーバーのコンフィグや、ドキュメントルートなどがプロビジョニング(配置)されます。

使用例

kusanagi provision --wp --fqdn host.example.com --email saya@example.com --dbname kusanagi_html --dbuser kusanagi_html --dbpass kusanagi_passwd kusanagi_html

オプション

--wp | --WordPress |
--lamp | --LAMP |
--fcgi | --FCGI |
--mt | --MT | --MovableType |
--drupal | --Drupal
オプション --wp もしくは --WordPressを指定すると、WordPressをプロビジョンします。
オプション --lamp もしくは --LAMP を指定すると、LAMP(Linux+Apache HTTPD+MariaDB+PHP) もしくは LEMP(Linux+NGINX+MariaDB+PHP)で使用するための設定のみをプロビジョンします。
オプション --fcgi もしくは --FCGI を指定すると、Perl CGIを使用できるLAMP もしくは LEMPの設定のみをプロビジョンします。
オプション --mt、--MT もしくは --MovableType を指定すると、Movable Type 7を使用するための設定のみをプロビジョンします。Movable Type 7を合わせてプロビジョンするには、後述の --package を指定してください。
オプション --drupal もしくは --Drupal を指定すると、Drupalをプロビジョンします。
オプション --wp、--WordPress、--lamp、--LAMP、--fcgi、--FCGI、--mt、--MT、--MovableType、--drupal、--Drupal は同時に指定できません。
オプション --wp、--WordPress、--lamp、--LAMP、--fcgi、--FCGI、--mt、--MT、--MovableType、--drupal、--Drupal のいずれかの指定が必須です。
[--wplang {en_US|ja}] WordPress をプロビジョンするときにのみ有効です。
en_US を指定すると、WordPress のインストール時に言語選択が可能になります。
ja を指定すると、WordPress 日本語版がインストールされます。
デフォルトは ja です。
[--wpversion バージョン] WordPress をプロビジョンするときにのみ有効です。
インストールする WordPress のバージョンを指定します。
デフォルトは latest です。
--fqdn ホスト名 作成するプロファイルで使用するホスト名(FQDN)を指定します。
指定されたホスト名は、Webサーバの設定ファイルおよび /etc/hosts ファイルに設定されます。
オプション --fqdn の指定が必須です。
--email Emailアドレス |
--noemail |
--no-email
オプション --email を指定すると、指定されたEmailアドレスを使用して、Let’s Encrypt のSSL証明書を発行します。
オプション --noemail もしくは --no-email を指定すると、Let’s Encrypt のSSL証明書を発行しません。
オプション --email、--noemail、--no-email は同時に指定できません。
オプション --email、--noemail、--no-email のいずれかの指定が必須です。
--dbname データベース名 指定したデータベース名で、データベースを新規作成します。
データベース名には、「A~Z、a~z、0~9、.、_、-」の組み合わせからなる3~64文字の文字列を指定してください。
オプション --dbname の指定が必須です。
--dbuser DBユーザー名 新規作成するデータベースへアクセスするためのDBユーザー名を指定します。
DBユーザー名には、「A~Z、a~z、0~9、.、_、-」の組み合わせからなる3~16文字の文字列を指定してください。
オプション --dbuser の指定が必須です。
--dbpass DBパスワード DBユーザに対応するパスワードとして指定したDBパスワードを設定します。
このDBパスワードには、「A~Z、a~z、0~9、.、!、#、%、+、_、-」の組み合わせからなる8文字以上の文字列を指定してください。
オプション --dbpass の指定が必須です。
[--with-www] 明示的にwwwつきのホスト名(FQDN)を追加して設定します。デフォルトはFQDNがゾーンAPEXかどうかによって自動判定します。
[--package パッケージ名] Movable Type 7をプロビジョンするときにのみ有効です。
プロビジョンするMovable Type 7パッケージのファイル名を指定します。zip形式、tar.gz形式の両方に対応しています。
[--drupalversion バージョン] Drupal をプロビジョンするときにのみ有効です。
インストールする Drupal のバージョンを指定します。
9 または 10 に対応しています。
デフォルトは 9 です。
profile 任意のプロファイル名を指定します。
プロファイル名は、「A~Z、a~z、0~9、.、_、-」の組み合わせからなる3~24文字の文字列である必要があります。
profile の指定が必須です。

実行例

『WordPressのプロビジョニング』参照


status

KUSANAGIのプロファイルの状態を表示します。

使用例

kusanagi status kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルを表示します。
デフォルトはカレントのプロファイルを表示します。
また、カレントがプロファイルではない場合はミドルウェアの状態のみを表示します。

実行例

# kusanagi status                                                                                                                         
Profile: example
FQDN: example.com
Type: wp
KUSANAGI Version 9.0.0-1.el8
[VMイメージ名]

*** (active) nginx : nginx119 ***
* nginx.service - The NGINX HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-09-08 09:20:48 JST; 20min ago

*** (inactive) httpd : httpd ***
* httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

*** (active) php : php74 ***
* php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-09-08 09:21:29 JST; 19min ago

*** (active) mariadb : mariadb10.5 ***
* mariadb.service - MariaDB 10.5.5 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-09-08 09:23:14 JST; 18min ago

*** (inactive) psql :  ***


*** (inactive) pgpool-II :  ***


*** python ***
Python 3.9.11

*** ruby ***
ruby is not installed.

*** Cache status ***
fcache off

*** WAF ***
off

*** SELinux ***
off

status completed.

表示内容は以下の通りです。

  • Profile
    プロファイル。
  • FQDN
    プロファイルのFQDN。
  • Type
    プロファイルのプロファイルタイプ。wp、lamp、fcgi、mtのいずれかが入る。
  • KUSANGI Version
    現在のKUSANAGIバージョン番号。
  • VMイメージ名
    使用するクラウドプロバイダ固有の文字列。
  • *** nginx ***
    NGINXのステータス。起動しているときは、Active行に active (running) が表示される。
  • *** httpd ***
    Apache HTTPDのステータス。起動しているときは、Active行に active (running) が表示される。
  • *** php ***
    PHPのステータス。起動しているときは、Active行に active (running) が表示される。
  • *** mariadb ***
    MariaDBのステータス。起動しているときは、Active行に active (running) が表示される。
  • *** psql ***
    PostgreSQLのステータス。起動しているときは、Active行に active (running) が表示される。
  • *** pgpool-II ***
    PostgreSQLのステータス。起動しているときは、Active行に active (running) が表示される。
  • *** python ***
    pythonのステータス。使用しているときは、バージョンが表示される。
  • *** ruby ***
    rubyのステータス。使用しているときは、バージョンが表示される。
  • *** Cache status ***
    fcache が on か off かを表示する。
    bcache がon か off かを表示する。bcacheはプロファイルタイプがWordPress以外の場合や、WordPressの初期設定を行っていない場合は表示されない。
  • *** WAF ***
    WAF がon か off かを表示する。
  • *** SELinux ***
    SELinux がon か off かを表示する。

update plugin

KUSANAGI 専用プラグインの更新を行います。

使用例

kusanagi update plugin kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルを更新します。
デフォルトはカレントのプロファイルを更新します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi update plugin kusanagi_html
Installed KUSANAGI plugin is already the latest version. Nothing to do.
Installed KUSANAGI configure plugin is already the latest version. Nothing to do.
update completed.

update cert

Let’s Encrypt SSL証明書の更新を行います。

使用例

kusanagi update cert

オプション

なし

実行例

# kusanagi update cert
update completed.

upgrade kusanagi

無償版のKUSANAGIを上位エディションにアップグレードします。
実施する前は現環境のバックアップを取得しておき、実施後にリストアできる状態にしておくことが推奨されます。

使用例

kusanagi upgrade kusanagi --edition business --use production --key xxxx-xxxx-xxxx-xxxx
kusanagi upgrade kusanagi --edition premium --use personal --key xxxx-xxxx-xxxx-xxxx

パラメータ

--edition {business|premium} 購入したライセンスのエディションを指定します。
( business : Business Edition | premium : Premium Edition )
--use {production|staging|
development|personal}
利用する用途の種別を指定します。
( production : 本番環境 | staging : 検証環境 | development : 開発環境 | personal : 個人利用環境 )
--key サブスクリプションキー サブスクリプションキーを指定します。

upgrade mariadb

MariaDBのバージョンをアップグレードします。ダウングレードを試みた場合、エラーとなります。
実施する前は現環境のバックアップを取得しておき、実施後にリストアできる状態にしておくことが推奨されます。

使用例

kusanagi upgrade mariadb --use mariadb10.4
kusanagi upgrade mariadb --use mariadb10.5
kusanagi upgrade mariadb --use mariadb10.6

パラメータ

--use {mariadb10.3|
mariadb10.4|mariadb10.5|
mariadb10.6|mariadb10.7|
mariadb10.8|mariadb10.9|
mariadb10.10|mariadb10.11}
アップグレード先のMariaDBを指定します。
mariadb10.3を指定したときはMariaDB 10.3に、mariadb10.4を指定したときはMariaDB 10.4を、mariadb10.5を指定したときはMariaDB 10.5に、mariadb10.6を指定したときはMariaDB 10.6に、mariadb10.7を指定したときはMariaDB 10.7に、mariadb10.8を指定したときはMariaDB 10.8に、mariadb10.9を指定したときはMariaDB 10.9に、mariadb10.10を指定したときはMariaDB 10.10に、mariadb10.11を指定したときはMariaDB 10.11にアップグレードします。
なお、MariaDB 10.7、MariaDB 10.8、MariaDB 10.9、MariaDB 10.10は1年間の短期サポート (short-term support) です。
CentOS Stream 9/AlmaLinux OS 9は mariadb10.3、mariadb10.4 を指定できません。

upgrade psql

PostgreSQLのバージョンをアップグレードします。ダウングレードを試みた場合、エラーとなります。
実施する前は現環境のバックアップを取得しておき、実施後にリストアできる状態にしておくことが推奨されます。

使用例

kusanagi upgrade psql --use psql14

パラメータ

--use {psql13|psql14|psql15} アップグレード先のPostgreSQLを指定します。
psql13を指定したときはPostgreSQL 13に、psql14を指定したときPostgreSQL 14に、psql15を指定したときPostgreSQL 15にアップグレードします。

remove

KUSANAGIで使用するプロファイルを削除します。このコマンドは、設定ファイル、DocumentRootの内容、データベースを削除します。

使用例

kusanagi remove
kusanagi remove -y kusanagi_html

オプション

[-y] -y を指定しない場合、設定ファイル、DocumentRoot、データベースを削除する際に、対話的に y/n を入力します。
-y を指定する場合、y/n を入力することなくすべて削除します。
[profile] profileを指定した場合、指定したプロファイルを削除します。
デフォルトはカレントのプロファイルを削除します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi remove kusanagi_html
remove configuration files for profile? [y/n] y
remove contents in /home/kusanagi/profile? [y/n] y
remove database for profile? [y/n] y
reload completed.
remove completed.

dbinit mariadb

KUSANAGIで使用するデータベースを変更、あるいは新規に選択します。

使用例

kusanagi dbinit mariadb --use mariadb10.5

オプション

(引数なし) データベースの設定を最適化します。
KUSANAGIのセットアップ後にインスタンスの変更等行った場合に実行します。
[--use {installed|
mariadb10.3|mariadb10.4|
mariadb10.5|mariadb10.6|
mariadb10.7|mariadb10.8|
mariadb10.9|mariadb10.10|
mariadb10.11}]
使用するデータベースサーバを指定します。
installedを指定したときは現在インストールされているMariaDBを、mariadb10.3を指定したときはMariaDB 10.3を、mariadb10.4を指定したときはMariaDB 10.4を、mariadb10.5を指定したときはMariaDB 10.5を、mariadb10.6を指定したときはMariaDB 10.6を、mariadb10.7を指定したときはMariaDB 10.7を、mariadb10.8を指定したときはMariaDB 10.8を、mariadb10.9を指定したときはMariaDB 10.9を、mariadb10.10を指定したときはMariaDB 10.10を、mariadb10.11を指定したときはMariaDB 10.11を起動します。
デフォルトは installed です。
なお、MariaDB 10.7、MariaDB 10.8、MariaDB 10.9、MariaDB 10.10は1年間の短期サポート (short-term support) です。
CentOS Stream 9/AlmaLinux OS 9は mariadb10.3、mariadb10.4 を指定できません。
[--dbrootpass パスワード] MariaDBのrootパスワードとして指定したパスワードを設定します。
このパスワードには、「A~Z、a~z、0~9、.、!、#、%、+、_、-」の組み合わせからなる8文字以上の文字列を指定してください。
デフォルトはパスワードを変更しません。

実行例

# kusanagi dbinit mariadb
innodb_buffer_pool_size = 768M
query_cache_size = 192M
dbinit mariadb configure completed.
dbinit mariadb completed.
dbinit completed.

dbinit psql

KUSANAGIで使用するデータベースを変更、あるいは新規に選択します。

使用例

kusanagi dbinit psql --use psql13

オプション

(引数なし) データベースの設定を最適化します。
KUSANAGIのセットアップ後にインスタンスの変更等行った場合に実行します。
[--use {installed|
psql13|psql14|psql15}]
使用するデータベースサーバを指定します。
installedを指定したときは現在インストールされているPostgreSQLを、psql13を指定したときはPostgreSQL 13を、psql14を指定したときはPostgreSQL 14を、psql15を指定したときはPostgreSQL 15を起動します。
デフォルトは installed です。
[--dbrootpass パスワード] PostgreSQLのrootパスワードとして指定したパスワードを設定します。
このパスワードには、「A~Z、a~z、0~9、.、!、#、%、+、_、-」の組み合わせからなる8文字以上の文字列を指定してください。
デフォルトはパスワードを変更しません。

実行例

# kusanagi dbinit psql
dbinit completed.

nginx

nginxを使用に切り替えます。また、サービスの再起動を行います。

使用例

kusanagi nginx

オプション

(引数なし) httpd を使用している場合は、nginx に切り替えます。
既にnginx を起動しているときは、nginxを再起動します。
[--use {installed|
nginx125|
nginx124|
nginx123|
nginx122|
nginx121 (9.2.10で廃止)|
nginx120 (9.2.10で廃止)|
nginx119 (9.0.12で廃止) |
nginx118 (9.0.12で廃止) }]
使用するNGINXのバージョンを指定します。
installedを指定したときは現在インストールされているNGINXを、nginx125を指定したときはNGINX 1.25を、nginx124を指定したときはNGINX 1.24を、nginx123を指定したときはNGINX 1.23を、nginx122を指定したときはNGINX 1.22を、nginx121 (9.2.10で廃止)を指定したときはNGINX 1.21を、nginx120 (9.2.10で廃止)を指定したときはNGINX 1.20を、nginx119 (9.0.12で廃止) を指定したときはNGINX 1.19を、nginx118 (9.0.12で廃止) を指定したときはNGINX 1.18を起動します。
デフォルトは installed です。
[--reload] 既存のセッションを切断することなく設定を再読込します。
[--test] 設定ファイルのチェックのみを行います。
[--update-conf] NGINX 1.25.1の仕様に合わせて設定ファイルを更新します。

実行例

# kusanagi nginx
nginx: the configuration file /etc/opt/kusanagi/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/opt/kusanagi/nginx/nginx.conf test is successful
Removed /etc/systemd/system/multi-user.target.wants/httpd.service.
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service -> /usr/lib/systemd/system/nginx.service.
nginx completed.

httpd

Apacheを使用に切り替えます。また、サービスの再起動を行います。

使用例

kusanagi httpd

オプション

(引数なし) nginx を使用している場合は、httpd に切り替えます。
既に httpd を起動しているときは、httpd を再起動します。
[--use {installed|httpd24}] 使用するApache HTTPDのバージョンを指定します。
installedを指定したときは現在インストールされているhttpdを、httpd24を指定したときはApache HTTPD 2.4を起動します。
デフォルトは installed です。
[--reload] 既存のセッションを切断することなく設定を再読込します。
[--test] 設定ファイルのチェックのみを行います。

実行例

# kusanagi httpd
Syntax OK
Removed /etc/systemd/system/multi-user.target.wants/nginx.service.
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service -> /usr/lib/systemd/system/httpd.service.
httpd completed.

php

PHP のバージョンを切り替えます。また、サービスの再起動を行います。

使用例

kusanagi php --use php74

オプション

(引数なし) PHPの設定を最適化します。
KUSANAGIのセットアップ後にインスタンスの変更等行った場合に実行します。
既に php-fpm を起動しているときは、php-fpm を再起動します。
[--use {installed|
php82|
php81|
php80|
php74|
php73 (9.1.13で廃止) }]
使用する PHP のバージョンを指定します。
installedを指定したときは現在インストールされているphpを、php82を指定したときはPHP 8.2を、php81を指定したときはPHP 8.1を、php80を指定したときはPHP 8.0を、php74を指定したときはPHP 7.4を、php73 (9.1.13で廃止) を指定したときはPHP 7.3を起動します。
デフォルトは installed です。

実行例

# kusanagi php
php completed.

ruby

Ruby のバージョンを切り替えます。

CentOS Stream 9/AlmaLinux OS 9は未対応です。

使用例

kusanagi ruby --use ruby:2.6

オプション

(引数なし) Ruby がインストールされているか表示します。
[--use {installed|ruby:2.6}] 使用する Ruby のバージョンを指定します。
installedを指定したときは現在インストールされているrubyを、ruby:2.6を指定したときはRuby 2.6を使用します。
デフォルトは installed です。

実行例

# kusanagi ruby
ruby completed.

restart

KUSANAGIが提供しているサービス(nginx、httpd、php) のうち、現在有効なサービスを再起動します。

使用例

kusanagi restart

オプション

なし

実行例

# kusanagi restart
restart completed.

bcache status

bcacheの状態を表示します。
WordPress 以外のプロファイルタイプの時、もしくはWordPressの初期設定を行っていないときは、何もしません。

使用例

kusanagi bcache status kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの bcache を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi bcache status kusanagi_html
bcache is on.
bcache completed.

bcache on

bcacheをオンに操作します。
WordPress 以外のプロファイルタイプの時、もしくはWordPressの初期設定を行っていないときは、何もしません。

使用例

kusanagi bcache on kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの bcache を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi bcache on kusanagi_html
bcache is on.
bcache completed.

bcache off

bcacheをオフに操作します。
WordPress 以外のプロファイルタイプの時、もしくはWordPressの初期設定を行っていないときは、何もしません。

使用例

kusanagi bcache off kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの bcache を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi bcache off kusanagi_html
bcache is off.
bcache completed.

bcache clear

bcacheをクリアします。
WordPress 以外のプロファイルタイプの時、もしくはWordPressの初期設定を行っていないときは、何もしません。

使用例

kusanagi bcache clear --path / kusanagi_html

オプション

[--path パス] bcache のキャッシュをクリアするパスを指定します。
pathには正規表現が使用できます。
デフォルトは全てクリアします。
[profile] profileを指定した場合、指定したプロファイルの bcache を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi bcache clear kusanagi_html
Clearing bcache.
truncate table `wp_site_cache`
bcache completed.

fcache status

fcacheの状態を表示します。

使用例

kusanagi fcache status kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの fcache を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi fcache status kusanagi_html
fcache is on.
fcache completed.

fcache on

fcacheをオンに操作します。
オンにした場合nginx使用に切り替わります。

使用例

kusanagi fcache on kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの fcache を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi fcache on kusanagi_html
Turning fcache on.
reload completed.
fcache completed.

fcache off

fcacheをオフに操作します。

使用例

kusanagi fcache off kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの fcache を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi fcache off kusanagi_html
Turning fcache off.
reload completed.
fcache completed.

fcache clear

fcacheをクリアします。

使用例

kusanagi fcache clear --path / kusanagi_html

オプション

[--path パス] fcache のキャッシュをクリアするパスを指定します。
pathには正規表現が使用できます。
デフォルトは全てクリアします。
[profile] profileを指定した場合、指定したプロファイルの fcache を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi fcache clear --path / kusanagi_html
Clearing fcache.
fcache clear completed.
fcache completed.

configure

provision 時に指定したホスト名(FQDN)を変更します。

使用例

kusanagi configure --fqdn host.example.com kusanagi_html

オプション

--fqdn ホスト名 変更するホスト名をFQDN(Fully Qualified Domain Name)で指定します。
オプション --fqdn の指定が必須です。
[profile] profileを指定した場合、指定したプロファイルのホスト名を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

ssl

SSLに関する設定を操作します。

使用例

kusanagi ssl --email saya@example.com kusanagi_html

オプション

[--email メールアドレス |
--cert 証明書ファイル --key 鍵ファイル]
オプション --email を指定すると、指定されたEmailアドレスを使用して、Let’s EncryptのSSL証明書を発行します。
Let’s Encrypt のSSL証明書の発行に成功したとき、SSL証明書の自動更新を有効化します。
オプション --email は --cert、--keyと同時に使用できません。
オプション --cert、--key を指定すると、指定された証明書ファイルと鍵ファイルをコピーしてSSL証明書として設定します。
オプション --cert と --key は同時に設定する必要があります。
オプション --cert と --key は --email と同時に使用できません。
[--https {redirect|noredirect}] HTTPからHTTPSに対する301 リダイレクトを設定します。
redirect を指定した場合は301 恒久的リダイレクトを指示するヘッダの送信を有効化します。
noredirect を指定した場合は301 恒久的リダイレクトを指示するヘッダの送信を無効化します。
[--hsts {on|off}] HSTS(HTTP Strict Transport Security)の設定を有効にします。
on を指定すると、HSTS を有効にします。
off を指定すると、HSTS を無効にします。
on を設定する場合、HSTS Preload リスト登録サイトにドメイン名を登録することを推奨します。
[--auto {on|off}] Let’s Encryptの証明書の自動更新を有効化・無効化します。
on を指定すると、Let’s Encryptの証明書自動更新を有効化します。
off を指定すると、Let’s Encryptの証明書自動更新を無効化します。
[--ct {on|off}] SSL証明書の透明性(Certification Transparency)オプションを有効化・無効化します。
on を指定すると、SSL証明書の透明性オプションを有効化します。
off を指定すると、SSL証明書の透明性オプションを無効化します。
[--no-register|--noregister] SSL証明書の透明性(Certification Transparency)オプションを有効化するときのみ有効です。
オプション --no-register もしくは --noregister を指定すると、SSL証明書のSCTを生成およびログサーバへの登録を行いません。
デフォルトはSSL証明書のSCT(Signed Certificate Timestamp)を生成し、ログサーバへの登録を行います。
[profile] profileを指定した場合、指定したプロファイルのSSLを操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

addon install

KUSANAGIに機能を追加します。

使用例

kusanagi addon install zabbix

オプション

zabbix Zabbix Version 5.0のエージェントを利用可能にします。(https://www.zabbix.com/jp
このモジュールは上級者向けです。この機能を使用するには別途Zabbixサーバが必要となります。

実行例

# kusanagi addon install zabbix
Retrieving https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
(中略)
Installed:
  zabbix-agent-5.0.19-1.el8.x86_64

Complete!
addon completed.

addon remove

KUSANAGIに追加した機能を削除します。

使用例

kusanagi addon remove zabbix

オプション

zabbix Zabbixのエージェントをアンインストールします。

実行例

# kusanagi addon remove zabbix
Dependencies resolved.
(中略)
Removed:
  zabbix-agent-5.0.19-1.el8.x86_64        zabbix-release-5.0-1.el8.noarch

Complete!
addon completed.

waf on

WAFをオンに操作します。

使用例

kusanagi waf on

オプション

なし。

WAFの機能についてはApacheの場合はModSecurity、nginxの場合はNAXSIを利用しています。

NAXSIの設定をカスタマイズするには、下記ファイルを編集することできます。

/etc/opt/kusanagi/nginx/naxsi.d/*/user.conf

ModSecurity(Apache)の設定をカスタマイズするには、下記ファイルを編集することできます。

/etc/opt/kusanagi/httpd/modsecurity.d/kusanagi_activated_rules/*/user.conf

waf off

WAFをオフに操作します。

使用例

kusanagi waf off

オプション

なし


monit

monitの状態を表示します。

使用例

kusanagi monit

オプション

なし

実行例

# kusanagi monit
monit is on
monit completed.

monit on

monitをオンに操作します。

使用例

kusanagi monit on

オプション

なし

実行例

# kusanagi monit on
monit is already on. Nothing to do.
monit completed.

monit off

monitをオフに操作します。

使用例

kusanagi monit off

オプション

なし

実行例

# kusanagi monit off
Turning off monit.
Removed /etc/systemd/system/multi-user.target.wants/monit.service.
monit completed.

monit config

monitの設定ファイルを生成します。

使用例

kusanagi monit config kusanagi_html

オプション

[profile] monitの設定ファイルを生成するときにのみ有効です。
profileを指定した場合、指定されたプロファイルのmonitの設定ファイルを生成します。
デフォルトはカレントのプロファイルのmonitの設定ファイルを生成します。カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi monit config kusanagi_html
monit completed.

monit reload

monitの監視設定をリロードします。

使用例

kusanagi monit reload

オプション

なし

実行例

# kusanagi monit reload
Reloading monit.
monit completed.

ratelimit status

DoS攻撃対策の設定の状態を表示します。

使用例

kusanagi ratelimit status kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの ratelimit を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi ratelimit status kusanagi_html
ratelimit is on.
ratelimit completed.

ratelimit on

DoS攻撃対策の設定をオンに操作します。nginxでのみ有効です。

使用例

kusanagi ratelimit on kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの ratelimit を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi ratelimit on kusanagi_html
ratelimit completed.

ratelimit off

DoS攻撃対策の設定をオフに操作します。nginxでのみ有効です。

使用例

kusanagi ratelimit off kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの ratelimit を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi ratelimit off kusanagi_html
ratelimit completed.

migrate

KUSANAGIのプロファイルを移行します。

使用例

kusanagi migrate --export kusanagi_html
kusanagi migrate --import kusanagi_html-2022-04-04.tar.gz

オプション

--export [profile] |
--import アーカイブ
オプション--exportを指定すると、指定したプロファイルをエクスポートするアーカイブを生成します。
デフォルトはカレントのプロファイルをエクスポートします。また、カレントがプロファイルではない場合はエラーになります。
※WEXAL Page Speed Technologyが有効なプロファイルのエクスポートはサポートしていません。
オプション--importを指定すると、指定したアーカイブを新規プロファイルとしてインポートします。
SSL証明書もインポートされますが、Let’s Encryptyの場合はDNSの変更後に kusanagi ssl コマンドで自動更新を有効にする必要があります。
オプション --export、--import は同時に指定できません。
オプション --export、--import のいずれかの指定が必須です。
プロファイルあるいはアーカイブのディスク容量とほぼ同じ空き容量が必要です。
[--output-archive アーカイブ] プロファイルをエクスポートするアーカイブを生成するときのみ有効です。
プロファイルをエクスポートするアーカイブのファイル名を指定します。拡張子は .tar.gz である必要があります。
デフォルトは /home/kusanagi/プロファイル名-日付.tar.gz です。

実行例

# kusanagi migrate --export kusanagi_html
Target profile is kusanagi_html.
Exported to /home/kusanagi/kusanagi_html-2022-04-04.tar.gz.
migrate completed.

# kusanagi migrate --import kusanagi_html-2022-04-04.tar.gz
Target directory is /home/kusanagi/kusanagi_html.
Backup SQL file is /home/kusanagi/kusanagi_html/kusanagi_html-2022-04-04.sql.
provison mariadb completed.
provison db completed.
reload completed.
Please restore config files form /home/kusanagi/kusanagi_html/conf.
migrate completed.

list

KUSANAGIのプロファイル一覧を表示します。

使用例

kusanagi list

オプション

なし

実行例

# kusanagi list
kusanagi_html
list completed.

show

KUSANAGIのプロファイルの詳細を表示します。

使用例

kusanagi show kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルを表示します。
デフォルトはカレントのプロファイルを表示します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi show kusanagi_html
type = wp
fqdn = host.example.com
dir = /home/kusanagi/kusanagi_html
dbname = kusanagi_html
dbuser = kusanagi_html
dbpass = ********
wplang = ja
mariadb = yes
psql = no
bcache = off
fcache = off
ratelimit = on
show completed.

analyze

※このコマンドはKUSANAGI 9 Business Editionのみ利用可能です。
KUSANAGIの環境を分析して、改善内容を提案します。

使用例

kusanagi analyze

オプション

[--output-archive 出力アーカイブのフルパス] 分析の結果をアーカイブ化して出力するパスを指定します。
パスの拡張子は.tar.gzにしてください。

実行例

引数なしで実行した場合は、全体及び各プロファイルごとの分析結果とその対策が表示されます。
ブラケット[]は全体/各プロファイルを示します。
括弧()は通知レベルを表しています。
深刻さの度合いは以下の通りです。
alert(警告) > notice(注意) > info(情報)

# kusanagi analyze
[全体]
(レベル:alert)
1年以上前のアーカイブがあります。削除してください。
対象ファイル:
/home/kusanagi/test_old.zip

1年以上前のダンプファイルがあります。削除してください。
対象ファイル:
/home/kusanagi/test_old.dump


(レベル:notice)
サイズの大きいファイルがあります。削除を検討してください。
対象ファイル:
/home/kusanagi/test.txt


[プロファイル名:analyzer_test]
(レベル:alert)
ドキュメントルート内にセキュリティ上問題となるファイル(.zip, .tar, .gz, .log, .sql, .dump, .php.xxx)が確認されました。削除するかドキュメントルート外に移動してください。
対象ファイル:
/home/kusanagi/analyzer_test/DocumentRoot/test.php.bak

uploadsのパーミッションが適切ではありません。ファイルオーナーはhttpd.www、パーミッションは0775に修正してください。

(レベル:notice)
ドキュメントルート内に phpinfo を含むコード、または phpMyAdmin が検出されました。クラッキングのセキュリティリスクがあり ますので、公開している環境では特に該当コード、ツールの利用を控えてください。
対象ファイル:
/home/kusanagi/analyzer_test/DocumentRoot/phpinfo.php

wp-config.phpに自動更新設定 FS_METHOD, FTP_HOST, FTP_USER, FTP_PASS のいずれかが見付かりませんでした。
次の値に設定してください。
FTP_METHOD: ftpext
FTP_HOST: localhost
FTP_USER: kusanagi
FTP_PASS: kusanagi initで--passwdに指定した値
未設定項目:
FTP_PASS


(レベル:info)
wp-config.phpがドキュメントルートの中にあります。
/home/kusanagi/analyzer_test/DocumentRoot/wp-config.php を /home/kusanagi/analyzer_test/wp-config.php に移動してください

wp-config.phpの接続情報DB_HOST, DB_NAME, DB_USER, DB_PASSWORDを使って接続を試みましたが、接続できませんでした。
次の値に設定してください。
DB_HOST: localhost
DB_NAME: kusanagi provisionで--dbnameに指定した値
DB_USER: kusanagi provisionで--dbuserに指定した値
DB_PASSWORD: kusanagi provisionで--dbpassに指定した値


analyze completed.

--output-archive を指定した場合は、
指定のパスに分析結果のアーカイブが作成されます。

# kusanagi analyze --output-archive /home/kusanagi/analyze.tar.gz
analyze completed.

container status

※このコマンドはKUSANAGI 9 Business Editionのみ利用可能です。
プロファイルのPHPコンテナの状態を表示します。nginx、MariaDBでのみ利用できます。
状態は以下のように表示されます。

  • PHPコンテナ名: PHPコンテナが有効な場合は、実行中のPHPコンテナを表示します。
  • off: PHPコンテナが有効ですが、何らかの理由で停止している場合はoffを表示します。
  • not installed: PHPコンテナが無効な場合は、not installedを表示します。

使用例

kusanagi container status kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの container を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi container status kusanagi_html
container is php80.
container completed.

container on

※このコマンドはKUSANAGI 9 Business Editionのみ利用可能です。
プロファイルのPHPコンテナを有効にします。nginx、MariaDBでのみ利用できます。

PHPコンテナとは、KUSANAGI仮想マシンで使用するPHP (ホストPHP) とは別のバージョンのPHPをプロファイルで実行する機能です。
ホストPHPを古いバージョンにしたまま特定のプロファイルのみ新しいバージョンを利用してテストしたり、逆にホストPHPを新しいバージョンにしても特定のプロファイルのみ古いバージョンのまま使い続けたりできます。

PHPコンテナには以下の注意事項があります。

  • PHPコンテナで実行するPHPはKUSANAGI Runs on Dockerのイメージです。1バージョンあたり約2GBのディスク容量が必要です。
  • PHPコンテナは kusanagi phpコマンド で再起動されません。個別に kusanagi container restartコマンド を実行する、または、kusanagi restartコマンド を実行してください。
  • WordPressを利用している場合、wp-config.php の FTP_HOST の値を localhost から仮想マシンのIPアドレスに変更してください。

使用例

kusanagi container on --use php80 kusanagi_html

オプション

--use {php82|
php81|
php80|
php74}
使用するPHPコンテナのバージョンを指定します。
php82を指定したときはPHP 8.2を、php81を指定したときはPHP 8.1を、php80を指定したときはPHP 8.0を、php74を指定したときはPHP 7.4を起動します。
use の指定が必須です。
[profile] profileを指定した場合、指定したプロファイルの container を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi container on --use php80 kusanagi_html
container completed.

container off

※このコマンドはKUSANAGI 9 Business Editionのみ利用可能です。
プロファイルのPHPコンテナを無効にします。nginx、MariaDBでのみ利用できます。

使用例

kusanagi container off kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの container を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi container off kusanagi_html
container completed.

container restart

※このコマンドはKUSANAGI 9 Business Editionのみ利用可能です。
プロファイルのPHPコンテナを再起動します。nginx、MariaDBでのみ利用できます。

使用例

kusanagi container restart kusanagi_html

オプション

[profile] profileを指定した場合、指定したプロファイルの container を操作します。
デフォルトはカレントのプロファイルを操作します。また、カレントがプロファイルではない場合はエラーになります。

実行例

# kusanagi container restart kusanagi_html
container completed.