科学の箱

科学・IT・登山の話題

IT

chefをWindowsにインストールしてVagrantでHello Worldを実行するまでの手順

投稿日:2014年9月3日 更新日:

Chef

ChefをWindowsへインストールするときの手順はこちらで公開されている。今回のインストールはこのページを参考にして進めてみた。

こちらからChefのインストーラをダウンロードする。2014/9月時点で使ったのは11.4である。

rubyのバージョンを確認しておく。

$ ruby -v
ruby 1.9.3p484 (2013-11-22) [i386-mingw32]

chef 11.4はRuby 2.0とは互換性がない。こちらをみると対応するRubyのバージョンは1.8.7となっている。今回の環境ではRuby 1.9.3p484を使用した。

ダウンロードをしたインストーラを実行する。ひたすら”次へ”をクリックすればよい。インストール手順で難しい箇所はない。chefのインストールが失敗するとしたら手順ではなく、環境周りに問題がある可能性がたかい。

Chefのインストールが正常に完了したかを確認する。

$ chef-client --version
Chef: 11.12.8

Vagrant

VagrantはRubyで作られた仮想環境を取り扱うためのフロントエンドになる。Chefを利用して仮想環境を作るときにはフリーであること、インタフェースが用意されていることからVagrant+Virtual Boxを利用することが多い。”Chef実践入門”や”ドットインストール”はこれらの環境を使って記述されている。

VagrantはこちらからWindows版をダウンロードしてインストールする。インストールが完了したらVersionを確認して、正しくインストールされているかを確認する。

$ vagrant -v
Vagrant 1.6.4

Virtual Box

Virtual Boxはx86環境で利用できる仮想環境であり現在はOracleでメンテナンスされている。仮想環境としてはVMWare, Citrix, Microsoft Virtual PCなどがある。VagrantにはVirtual Boxのインタフェースがデフォルトでついてくる。この2つをインストールすればすぐに仮想環境を操作することができる。VMWare用のインタフェースは有償になる。

Virtual Boxをこちらからインストールする。

knife-soloその他

chefをインストールしているだけではリモートからのchefは実行できない。Chef Solo環境ではknife-soloを使いクックブックをリモートで実行できる。

knife-soloはgemでインストールする。

$ gem install knife-solo
$ knife -v
Chef: 11.12.8

インストールが環境したら”knife -v”で正しく完了したことを確認する。

Berkshelfをインストールする。Berkshelfはknife-soloで使うためのツールである。

$ gem install berkshelf

rsync/sshをインストールする

knife-soloコマンドの実行する際には、対象となるマシンにrsync/ssh経由で接続する。Windowsにはデフォルトではインストールされていないために下記のようなエラーがでる。

このマシンではすでにrsyncは別のアプリケーションで利用するためにインストールされていたが、sshがないためにrsyncがsshを実行する際にファイルがないといっている。

