chef-soloでリモートのサーバにインストールしてみる
CentOSにRuby2.1.1をインストールする
と
Vagrantを試してみる
の続き
chef-soloを使って、
VirtualBox上のCentOS64のサーバから
Vagrantで作成したCentOS64のリモートのサーバに
PHPをインストールしてみる。
リモートのサーバの準備
Macのターミナルから、vagrantでリモートのサーバを用意する。
mac$ mkdir sample mac$ cd sample mac$ vagrant init centos64
IPアドレスを設定する。
mac$ vi Vagrantfile config.vm.network "private_network", ip: "192.168.33.10" ←コメントを解除
サーバを起動する。
mac$ vagrant up
chef/knife-soloのインストール
VirtualBoxのCentOS64のサーバ上で、
gemでchefをインストールして、knifeの設定を行い、knife soloをインストールする。
$ sudo gem install chef $ knife configure $ sudo gem install knife-solo
リモートのサーバにインストールする際、rsyncが必要になるので、入れておく。
$ sudo yum install rsync
リモートサーバへのphpのインストール
knife-soloでリポジトリを作成する。
$ knife solo init chef-repo
$ cd chef-repo/
knife-soloで、リモートのサーバにchefの環境をセットアップする。
$ knife solo prepare vagrant@192.168.33.10
cookbookを作成し、PHPをインストールするよう記述する。
$ knife cookbook create php -o site-cookbooks
$ vi site-cookbooks/php/recipes/default.rb package "php" do action :install end
$ vi nodes/192.168.33.10.json { "run_list" : [ "recipe[php]" ] }
リモートのサーバへのインストールを実施する。
この時、10回くらいパスワード入力を求められるが頑張る。
$ knife solo cook vagrant@192.168.33.10
リモートにログインして、確認すると、PHPが入っている。
$ ssh vagrant@192.168.33.10
vagrant$ php -v PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies