IDCFクラウド、CoreOSでKUSANAGI Runs on Docker

みなさま 明け……ごぶさたしております。特に何かあった訳ではなく、ただただサボっておりました。1ヶ月ちょいぶりの投稿です。

それでは早速、みんな大好きIDCFクラウドでCoreOS上にKUSANAGI Runs on Dockerをインストールして動かす方法です。

そもそもIDCFクラウドにはKUSANAGIのテンプレートあるのに、なんでこんなことしたのかと言うと300円でKUSANAGIを使いたかった、ただただそれだけです。Vagrantも同じ手順でOK。

 

ちなみにディスク容量5GBで下記の手順をすすめると、WordPressを起動する頃には残容量1GBちょいですので、用途に応じて変更してください。

なお、CoreOSもDockerも、ほぼ今日が初めて。なのでとりあえず動けばOK~な内容となっております。

 

それでは、まずはCoreOSのISOファイルのURLを下記ページのDownload Stable ISOのとこのリンクをコピーしてご準備ください。

https://coreos.com/os/docs/latest/booting-with-iso.html

 

IDCFクラウドにログインしてコンピューティング(仮想マシン)に進んでください。メニューのISOでISO作成をクリックしてください。

URLに先程コピーしたURLを貼り付けて、httpsのsを削除してください。その他は適当に入力して作成してください。

 

作ったISOのISO名のとこをクリックして、仮想マシン作成してください。仮想マシンが起動したら仮想マシン名のとこをクリックして、コンソール、コンソールアクセスをクリックしてください。

coreユーザーにパスワードを設定。

sudo passwd core

IPアドレスを確認。

ifconfig

コンソールでの作業は以上です。

 

SSH接続できるようにメニューのIPアドレスでIPアドレス名をクリックし、ファイアウォール、ポートフォワードの設定を行ってください。ついでに80も開けときましょう。

 

適当なSSHクライアンでユーザー名 core 、設定したパスワード、確認したIPアドレスで接続してください。

 

スーパーユーザーになって cloud-config.yml を作成します。

sudo -s
vi cloud-config.yml

下記をコピペ、hostname、username、公開鍵のとこは適当に修正。

#cloud-config
hostname: "hostname"
users:
 - name: "username"
   groups:
    - "sudo"
    - "docker"
   ssh-authorized-keys:
    - "ssh-rsa から始まる、あなたの公開鍵ファイルの中身をコピペ"

作ったファイルのチェックをするなら

coreos-cloudinit -validate=true -from-file=./cloud-config.yml

いよいよCoreOSをインストール

coreos-install -d /dev/sda -C stable -c cloud-config.yml

インストールが終わったら、一旦、パワーオフ

poweroff

仮想マシンからISOをデタッチ(アンマウント)する。

 

SSHクライアンの設定を cloud-config.yml で設定した username 及び対応する秘密鍵を使ってログインするように変更して接続。

Docker Composeのインストール、下記まとめてコピペでOK。

sudo -i
mkdir -p /opt/bin
curl -L https://github.com/docker/compose/releases/download/1.10.0/docker-compose-`uname -s`-`uname -m` > /opt/bin/docker-compose
chmod +x /opt/bin/docker-compose
exit
docker-compose -v # バージョン確認

 

KUSANAGI Runs on Dockerをインストールするための準備、これもまとめてコピペで……

git clone https://github.com/prime-strategy/kusanagi-docker.git
cd kusanagi-docker

 

docker-compose.yml を修正、FQDNのとこを適当に書き換え(IPアドレスも可)、php5のとこは不要なので削除。その他、PROFILE(名)、キャッシュの利用やDBのアカウント情報も必要なら修正してください。設定の詳細は KUSANAGI Runs on Docker – KUSANAGI でご確認ください。

vi docker-compose.yml

 

ようやくKUSANAGIをインストール

docker-compose up -d

 

ちょっと時間がかかって、最後に Starting kusanagi-○○っての4行が出力されたらインストール完了です。がまだしばらくは処理してるのでもうちょっと待ちましょう。

 

設定したFQDNまたはIPアドレスにWEBブラウザでアクセスしてください。見慣れたWordPressのインストール開始画面が表示されましたでしょうか?されない?手順通り設定されたのであれば、私にはちょっと……

 

docker-compose.yml で変更してなければDBの接続情報はデータベース名 wordpress、ユーザー名 user、パスワード password、データベースのホスト名 mysql です。最後のホスト名だけご注意ください。

これで一見、WordPressは動作します。がテーマやプラグインのインストールや更新ができません。またアップロードできるファイルのサイズが2MBまでです。

 

以下、その解決方法です。

 

kusanagi-dataの中?に移動します。先にdocker ps で kusanagi-dataのコンテナIDを調べてください。

docker ps
docker attach コンテナID(重複しなければ先頭数文字でOK)

 

wp-config.php に下記を追加。これでテーマやプラグインのインストール、更新ができるようになります。テーマやプラグインの設定が済んだら削除した方がいいのかもです。 wp-config.php は /home/kusanagi/PROFILE名/DocumentRoot にあります。

define(‘FS_METHOD’,’direct’);

 

kusanagi_http.confの修正。これで16MBまでのファイルをアップロードできます。

vi /etc/nginx/conf.d/kusanagi_http.conf
# server { client_max_body_size 16M; のままの場合の設定、もっと大きくするなら3箇所とも変更。
# location ~ [^/]\.php(/|$) に下記を追加
fastcgi_param PHP_VALUE “upload_max_filesize = 16M \n post_max_size=17M”;

 

kusanagi-dataコンテナから抜ける

exit

設定を反映させるために再起動

sudo reboot

 

起動または再起動したら下記コマンドでコンテナを起動してください。

cd kusanagi-docker
docker-compose up -d

docker-compose.yml で kusanagi-data と同じ様に他のコンテナにも restart: always を付けとけば勝手に起動するのかもしれませんが、未確認です。

 

 

本日は以上です。