kusanagi RoDでブログ構築(2)

前回はVPSの設定について説明しました。
今回はKUSANAGI RoDのインストールについて説明します。

KUSANAGI RoDの詳細は下記を参照ください。

KUSANAGI RoDのインストール

$ curl https://raw.githubusercontent.com/prime-strategy/kusanagi-docker/master/install.sh | bash 

ドメインの設定(DNS)

私はConohaのVPSを契約したので、その方法を説明します。

  • Conohaのコントロールパネル > DNS
  • 「+ドメイン」というボタンを押下して取得しているドメインを入力する。
  • プルダウンボタンを押下する
  • 鉛筆ボタンを押下してタイプ列の+ボタンを押下して下記を入力する。
    • タイプ:A
    • 名称:@
    • TTL:3600
    • 値:(VPSのIPアドレス)

dockerネットワークの作成

プロキシサーバーと各コンテナ間のネットワークを作成します。

$ docker network create --driver bridge common_link

KUSANAGI RoDでWordPressのインストール

docker用設定変更

実行すると、次のようにエラーログが出力されました。

$ kusanagi-docker provision --fqdn wp.localhost wordpress
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
ERROR: Failed.

上記によると2つの解決策があります。

  1. sudoで実行
  2. group作成

1.は実行するとkusanagi-dockerが見つからないとエラーになるため、2.で解決することにします。

  • dockerグループにログインユーザを追加します。
$ sudo usermod -aG docker $USER
  • logoutしてloginし直します。

kusanagi-dockerコマンドのヘルプ

$ kusanagi-docker --help
///////////////////////////////////////////////////
High-Performance WordPress VirtualMachine
///////////////////////////////////////////////////
     __ ____  _______ ___    _   _____   __________
    / //_/ / / / ___//   |  / | / /   | / ____/  _/
   / ,< / / / /\__ \/ /| | /  |/ / /| |/ / __ / /
  / /| / /_/ /___/ / ___ |/ /|  / ___ / /_/ // /
 /_/ |_\____//____/_/  |_/_/ |_/_/  |_\____/___/

KUSANAGI-DOCKER CLI Subcommand inforamtion
Manual : http://en.kusanagi.tokyo/document/command/
---------------------
- help -
# kusanagi-docker [-h | --help | help]
show this snippet.
# kusanagi-docker [-V|--version]
show this version
---------------------
- create/remove target -
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]
remove [-y] [target]
- configuration (runs on target dir) -
ssl [options]
    [--cert file --key file]
    [--redirect|--noredirect]
    [--hsts [on|off]]
    [--oscp [on|off]]
    [--ct [on|off]]
    [--help|help]
config command
    bcache [on|off]
    fcache [on|off]
    pull
    push
    dbdump [file]
    dbrestore [file]
    backup
    restore
    [--help|help]
wp [wpcli commands]
import/export
---------------------
- status (runs on target dir) -
start|stop|restart|status
----------------------
INFO: Done.

provision実行

それぞれの項目を適宜変更してください。

下記の指定だとオプション指定がどれも反映されませんでした。
★は環境に合わせて入力してください。

$ 
kusanagi-docker provision --fqdn fqdnname wordpress --wp --wplang=ja --wp-title="ブログタイトル" --dbname=★ --dbuser=★ --dbpass=★ --admin-user=★ --admin-pass=★ --admin-email="★" --kusanagi-pass=★ --http-port=★ --tls-port=★

targetのディレクトリ名をkusanagi01とし、いろいろと順番の入れ替えをすることで、オプション指定が効くようになりました。
オプション指定が効くようになったものを記載します。

$ 
kusanagi-docker provision --wp --admin-email=★ --wplang=ja --admin-user=★ --admin-pass=★ --kusanagi-pass=★ --dbname=★ --dbuser=★ --dbpass=★ --fqdn=★ kusanagi01 

設定確認

target(kusanagi01)直下にある下記のファイルで見れます。

  • .kusanagi.db
  • .kusanagi.httpd
  • .kusanagi.mysql
  • .kusanagi.wp

yamlファイルで上記が設定ファイルとして指定されています。

時刻設定

  • dockerの時刻はデフォルトでutcなので、ローカルタイムを使う設定にします。
  • kusanagi01_httpdのvolumesで下記の記述を追加します。
      - /etc/localtime:/etc/localtime:ro