VagrantにLAMP(Linux+Apache+MySQL+PHP)環境を構築する Part.2

Part.2ではchefのrecipeを使ってみる

この記事は下記の続きです
VagrantにLAMP(Linux+Apache+MySQL+PHP)環境を構築する Part.1

1.作業のディレクトリの作成

作業用のディレクトリを作成します。

$ mkdir vagrant-lamp

2.Vagrantfileの生成

次に先程作成したディレクトリに移動して、Vagrantの初期設定コマンドを実行します。

$ cd vagrant-lamp
$ vagrant init chef/centos-6.5

これでvagrant-lampディレクトリ配下にVagrantfileが生成されました。
このVagrantfileを修正してプロビジョニングを行います。

3.SELinuxでrecipeを試す

まずSELinuxが有効になっているのを確認します。
一旦Vagrantfile修正前の状態でインスタンスを起動してみます。

  
$ vagrant up
$ vagrant ssh
$ getenforce
  

Berksfileを修正します。

まずはdevelopmentディレクトリに戻ります

$ cd ../

生成されたBerksfileには

site :opscode

と記述があると思いますが、vimなどで下記のように修正します。

source “https://api.berkshelf.com”

次に公開されているcookbookを記述して行きます。
https://supermarket.chef.io/cookbooks
ここから自分の環境に合わせたcookbookを探しBerksfileに追記します。

source "https://api.berkshelf.com"
cookbook 'selinux'

上記のようにBerksfileを編集したら

下記を実行しSELinuxのcookbookをダウンロードします。

$ berks vendor ./cookbooks

このときcookbooksディレクトリが存在している場合エラーになるので消します。
cookbooksディレクトリが存在している場合のみ下記を実行しディレクトリを一旦削除します。

$ rm -r ./cookbooks

Vagrantfileを修正します。

$ cd vagrant-lamp
$ vim Vagrantfile

まずはchefのプロビジョニングの設定
cookbooks、site-cookbooksディレクトリへのパスを指定
使用するレシピを指定

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = “chef/centos-6.5”
config.omnibus.chef_version = :latest
config.vm.provision “chef-solo” do |chef|
chef.cookbboks_path = [“../cookbooks”, “../site-cookbooks”]
chef.add_recipe “selinux::disabled”
end
end

上記の設定を再読み込みさせます。


$ vagrant reload --provision

SELinuxが無効になっていれば完了です。

$ vagrant ssh
$ getenforce
これでSELinuxをdisableにするrecipeを使いこなせるようになりました(多分)

コメントを残す

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

CAPTCHA