前回は、KUSANAGI RoD(以下RoD)の概要について説明しました。今回は、RoDで環境を生成するためのオプションについて説明しようと思います。
kusanagi-docker provision
kusanagi-docker の provision サブコマンドは、WordPressその他の環境を末尾に指定するディレクトリ(以下target)へ構築します。以下はprovisionサブコマンドのヘルプになります。
$ kusanagi-docker provision help
provision [options] --fqdn domainname target(like kusanagi.tokyo)
[--wp|--wordpress|--WordPress [WPOPTION]|
WPOPTION:
--wplang lang(like en_US, ja)]
[--admin-user admin] [--admin-pass pass] [--admin-email email]
[--wp-title title] [--kusanagi-pass pass] [--noftp|--no-ftp] |
--lamp|--c5|--concrete5|
--drupal|--drupal7|--drupal8]
[--nginx|--httpd]
[--http-port port][--tls-port port]
[--dbsystem mysql|mariadb|pgsql|postgrsql]
[--dbhost host]
[--dbrootpass pasword]
[--dbname dbname]
[--dbuser username]
[--dbpass password]
provisionサブコマンドで必須なのは、「–fqdn hostname」とtarget のみです。引数を利用するオプションは以下の2通りの指定の仕方が出来ます。
- –option value
- –option=value
また、各オプションは環境変数でも指定できます。指定の優先順位は、オプション指定>環境変数>デフォルト値となります。
provisionで構築できる環境
どの環境を構築するかは以下のオプションで指定します。以下のオプションは省略でき、省略した場合はWordPress環境が作成されます。以下のオプションは環境変数APPで指定可能です。
オプション | 環境変数値 | 作成環境 |
---|---|---|
–wp, –wordpress, –WordPress | wp | WordPress |
–lamp | lamp | LAMP環境 |
–c5, –concrete5 | c5 | Concrete5 |
–drupal, –drupal8 | drupal | Drupal8 |
–drupal7 | drupal | Drupal7 |
drupal/drupal8の場合は環境変数DRUPAL_VERSION=8が設定されます。drupal7 の場合は環境変数DRUPAL_VERSION=7と設定されます。環境変数DRUPAL_VERSIONが指定されていない場合、8 が指定されます。
WordPress構築時のオプション
WordPress構築では、WordPress環境のインストールからWordPressセットアップを行います。WordPressのセットアップの際に必要なオプションを指定可能です。デフォルト値が設定されているため、WordPressの初期画面でインストール操作をする必要がありません。
オプション | 環境変数 | デフォルト値 | 説明 |
---|---|---|---|
–wplang lang | WP_LANG | en_US | WordPressの言語設定を行います |
–admin-user admin | ADMIN_USER | 自動生成 | Administrator権限のユーザ名を指定します |
–admin-pass pass | ADMIN_PASS | 自動生成 | Administrator権限ユーザのパスワードを指定します |
–admin-email email | ADMIN_EMAIL | $ADMIN_USER@$FQDN | Administrator権限ユーザのメールアドレスを指定します |
–wp-title title | WP_TITLE | WordPress | WordPressのタイトルを指定します |
–kusanagi-passwd pass | KUSANAGI_PASS | 自動生成 | kusanagiユーザのパスワードを指定します |
–no-ftp | –noftp | NO_USE_FTP | 指定なし | ftpを使用しません。デフォルトではftpを使用します |
オプション–wplangで指定できる言語は、WordPressで使用できる言語全てです。オプション指定時は、使用できる言語以外の文字列が指定された場合エラーメッセージを出します。ただし、環境変数WP_LANGで指定した場合、文字列のチェックを行わないことに注意して下さい。
以下に指定できる言語の例を挙げます。
言語 | 説明 |
---|---|
de_DE | ドイツ語(ドイツ) |
en_US | 英語(US) |
en_GB | 英語(GB) |
es_ES | スペイン語(スペイン) |
fr_FR | フランス語(フランス) |
it_IT | イタリア語(イタリア) |
ja_JP | 日本語 |
ko_KR | 韓国語 |
pt_PT | ポルトガル語(ポルトガル) |
zh_CN | 中国語(中国) |
共通オプション
provisionサブコマンドでは、RoDで構築する環境をオプションを設定できます。
オプション | 環境変数 | デフォルト値 | 説明 |
---|---|---|---|
–nginx|–httpd | – | nginx | Webサーバとしてnginxもしくは(Apache )httpdを使用します。2つのオプションを同時に使用できません |
–http-port port | HTTP_PORT | 80 | コンテナホストにフォワードするhttpポートを数字で指定します |
–tls-port port | HTTP_TLS_PORT | 443 | コンテナホストにフォワードするhttps(TLS)ポートを数字で指定します |
–dbsystem mysql/mariadb/pgsql/postgrsql | KUSANAGI_DB_SYSTEM | mysql | 使用するDBを、mysqlか pgsqlかを指定します |
–dbhost host] | DBHOST | localhost | 使用するDBホストを指定します。 |
–dbrootpass pasword | DBROOTPASS | 自動生成 | DBのroot権限passwd を指定します |
–dbname dbname | DBNAME | 自動生成 | 使用するDB名を指定します |
–dbuser username | DBUSER | 自動生成 | 使用するDBのユーザ名を指定します |
–dbpass password | DBPASS | 自動生成 | 使用するDBNAMEに対応するパスワードを指定します |
いくつかのオプションについて、注意事項を補足します。
- –dbsystem にmysql/mariadbを指定した場合は「mysql」が、pgsql/postgresql を指定した場合は「pgsql」が指定されます。
- WordPressおよびDrupalは、mysql以外使用不可能です。そのためオプションや環境変数でpgsqlを指定した場合は、この指定は無視され必ずmysqlが使用されます。
- 環境変数KUSANAGI_DB_SYSTEMには、「mysql」と「pgsql」しか指定できません。
- –dbhost で指定したホスト、もしくはDBHOSTにlocalhost以外の文字列が指定した場合、外部のDBホストを使用するとみなします。外部DBホストを使用する場合、以下の注意事項および手順が発生します。
- DBコンテナを生成せず、DBROOTPASSは無視されます
- 外部のDBホストを使用する場合、予め接続するDBを用意します
- 用意したDBのDB名、DBユーザ名、DBパスワードをオプションもしくは環境変数で指定すます
- 3306ポートを使用して、PHPコンテナから接続を行います。コンテナホストが接続するDBホストに3306ポートで接続可能な状態にします
終わりに
今回は、kusanagi-docker provision で指定できるオプションとその注意事項について説明しました。次回は、provision後に生成されるターゲットディレクトリ以下のファイルについて説明しようと思います。次回をお楽しみに。