在Chef中安装Apache

Contents

目录

    1. 首先

 

    1. 执行环境

 

    1. 步骤

 

    总结

首先

最近我终于开始学习使用Chef。
虽然我还不太熟悉它的使用方法,但我想要通过Chef来逐步实现环境的自动化搭建。
首先,我会尝试使用Chef来进行Apache的安装步骤。

假设已经安装了bundle、ruby和vagrant。

执行环境

    • Mac:10.9.5

 

    • ruby:ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin13.0]

 

    vagrant box:opscode-centos-5.11-i386(Chef社のBentoで公開されているboxを使いました。)

步骤

创建工作目录并进行移动。
初始化bundle并生成Gemfile。

bundle init

编辑生成的Gemfile以安装knife-solo和berkshelf。

gem 'knife-solo'
gem 'berkshelf', 2.0.16"

安装gem

bundle install

初始化vagrant。

vagrant init

编辑Vagrantfile文件。
省略使用box指定。
使用private_network指定,以便从主机上可以确认。

config.vm.network "private_network", ip: 192.168.33.10"

创建虚拟环境

vagrant up

将Knife Solo进行初始化。暂时将当前目录设置为Chef的存储库。

knife solo init .

要使来宾能够通过SSH登录。

vagrant ssh-config --host webdb >> ~/.ssh/config

在这个设置下

ssh webdb

使得客人可以通过SSH登录。
使用Knife Solo Bootstrap在客人一侧安装Chef。

knife solo bootstrap webdb

在主机上创建一个用于安装Apache的cookbook。

knife cookbook create apache -o site-cookbooks

编辑 nodes/webdb.json 文件,将其下的 apache 配方设置为节点目标。

  "run_list": [
       "recipe[apache]"
  ]

在service上安装后,创建apache安装的步骤。

package "httpd" do
     action :install
end

service "httpd" do
     action [ :enable, :start]
end

在客人端执行菜谱。

knife solo cook webdb

如果成功,访问 http://192.168.33.10/,显示 Apache 的默认页面。

スクリーンショット_apache.png

总结

暂时先到这里吧,就今天来说。
但仅仅安装还远远不够。
如果要安装apache,还想创建一个特定的子域名,并对其进行基本的认证。
接下来,我们会继续研究Chef的使用方法。

请参阅

《Chef实践入门:基于代码的基础架构自动化》

bannerAds