VirtualBox & Vagrant & Chef-solo 導入メモ
- ホストOS
- Mac OS 10.8.4
- ゲストOS
- CentOSが入れたい。PHPの開発環境が必要になったから作りたい。
VirtualBox
公式サイトからダウンロードした
Vagrant
公式ダウンロードからダウンロードした
Virtual BoxImage
http://www.vagrantbox.esからダウンロードさせてもらう。今回は CentOS 6.3 x86_64_minimal を選択した。
BoxImageの登録
-
vagrant box add CentOS_6.3_x86_64_minimal *url*
で登録 -
適当なディレクトリを作成しその中に移動。
vagrant init CentOS_6.3_x86_64_minimal
で初期化 -
作成された
Vagrantfile
の以下の部分を変更。共有フォルダ(つまりホストのMac)でソースは管理して、ゲストOSからその共有ホルダを見に行く構成にしてみた。今回はApacheとPHPのため、/var/www/html
を使っている。Vagrantfileconfig.vm.network :private_network, ip: "192.168.33.10" config.vm.synced_folder "../www", "/var/www/html", :extra => "dmode=777,fmode=666"
-
vagrant up
で起動 -
vagrant ssh
で接続
ホストOS(Mac)のSSH設定変更
Chef-soloを使うには、ssh 192.168.33.10
コマンドで、何も聞かれずにSSHログインできないといけないらしい。以下の設定を~/.ssh/config
に追加する。
Host 192.168.33.*
IdentityFile ~/.vagrant.d/insecure_private_key
User vagrant
Vagrantインストール
gemでもインストールしてみたけど、バージョンがかなり古かったから、結局Vagrant公式サイトからインストールした。
Chef-soloインストール
- これはgemから。ただそのままだとこれまたバージョンが古いので、
gem install chef-solo --pre
で新しいヤツをクレと要求する。 -
knife configure
で設定。色々聞かれるけど、全部初期値(リターン押しまくり)でOKっぽい。
Chefのレシピとか
- Chefのレシピを入れるリポジトリ。まだ良くわかってないので、とりあえず一つのリポジトリ(=ディレクトリ)で全部を管理してみようと思う。
-
knife solo init chef-repo
でリポジトリを作成。現在のディレクトリにchef-repo
というディレクトリができて、その下になんだかファイルがたくさんできる。 -
knife solo prepare 192.168.33.10
で初期化。knife solo init 192.168.33.10
もやったかもしれないし、やってないかもしれない。忘れた。やっておけばいいと思う。 -
knife cookbook create seezoo -o site-cookbooks
で、seezoo用のCookbookを作った。そう。今回はこの国産CMSで、色々と試すためにやったんだ。それと-o
オプションで出力ディレクトリsite-cookbooks
を指定している。cookbooks
ディレクトリは、インポートしたサードパーティ製のレシピなどを入れるといいらしい。
さぁ!あとは試行錯誤だ!
ちなみに、sngmrはこんな感じになってます。site-cookbooks
ディレクトリのseezoo
ディレクトリを見てください。