VirtualBox & Vagrant & Chef-solo 導入メモ

More than 5 years have passed since last update.


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の登録



  1. vagrant box add CentOS_6.3_x86_64_minimal *url* で登録

  2. 適当なディレクトリを作成しその中に移動。vagrant init CentOS_6.3_x86_64_minimalで初期化


  3. 作成されたVagrantfileの以下の部分を変更。共有フォルダ(つまりホストのMac)でソースは管理して、ゲストOSからその共有ホルダを見に行く構成にしてみた。今回はApacheとPHPのため、/var/www/htmlを使っている。


    Vagrantfile

    config.vm.network :private_network, ip: "192.168.33.10"
    
    config.vm.synced_folder "../www", "/var/www/html", :extra => "dmode=777,fmode=666"



  4. vagrant upで起動


  5. 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インストール


  1. これはgemから。ただそのままだとこれまたバージョンが古いので、gem install chef-solo --preで新しいヤツをクレと要求する。


  2. knife configureで設定。色々聞かれるけど、全部初期値(リターン押しまくり)でOKっぽい。


Chefのレシピとか


  1. Chefのレシピを入れるリポジトリ。まだ良くわかってないので、とりあえず一つのリポジトリ(=ディレクトリ)で全部を管理してみようと思う。


  2. knife solo init chef-repoでリポジトリを作成。現在のディレクトリにchef-repoというディレクトリができて、その下になんだかファイルがたくさんできる。


  3. knife solo prepare 192.168.33.10で初期化。knife solo init 192.168.33.10もやったかもしれないし、やってないかもしれない。忘れた。やっておけばいいと思う。


  4. knife cookbook create seezoo -o site-cookbooksで、seezoo用のCookbookを作った。そう。今回はこの国産CMSで、色々と試すためにやったんだ。それと-oオプションで出力ディレクトリsite-cookbooksを指定している。cookbooksディレクトリは、インポートしたサードパーティ製のレシピなどを入れるといいらしい。


さぁ!あとは試行錯誤だ!

ちなみに、sngmrはこんな感じになってます。site-cookbooksディレクトリのseezooディレクトリを見てください。

https://github.com/sngmr/Chef-Repo