KUSANAGIコマンド

init

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

使用例

kusanagi init

パラメータ

--tz TZ タイムゾーンとして TZを指定します。この文字列は大文字小文字の区別を行いません。
また”Toky” のように一部の文字列だけ入力しても、合致する”Asia/Tokyo” という正しいタイムゾーンを設定します。
指定されたタイムゾーン文字列が複数のタイムゾーンに一致するときはエラーメッセージを表示します。
オプション--tzを指定しないときは、対話的にタイムゾーンを選択します。
--lang [en|ja] 使用言語の選択を行います。en もしくは ja を指定します。
enを指定すると英語ロケール(en_US.UTF-8)を、jaを指定すると日本語ロケール(ja_JP.UTF-8)を設定します。
--keyboard [en|ja] キーボードタイプの設定を行います。en もしくは ja を指定します。
オプション--keyboard enを指定すると英語キーボード(us配列)を、オプション--lang jaを指定すると日本語キーボード(jp106配列)を設定します。
オプション--keyboardを指定しないときは、対話的にキーボートタイプを設定します。
--passwd パスワード |
--kusanagi-pass パスワード
ユーザー kusanagi のパスワードとして指定したパスワードを設定します。
このオプション(--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)を指定しないときは、対話的にSSHユーザ鍵のパスフレーズを入力します。
--dbrootpass パスワード MySQLのrootパスワードとして指定したパスワードを設定します。
このパスワードには、「A~Z、a~z、0~9、.、!、#、%、+、_、-」の組み合わせからなる8文字以上の文字列を指定してください。
オプション --dbrootpass を指定しないときは、対話的にMySQLのrootパスワードを入力します。
--nginx | --httpd 起動するWebサーバを指定します。--nginx を指定したときは NGINXを、--httpdを指定したときは httpd(Apache2)を起動します。
オプション --nginx、--httpd を同時に場合は、最初に指定したオプションが有効になります。
オプション --nginx、--httpd 共に指定しない場合は、対話的に起動するWebサーバを選択します。
--hhvm | --php7 | --php5| --ruby24 起動するアプリケーションサーバを指定します。--hhvm を指定したときは HHVMを、--php7 を指定したときは PHP7を、--php5 を指定したときはPHP-FPM(PHP5)を起動します。
オプション --hhvm、--php7、--php5 を同時に場合は、最初に指定したオプションが有効になります。
オプション --hhvm、--php7、--php5 共に指定しない場合は、対話的に起動するアプリケーションサーバサーバを選択します。
オプション --ruby24を指定した場合は、Rubyのバージョンとして2.4.xを使用します。

実行例

『KUSANAGIの初期設定』参照


provision [profile]

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

使用例

kusanagi provision [options] profile

パラメータ

