Vagrantとchefで簡単お手軽ローカル環境構築
以前からちょくちょくやっているVagrantですが、今回はapacheを動かし、
実際にローカル環境として動作するまでを書いていこうと思います。
- 目標~何が出来るようになるのか~
- 作業ディレクトリの作成
- cookbookをダウンロード
- Vagrantfileにcookbookを反映
- hostsファイルの設定
- 確認
以上のような流れで説明します。
目標~何が出来るようになるのか~
今回の概要を説明します。
ローカルでの開発環境の作成。
以上をすることで、基本的なwebアプリケーションを作るセッティングを行います。
MAMPのようなものを自分で作るというような感じです。
作業ディレクトリの作成
コマンドで次のように入力
mkdir project cd project
projectディレクトリを作成、移動。
vagrant init
Vagrant環境を設定
ここで前回VagrantでCI環境を作る ~その後~ - nigoblogまでできていると仮定します。
vim Vagrantfile
Vagrantfileの編集
Vagrant::Config.run do |config| config.vm.box = "CentOS-5.8" config.vm.network :hostonly, "192.168.33.10" end
ここまでは前回と同じです。ここからapache, php, mysqlをインストールしていきます。
ちなみにネットワークの設定もついでに行なっています。
cookbookをダウンロード
通常サーバーの環境構築はsshコマンドでサーバーに入り、
yumなどでアプリケーションをインストールしていきます。
しかし、chefを使えばVagrantfileを書きなおすだけでインストールやセットアップを自動化してくれます。
そこでまずはcookbookというものをインストールします。この段階では内容を知らなくても大丈夫です。
次のコマンドを入力します。
git clone git@github.com:opscode/cookbooks.git
するとcookbookが一気にダウンロードされます。
このcookbookから使いたいもののみを残します。
とりあえず
cookbooks/ apache2/ php/ mysql/
という状態にします。
これでcookbookの準備は完了。
次はVagrantfileで設定をします。
Vagrantfileにcookbookを反映
Vagrantfileを書き換え、cookbookを反映させます。
Vagrant::Config.run do |config| config.vm.box = "CentOS-5.8" config.vm.network :hostonly, "192.168.33.10" config.vm.provision :chef_solo do |chef| chef.cookbook_path = "cookbooks" chef.add_recipe("apache2") chef.add_recipe("php") chef.add_recipe("mysql") end end
これで
vagrant up
とすると、webサーバーが立ち上がります。
hostsファイルの設定
最後にhostsファイルを設定します。
これはmac本体の設定です。
cd
でユーザーのホームディレクトリへ
vim ../../etc/hosts
でhostsファイルを開きます。
そこで
192.168.33.10 vagrant.project.jp
と1行追加します。
以上簡単でしたがお手軽にローカル環境を構築しました。
確認
vagrant.project.jp
と入力します。
すると
以下のような画面が表示されます。
このようになればひとまずローカル環境は構築完了
詳しいapacheの設定などはまた別の機会で!!
今回の関連記事
VagrantでCI環境を作る ~その後~ - nigoblog
VagrantとかjenkinsとかchefとかでCI環境を構築する - nigoblog