KUSANAGI RoDの使い方(2)

宮﨑悟

「KUSANAGI RoD(以下RoD)についての説明の次回です。今回は、RoDで構築できる環境とその設定方法を紹介します。"kusanagi-docker provision"というコマンドを用いて、WordPressやLAMP、Drupalなど様々な種類の環境を生成することが可能です。オプション指定や環境変数指定で細かな設定も可能となっています。また、一部の注意事項についても触れます。次回は、生成後のターゲットディレクトリのファイルについて詳しく説明予定です。」

前回は、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, –WordPresswpWordPress
–lamplampLAMP環境
–c5, –concrete5c5Concrete5
–drupal, –drupal8drupalDrupal8
–drupal7drupalDrupal7

drupal/drupal8の場合は環境変数DRUPAL_VERSION=8が設定されます。drupal7 の場合は環境変数DRUPAL_VERSION=7と設定されます。環境変数DRUPAL_VERSIONが指定されていない場合、8 が指定されます。

WordPress構築時のオプション

WordPress構築では、WordPress環境のインストールからWordPressセットアップを行います。WordPressのセットアップの際に必要なオプションを指定可能です。デフォルト値が設定されているため、WordPressの初期画面でインストール操作をする必要がありません。

オプション環境変数デフォルト値説明
–wplang langWP_LANGen_USWordPressの言語設定を行います
–admin-user adminADMIN_USER自動生成Administrator権限のユーザ名を指定します
–admin-pass passADMIN_PASS自動生成Administrator権限ユーザのパスワードを指定します
–admin-email emailADMIN_EMAIL$ADMIN_USER@$FQDNAdministrator権限ユーザのメールアドレスを指定します
–wp-title titleWP_TITLEWordPressWordPressのタイトルを指定します
–kusanagi-passwd passKUSANAGI_PASS自動生成kusanagiユーザのパスワードを指定します
–no-ftp | –noftpNO_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|–httpdnginxWebサーバとしてnginxもしくは(Apache )httpdを使用します。2つのオプションを同時に使用できません
–http-port portHTTP_PORT80コンテナホストにフォワードするhttpポートを数字で指定します
–tls-port portHTTP_TLS_PORT443コンテナホストにフォワードするhttps(TLS)ポートを数字で指定します
–dbsystem mysql/mariadb/pgsql/postgrsqlKUSANAGI_DB_SYSTEMmysql使用するDBを、mysqlか pgsqlかを指定します
–dbhost host]DBHOSTlocalhost使用するDBホストを指定します。
–dbrootpass paswordDBROOTPASS自動生成DBのroot権限passwd を指定します
–dbname dbnameDBNAME自動生成使用するDB名を指定します
–dbuser usernameDBUSER自動生成使用するDBのユーザ名を指定します
–dbpass passwordDBPASS自動生成使用する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後に生成されるターゲットディレクトリ以下のファイルについて説明しようと思います。次回をお楽しみに。

<< KUSANAGI RoDの使い方(1)KUSANAGI RoDの使い方(3)(Dockerコラム) >>

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解