--WordPress|--wordpress WordPressをプロビジョンします。
下記の オプション --concrete5、-c5、--drupal8、--drupal、--lamp、--LAMPを指定しない場合もWordPressをプロビジョンします。
オプション --WordPress、--wordpress、--concrete5、-c5、--drupal8、--drupal、--lamp、--LAMP を複数指定した場合は、後から指定したオプションが有効になります。
--concrete5|--c5 Concrete5をプロビジョンします。
--drupal8|--drupal Drupal8をプロビジョンします。
--drupal7 Drupal7をプロビジョンします。
--lamp|--LAMP LAMP(Linux+NGINX+MySQL+PHP) もしくは LEMP(Linux+NGINX+MySQL+PHP)で使用するための設定のみをプロビジョンします。
--rails|--RubyonRails Ruby on Railsをプロビジョニングします
--wplang [en_US|ja] WordPressをプロビジョンするときのみ有効です。
en_US を指定すると、WordPress のインストール時に言語選択が可能になります。
ja を指定すると、WordPress 日本語版がインストールされます。
オプション--wplangを設定しない場合、対話的にen_USかjaを選択します。
--WooCommerce|--woo WordPressをプロビジョンするときのみ有効です。
オプション --WooCommerce もしくは --wooを指定すると、WordPressインストール時にWooCommerceプラグインおよびにStoreFrontテーマを同時にインストールします。
また、--wplang ja を設定しているとき、もしくは対話的インストールで日本語を選択したときは、WooCommerceの日本語パック、WooCommerce for Japan プラグイン、GMOペイメントプラグインを同時にインストールします。
--fqdn ホスト名 作成するプロファイルで使用するホスト名(FQDN)を指定します。指定されたホスト名は、Webサーバの設定ファイルおよび /etc/hosts ファイルに設定されます。
オプション--fqdnを指定しない場合、対話的にホスト名(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 を指定しない場合、対話的に Emailアドレスを入力します。
--dbname データベース名 指定したデータベース名で、データベースを新規作成します。
データベース名には、「A~Z、a~z、0~9、.、_、-」の組み合わせからなる3~64文字の文字列を指定してください。
オプション --dbname を指定しない場合、対話的にデータベース名を入力します。
--dbuser DBユーザー名 新規作成するデータベースへアクセスするためのDBユーザー名を指定します。
DBユーザー名には、「A~Z、a~z、0~9、.、_、-」の組み合わせからなる3~16文字の文字列を指定してください。
オプション--dbuserを指定しない場合、対話的にDBユーザー名を入力します。

--dbpass DBパスワード DBユーザに対応するパスワードとして指定したDBパスワードを設定します。
このDBパスワードには、「A~Z、a~z、0~9、.、!、#、%、+、_、-」の組み合わせからなる8文字以上の文字列を指定してください。
オプション --dbpass を指定しないときは、対話的にDBパスワードを入力します。
profile 任意のプロファイルを指定します。
プロファイルは、「A~Z、a~z、0~9、.、_、-」の組み合わせからなる3~24文字の文字列である必要があります。

実行例

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


status

現在のKUSANAGIにおける、カレントプロファイルの状態を表示します。

使用例

kusanagi status

パラメータ

なし

実行例

# kusanagi status                                                                                                                         
Profile: [プロファイル]
Type: WordPress
KUSANAGI Version 8.0.0
[VMイメージ名]

*** nginx ***
● 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 Wed 2016-09-07 11:51:22 JST; 6h ago

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

*** HHVM ***
● hhvm.service - HHVM virtual machine, runtime, and JIT for the PHP language
   Loaded: loaded (/etc/systemd/system/hhvm.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2016-09-07 11:51:22 JST; 6h ago

*** php-fpm ***
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

*** php7-fpm ***
● php7-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php7-fpm.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

*** Cache Status ***

fcache off
bcache off
Done

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

  • Profile

    カレントプロファイル。
  • Type

    カレントプロファイルのプロファイルタイプ(WordPress, concrete5, drupal8, lampのいずれかが入る)。
  • KUSANGI Version

    現在のKUSANAGIバージョン番号。
  • VMイメージ名

    使用するクラウドプロバイダ固有の文字列。
  • *** nginx ***

    NGINXのステータス。起動しているときは、Active行にrunning が表示される。
  • *** Apache2 ***

    Apache2(httpd)のステータス。起動しているときは、Active行にrunning が表示される。
  • *** HHVM ***

    HHVMのステータス。起動しているときは、Active行にrunning が表示される。
  • *** PHP-FPM ***

    PHP-FPM(PHP5)のステータス。起動しているときは、Active行にrunning が表示される。
  • *** PHP7 ***

    PHP7のステータス。起動しているときは、Active行にrunning が表示される。
  • fcache

    fcache がon か off かを表示する。
  • bcache

    bcache がon か off かを表示する。プロビジョンタイプがWordPress以外の場合、もしくはWordPressの初期設定を行っていない場合は表示されない。

warm-up

自身へのアクセスを複数回行う事でHHVMをウォームアップします。
※ HHVM の場合に有効です。

使用例

kusanagi warm-up

パラメータ

なし

実行例

# kusanagi warm-up
http:///  ############
Done.

target [profile]

kusanagi コマンドのカレントプロファイルを表示または変更します。

使用例

kusanagi target [profile]

パラメータ

profile

実行例

パラメータを省略すると、カレントプロファイルを表示します。

# kusanagi target
saya
Done.

プロファイルを指定すると、指定したプロファイルをカレントプロファイルとして設定します。
このとき存在しないプロファイル、初期設定を行っていないプロファイルを指定しても、設定に失敗します。

# kusanagi target saya
Target is changed to saya
Done.

update [plugin|cert {profile}]

KUSANAGI 専用プラグイン、あるいは Let’s Encrypt SSL証明書の更新を行います。

使用例

kusanagi update plugin
kusanagi update cert kusanagi_html

パラメータ

plugin | cert {profile}

実行例

カレントプロファイルのプラグインを更新します。プラグインが最新版の時は、何もしません。

# kusanagi update plugin
Done.

カレントプロファイルもしくは指定したプロファイルの、Let’s Encrypt SSL証明書を更新します。
Let’s Encrypt SSL証明書を発行していないときは、何もしません。

# kusanagi update cert kusanagi
Done.

remove [-y] [profile]

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

使用例

kusanagi remove
kusanagi remove -y kusanagi_html

パラメータ

[-y] -y を指定しない場合、設定ファイル、DocumentRoot、データベースを削除する際に、y/nを入力します。

-y を指定する場合、y/n を入力することなくすべて削除します。
[profile] profileを指定した場合、指定したプロファイルを削除します。profileを指定しない場合は、カレントプロファイルを削除します。

実行例

# kusanagi remove kusanagi_html
Remove kusanagi_html config files ? [y/n] y
Remove /home/kusanagi/kusanagi_html ? [y/n] y
Remove kusanagi_html database ? [y/n] y
Done.

nginx

nginxを使用に切り替えます。既にnginx を起動しているときは、nginxを再起動します。

使用例

kusanagi nginx

パラメータ

なし

実行例

# kusanagi nginx
use nginx
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
Done.

httpd

Apacheを使用に切り替えます。

使用例

kusanagi httpd

パラメータ

なし

実行例

# kusanagi httpd
use httpd
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
Removed symlink /etc/systemd/system/multi-user.target.wants/nginx.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
Done.

hhvm

HHVMを使用に切り替えます。既にHHVM を起動しているときは、HHVMを再起動します。

使用例

kusanagi hhvm

パラメータ

なし

実行例

# kusanagi hhvm
use hhvm
Removed symlink /etc/systemd/system/multi-user.target.wants/php7-fpm.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/hhvm.service to /etc/systemd/system/hhvm.service.
Done.

php7

php7を使用に切り替えます。既にphp7 を起動しているときは、php7を再起動します。

使用例

kusanagi php7

パラメータ

なし

実行例

# kusanagi php7
use php7
Removed symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/php7-fpm.service to /usr/lib/systemd/system/php7-fpm.service.
Done.

php-fpm

php-fpm(PHP7)を使用に切り替えます。既にphp-fpm を起動しているときは、php-fpmを再起動します。

使用例

kusanagi php-fpm

パラメータ

なし

実行例

# kusanagi php-fpm
use php-fpm
Removed symlink /etc/systemd/system/multi-user.target.wants/hhvm.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
Done.

ruby24

ruby24(Ruby2.4.x)を使用できるようにします。

使用例

kusanagi ruby24

パラメータ

なし

実行例

# kusanagi ruby24
use ruby24
Done.

restart

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

使用例

kusanagi restart

パラメータ

なし

実行例

# kusanagi restart
Done.

bcache

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

使用例

kusanagi bcache [on|off|clear]

パラメータ

引数なし bcacheの状態を表示します。
on bcacheをオンにします。
off bcacheをオフにします。
clear bcacheのキャッシュをクリアします。

fcache

fcacheのオン、オフ、クリアを操作します。オンにした場合nginx使用に切り替わります。

使用例

kusanagi fcache [on|off|clear]

パラメータ

引数なし fcacheの状態を表示します。
on fcacheをオンにします。nginx使用に切り替わります。
off fcacheをオフにします。
clear fcacheのキャッシュをクリアします。

configure

KUSANAGIの設定を最適化します。
KUSANAGIのセットアップ後にインスタンスの変更等行った場合に実行します。

使用例

kusanagi configure

パラメータ

なし


setting --fqdn FQDN [profile]

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

使用例

kusanagi setting --fqdn host.example.com saya

パラメータ

--fqdn 変更するホスト名をFQDN(Fully Qualified Domain Name)で指定します
profile 対象のプロファイルを入力します。省略時はカレントプロファイルを使用します。

ssl [options] [profile]

カレントプロファイルもしくは指定されたプロファイルに対して、SSLに関する設定を行います。

使用例

kusanagi ssl --email john@example.com saya

パラメータ

--email メールアドレス Let’s EncryptのSSL証明書を発行します。Let’s Encryptからの連絡に使用するメールアドレスを入力します。
Let’s Encrypt のSSL証明書の発行に成功したとき、SSL証明書の自動更新を有効化します。
--cert 証明書ファイル
--key 鍵ファイル
指定された証明書ファイルと鍵ファイルをコピーし、SSL証明書として設定します。
オプション --cert と --key は同時に設定する必要があります。
このオプションは、オプション --email と同時に使用できません。
--https [redirect|noredirect] HTTPからHTTPSに対する301 リダイレクトを設定します。
redirect を指定した場合は301 恒久的リダイレクトを指示するヘッダの送信を有効化します。
noredirect を指定した場合は301 恒久的リダイレクトを指示するヘッダの送信を有効化します。
--hsts [off|weak|mid|high] HSTS(HTTP Strict Transport Security)の設定を有効にします。
off : HSTS を無効にします。
weak: HSTSを有効にします。(指定したホスト名(FQDN)のサブドメインを含みません。)
mid : HSTSを有効にします。(指定したホスト名(FQDN)のサブドメインを含みます。Preload HSTSは使用しません。)
high: HSTSを有効にします。(指定したホスト名(FQDN)のサブドメインを含みます。Preload HSTSは使用します。)
high(Preload HSTSを使用する) を設定する場合、HSTS Preload リスト登録サイトにドメイン名を登録します。
一度highに設定した状態からhigh以外に設定するためには、オプション --hsts で設定変更するだけでなく、Preload HSTS の登録をメールベースで解除する必要があります。
詳細は、HSTS Preload リスト登録サイトの「Removal」の項目を参照してください。
--auto [on|off] Let’s Encryptの証明書の自動更新を有効化・無効化します。
on を指定すると、Let’s Encryptの証明書自動更新を有効化します。
off を指定すると、Let’s Encryptの証明書自動更新を無効化します。
このオプションは、Let’s Encrypt による証明書を使用していない場合、何も行いません。
--ct [on|off] [--no-register|--noregister] ターゲットに指定されたプロファイルに対し、SSL証明書の透明性(Certification Transparency)オプションを有効化・無効化します。
on を指定すると、SSL証明書の透明性オプションを有効化します。
off を指定すると、SSL証明書の透明性オプションを無効化します。
onを指定するとき、SSL証明書のSCT(Signed Certificate Timestamp)を生成し、ログサーバへの登録を行います。ただし、オプション --no-register もしくは --noregister を指定した場合は、SSL証明書のSCTを生成およびログサーバへの登録を行いません。
profile 対象のプロファイルを入力します。省略時はカレントプロファイルを使用します。

https [redirect|noredirect]

HTTPからHTTPSへの301 恒久的リダイレクトの設定を変更します。

kusanagi ssl --https [redirect|noredirect] と同じ設定を行います。

使用例

kusanagi https redirect


autorenewal [on|off]

Let’s Encryptの証明書の自動更新を有効化・無効化するオプションです。

kusanagi ssl --auto [on|off] と同じ設定を行います。

使用例

kusanagi autorenewal off


images [options] [profile]

指定したディレクトリ以下のJPEG/PNGファイルの最適化を行います。
このコマンドは、既存のJPEG/PNGファイルのサイズを小さくする目的で使用します。
対象ディレクトリ以下の、拡張子がjpg、jpeg、JPG、JPEG、png、PNGのすべてのファイルを対象とし、
画像サイズ、クオリティ、色数などを変換します。
何も引数を指定しない場合は、以下の引数を指定した場合と同じ動作をします。

kusanagi images --dir wp-contents/uploads --quality 80 --resize 1280x1024 --color 256 --user kusanagi:kusanagi --mode 0644

使用例

kusanagi images saya

パラメータ

--dir|--directory ディレクトリ1[:ディレクトリ2:…] 対象のディレクトリを指定します。複数ディレクトリを指定する場合は、”:”で区切って指定します。
ディレクトリとして、絶対パスと相対パスの両方を指定でき、ディレクトリ名が相対パスの場合は
指定したプロファイルのディレクトリ(/home/kusanagi/プロファイル名/DocumentRoot)からの相対パスになります。
このオプションを指定しない、または--dir|--directoryでディレクトリ名を指定しない場合は、wp-contents/uploadsが指定されます。
以下の例では、絶対パスと/home/kusanagi/saya/DocumentRootからの相対パスの2ディレクトリを対象ディレクトリとします。

kusnagi images --dir /home/kusanagi/kusanagi_html/DocumentRoot/wp-contents/themes:wp-contents/uploads saya
--jpg|--jpeg JPEGファイル(拡張子が.jpg、.jpeg、.JPG、.JPEGのファイル)のみを対象にします。
--pngオプションと同時に指定した場合もしくは両オプションを指定しない場合は、
JEPGファイルとPNGファイルの両方を対象にします。
--png PNGファイル(拡張子が.png、.PNGのファイル)のみを対象にします。
--jpg|--jpegオプションと同時に指定した場合もしくは両オプションを指定しない場合は、
JEPGファイルとPNGファイルの両方を対象にします。
--verbose 処理中のディレクトリ名、処理内容、処理中のファイル名などを表示します。
このオプションを指定しない場合は、処理内容のみを出力します。
対象ディレクトリに大量のファイルが有る場合、大量の出力が表示されるので注意して下さい。
--quality[1-100] JPEGファイル、PNGファイルのクオリティを指定します。
--qualityのあとには1-100の数値を指定でき、数値を指定しない場合は80が使用されます。
--qualityオプションを指定した場合、--resizeおよび--colorオプションの動作は指定しない限り省略されます。
オプション--quality/--resize/--colorを指定しない場合は、--quality 80を指定した場合と同じ動作をします。
--resize[WIDTHxHIGHT] JPEG・PNGファイルの最大サイズを指定し、指定したサイズ以上の画像を指定サイズにリサイズします。
このとき、アスペクト比を保ったままにリサイズされます。
--resizeのあとには幅(数値)x高さ(数値)を指定できでき、何も指定しない場合は1280×1024が使用されます。
--resizeオプションを指定した場合、--qualityおよび--colorオプションの動作は指定しない限り省略されます。
オプション--quality/--resize/--colorを指定しない場合は、--resize 1280×1024を指定した場合と同じ動作をします。
--color[1-256] PNGファイルの色数を指定した数のインデックスカラーに変換します。
--colorのあとには1-256の数値を指定でき、数値を指定しない場合は256が使用されます。
--colorオプションを指定した場合、--qualityおよび--resizeオプションの動作は指定しない限り省略されます。
オプション--quality/--resize/--colorを指定しない場合は、--color 256を指定した場合と同じ動作をします。
--strip このオプションを指定すると、JPEGファイルのコメントデータ(EXIF情報など)を削除し、
ファイルサイズを小さくします。
--owneruser[:group] kusanagi imagesを実行すると、対象ファイルのオーナーを書き換えます。
このオプションは置き換えるオーナーを設定します。このオプションでは、:の後に指定することで、
変更するオーナーとグループを同時に指定できます。
このオプションを指定しない場合、オーナー・グループとして、kusanagi:kusanagiが使用されます。
--mode [octet_value] kusanagi imagesを実行すると、対象ファイルのパーミションを書き換えます。
このオプションは置き換えるパーミションを8進数の数値(0644など)を設定します。
このオプションを指定しない場合、パーミションとして 0644 が使用されます。
profile 対象のプロファイルを入力します。省略時はカレントプロファイルを使用します。

zabbix [on|off]

Zabbix Version 3.0のエージェントを使用するかを変更するオプションです。
このオプションは上級者向けです。この機能を使用するには別途Zabbixサーバが必要となります。

使用例

kusanagi zabbix on

パラメータ

on Zabbix Version 3.0 エージェントを有効化し、また起動します。
off Zabbix Version 3.0 エージェントを無効化し、終了させます。

monit [on|off|config|reload]

monitによる監視を行うかどうかを変更するオプションです。デフォルトはonです。

使用例

kusanagi monit on

引数なし monitの起動の有無(on/off)を表示します
on monitを有効化し、起動します。
off monitを無効化し、停止します。
config monitの設定ファイルを生成します。
reload monitの設定を再読み込みします。