KUSANAGI を Vagrant 上で動かしてみる
ここです
プライムストラテジー社公式の KUSANAGI for Vagrant もあるんですが、当方のは素の CentOS からインストールしていきます。
きっかけ
サーバーは kusanagi を使用していますので WordPress のコンテンツ作成は kusanagi 上で動くことを確認してくださいってコンテンツ屋さんには伝えるんです、でも
- kusanagi ってなに
- kusanagi はわかった。で、環境構築どうやってやるの
っていう質問がくるのはめにみえていて、ここみて、的なものが欲しかったのです。
特徴
bento/centos-7.6 から、kusanagi 必要パッケージとかファイルをスクリプトで追加していきます。スクリプト見れば、素の CentOS から何を追加すれば kusanagi サーバーになるのかがよくわかると思います。
プライムストラテジー社公式 KUSANAGI for Vagrant も同じようなことができるのですが、こちらはあらかじめ全部インストールされているイメージをダウンロードするだけです。
kusanagi 環境が VM イメージ提供だけな理由を考えてみる
なんで yum レポジトリの設定 → yum install で kusanagi コア rpm パッケージを入れる → kusanagi init という流れではなく、すべてインストールされた VM イメージなんでしょうか。営業的な理由で VM イメージ限定にしているのかはわかりませんが、VM イメージを見てみると、ああ、なるほどと、浮かび上がる問題として:
- 他のパッケージで作られるユーザーとかグループ(httpd, postgres)がある前提となっているが、kusanagi rpm パッケージでこれらユーザーがないと警告はしない。また、先行する rpm パッケージとして定義もされていない
- kusanagi rpm パッケージでしか使わないユーザー(kusanagi, apache)、グループ(www)を rpm パッケージで作成しない
- 独自の設定ファイル(/root/.my.cnf など)、または既存の設定の上書き(/etc/my.cnf.d/server.cnf など)がちりばめられているけど、kusanagi rpm パッケージで面倒は見ない。最悪 kusanagi init でエラーとなって初めて気づく
このへん rpm のインストール時に実行されるスクリプトで解決できると思いますので、kusanagi が VM イメージの提供のみの理由として kusanagi rpm の作りが粗いってことに帰結しそうです。
と、上記にあるように営業的な理由ですね(2019/4/9 追記)。