$ knife solo cook root@192.168.1.10
Running Chef on 192.168.1.10...
Checking Chef version...
Enter the password for root@192.168.1.10:
Uploading the kitchen...
rsync: Failed to exec ssh: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(84) [sender=3.0.7]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in IPC code (code 14) at io.c(603) [sender=3.0.7]
ERROR: RuntimeError: Failed to launch command ["rsync", "-rL", "--chmod=ugo=rwX", "--rsh=ssh root@10
.72.20.139", "--delete-after", "--exclude=revision-deploys", "--exclude=tmp", "--exclude=.git", "--e
xclude=.hg", "--exclude=.svn", "--exclude=.bzr", "/cygdrive/C/opscode/chef/embedded/lib/ruby/gems/1.
9.1/gems/knife-solo-0.4.2/lib/knife-solo/resources/patch_cookbooks/", ":~/chef-solo/cookbooks-1"]

Windowsでrsync/sshをインストールする方法は二通りある。一つはcwRsync経由でインストールるう。もう一つはcygwinから必要なモジュールを抜き出す。

cwRsyncはこちらからダウンロードして解凍する。解凍したファイルはそのままフォルダにまとめておく。フォルダに対して必ず優先的に読み込まれるようにパスの先頭に場所を書き込む。rsync/sshが別のアプリケーションでインストールされると間違って使われてしまうことがある。こうなると原因不明のエラーが出てしまいはまってしまう。

下記はcygwinを使うインストール方法だがこの方法ではうまくいかなかなった。参考までに記述しておく。

Windowsではrsync/sshをcygwinでインストールする。その手順をまとめておく。

まずcygwinをインストールする。

cygwinのインストールが完了したらcygwinのターミナルを開きsshとrsyncが利用できるかを確認する。

利用できるのが確認できたらrsyncとsshコマンドおよび関連するライブラリをパスが通った場所にコピーする。これによりcygwinターミナル以外のコマンドラインから両方のコマンドが利用できる。

関連するライブラリは15くらいある。コピー先でssh/rsyncを実行すれば見つからないというエラーで返ってくるので、そのdllを適宜コピーすればよい。

今回はコピーしたdllを参考のために記載しておく。

2013/01/01  17:33           459,293 cygasn1-8.dll
2012/11/05  06:43             9,757 cygcom_err-2.dll
2012/05/07  20:18             7,182 cygcrypt-0.dll
2012/09/01  19:13         1,551,872 cygcrypto-1.0.0.dll
2010/08/15  08:54            46,094 cyggcc_s-1.dll
2013/01/01  17:33           183,837 cyggssapi-3.dll
2013/01/01  17:33            10,781 cygheimbase-1.dll
2013/01/01  17:34            20,509 cygheimntlm-0.dll
2013/01/01  17:34           216,093 cyghx509-5.dll
2011/10/16  15:55            35,342 cygintl-8.dll
2013/01/01  17:34           381,469 cygkrb5-26.dll
2002/06/09  14:50            22,528 cygpopt-0.dll
2013/01/01  17:34            52,253 cygroken-18.dll
2012/08/09  04:27           579,101 cygsqlite3-0.dll
2011/10/26  13:26             8,206 cygssp-0.dll
2010/08/15  08:54           791,566 cygstdc++-6.dll
2010/08/31  16:00         2,648,181 cygwin1.dll
2013/01/01  17:34           160,797 cygwind-0.dll
2012/05/13  13:15            72,718 cygz.dll

Visual Studio 2010/2008 redistributableをインストールする

sshとrsyncをインストールしてもエラーが出ている場合にはこれらのモジュールから呼ばれるWindowsのライブラリがない可能性がある。下記からダウンロードしてインストールする。

ライブラリに関してはdependency walkerというアプリケーションがあるので必要なライブラリを確認する。

VS2010

VS2008

bsdtarのインストール

vagrant box addでbsdtarが見つからないというエラーがでた場合の対処

    box: Progress: 100% (Rate: 55.1M/s, Estimated time remaining: --:--:--)
The executable 'bsdtar' Vagrant is trying to run was not
found in the %PATH% variable. This is an error. Please verify
this software is installed and on the path.

bsdtarはVagrantと一緒にインストールされているがパスを通す必要がある。bsdtarは以下のディレクトリにある。

C:\HashiCorp\Vagrant\embedded\mingw\bin

PATH変数の最後に上記のパスを追加すればよい。

メタ情報

inarticle



メタ情報

inarticle



-IT
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Pinterestを使うためにとりあえず覚えておくこと

Pinterestと呼ばれるサービスが11月12日に日本語サービスを提供を開始、メディアでも大きく取り上げられている。 画像共有を主としたSNSサービスということはわかるが、いまいち他のSNSが画像共 …

no image

community cookbookを利用してmysqlをインストールする

community cookbookはberkshelfを使ってインストーする。まずberkshelfをインストーする gem install berks これでインストールされているが後でknife …

no image

muninのインストールと初期設定

インストール yum経由でインストールする。epelを有効にしておく。 yum –enablerepo=epel install munin ノードもインストールしておく。 yum –enable …

no image

vagrantをubuntuで利用するときのメモ

Vagratnt Vagrantはオープンソースで開発された仮想環境を効率良くインストールするためのツール。プラットフォームとしてはWindows, Linux, Macがある。対象とうなる仮想化ツー …

no image

PCMについて知っておくべき最低限のこと

PCMはPulse Code Modulationの略である。日本語ではパルス符号変調と呼ばれる。PCMはアナログで流されている音楽をデジタル化するために使用される。 PCMについてまずこの単語を分解 …

2014年9月
« 8月   10月 »
1234567
891011121314
15161718192021
22232425262728
2930  

side bar top



アーカイブ

カテゴリー